diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml b/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml index 0000d5e2045..6c51448d7a3 100644 --- a/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml +++ b/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml @@ -22,243 +22,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + SELECT COUNT(*) FROM m_office + + + + + + + + + + + + + + + + SELECT COUNT(*) FROM m_office + + + + diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/initial-switch-changelog-tenant.xml b/fineract-provider/src/main/resources/db/changelog/tenant/initial-switch-changelog-tenant.xml index 130f9809006..69a407d2737 100644 --- a/fineract-provider/src/main/resources/db/changelog/tenant/initial-switch-changelog-tenant.xml +++ b/fineract-provider/src/main/resources/db/changelog/tenant/initial-switch-changelog-tenant.xml @@ -22,8 +22,7 @@ - - + diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema.xml deleted file mode 100644 index 97c96088b18..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema.xml +++ /dev/null @@ -1,9447 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_mariadb.sql b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_mariadb.sql new file mode 100644 index 00000000000..78e0024979c --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_mariadb.sql @@ -0,0 +1,4363 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +SET FOREIGN_KEY_CHECKS=0; + +CREATE TABLE `acc_accounting_rule` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `office_id` bigint(20) DEFAULT NULL, + `debit_account_id` bigint(20) DEFAULT NULL, + `allow_multiple_debits` tinyint(1) NOT NULL DEFAULT 0, + `credit_account_id` bigint(20) DEFAULT NULL, + `allow_multiple_credits` tinyint(1) NOT NULL DEFAULT 0, + `description` varchar(500) DEFAULT NULL, + `system_defined` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `FK_acc_accounting_rule_acc_gl_account_credit` (`credit_account_id`), + KEY `FK_acc_accounting_rule_acc_gl_account_debit` (`debit_account_id`), + KEY `FK_acc_accounting_rule_m_office` (`office_id`), + CONSTRAINT `FK_acc_accounting_rule_acc_gl_account_credit` FOREIGN KEY (`credit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_acc_accounting_rule_acc_gl_account_debit` FOREIGN KEY (`debit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_acc_accounting_rule_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_gl_account` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `parent_id` bigint(20) DEFAULT NULL, + `hierarchy` varchar(50) DEFAULT NULL, + `gl_code` varchar(45) NOT NULL, + `disabled` tinyint(1) NOT NULL DEFAULT 0, + `manual_journal_entries_allowed` tinyint(1) NOT NULL DEFAULT 1, + `account_usage` tinyint(4) NOT NULL DEFAULT 2, + `classification_enum` smallint(6) NOT NULL, + `tag_id` int(11) DEFAULT NULL, + `description` varchar(500) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `gl_code` (`gl_code`), + KEY `FKGLACC000000002` (`tag_id`), + KEY `FK_ACC_0000000001` (`parent_id`), + CONSTRAINT `FKGLACC000000002` FOREIGN KEY (`tag_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_ACC_0000000001` FOREIGN KEY (`parent_id`) REFERENCES `acc_gl_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_gl_closure` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `office_id` bigint(20) NOT NULL, + `closing_date` date NOT NULL, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `createdby_id` bigint(20) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `comments` varchar(500) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `office_id_closing_date` (`office_id`,`closing_date`), + KEY `FK_acc_gl_closure_m_appuser` (`createdby_id`), + KEY `FK_acc_gl_closure_m_appuser_2` (`lastmodifiedby_id`), + KEY `FK_acc_gl_closure_m_office` (`office_id`), + CONSTRAINT `FK_acc_gl_closure_m_appuser` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_acc_gl_closure_m_appuser_2` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_acc_gl_closure_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_gl_financial_activity_account` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `gl_account_id` bigint(20) NOT NULL DEFAULT 0, + `financial_activity_type` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `financial_activity_type` (`financial_activity_type`), + KEY `FK_office_mapping_acc_gl_account` (`gl_account_id`), + CONSTRAINT `FK_office_mapping_acc_gl_account` FOREIGN KEY (`gl_account_id`) REFERENCES `acc_gl_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_gl_journal_entry` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `reversal_id` bigint(20) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `transaction_id` varchar(50) NOT NULL, + `loan_transaction_id` bigint(20) DEFAULT NULL, + `savings_transaction_id` bigint(20) DEFAULT NULL, + `client_transaction_id` bigint(20) DEFAULT NULL, + `reversed` tinyint(1) NOT NULL DEFAULT 0, + `ref_num` varchar(100) DEFAULT NULL, + `manual_entry` tinyint(1) NOT NULL DEFAULT 0, + `entry_date` date NOT NULL, + `type_enum` smallint(6) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `description` varchar(500) DEFAULT NULL, + `entity_type_enum` smallint(6) DEFAULT NULL, + `entity_id` bigint(20) DEFAULT NULL, + `created_by` bigint(20) DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `is_running_balance_calculated` tinyint(1) NOT NULL DEFAULT 0, + `office_running_balance` decimal(19,6) NOT NULL DEFAULT 0.000000, + `organization_running_balance` decimal(19,6) NOT NULL DEFAULT 0.000000, + `payment_details_id` bigint(20) DEFAULT NULL, + `share_transaction_id` bigint(20) DEFAULT NULL, + `transaction_date` date DEFAULT NULL COMMENT 'Unfinished. Not maintained.', + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `submitted_on_date` date NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_acc_gl_journal_entry_acc_gl_account` (`account_id`), + KEY `FK_acc_gl_journal_entry_acc_gl_journal_entry` (`reversal_id`), + KEY `FK_acc_gl_journal_entry_m_appuser` (`created_by`), + KEY `FK_acc_gl_journal_entry_m_appuser_2` (`last_modified_by`), + KEY `FK_acc_gl_journal_entry_m_client_transaction` (`client_transaction_id`), + KEY `FK_acc_gl_journal_entry_m_loan_transaction` (`loan_transaction_id`), + KEY `FK_acc_gl_journal_entry_m_office` (`office_id`), + KEY `FK_acc_gl_journal_entry_m_payment_detail` (`payment_details_id`), + KEY `FK_acc_gl_journal_entry_m_savings_account_transaction` (`savings_transaction_id`), + KEY `FK_acc_gl_journal_entry_m_share_account_transaction` (`share_transaction_id`), + KEY `transaction_date_index` (`transaction_date`), + KEY `FK_acc_gl_journal_entry_submitted_on_date` (`submitted_on_date`), + KEY `idx_acc_gl_journal_entry_transaction_id` (`transaction_id`), + CONSTRAINT `FK_acc_gl_journal_entry_acc_gl_account` FOREIGN KEY (`account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_acc_gl_journal_entry` FOREIGN KEY (`reversal_id`) REFERENCES `acc_gl_journal_entry` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_appuser` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_appuser_2` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_client_transaction` FOREIGN KEY (`client_transaction_id`) REFERENCES `m_client_transaction` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_loan_transaction` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_payment_detail` FOREIGN KEY (`payment_details_id`) REFERENCES `m_payment_detail` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_savings_account_transaction` FOREIGN KEY (`savings_transaction_id`) REFERENCES `m_savings_account_transaction` (`id`), + CONSTRAINT `FK_acc_gl_journal_entry_m_share_account_transaction` FOREIGN KEY (`share_transaction_id`) REFERENCES `m_share_account_transactions` (`id`), + CONSTRAINT `FK_journal_entry_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_journal_entry_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_gl_journal_entry_annual_summary` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `gl_code` varchar(45) NOT NULL, + `product_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `opening_balance_amount` decimal(19,6) NOT NULL, + `currency_code` varchar(3) NOT NULL, + `owner_external_id` varchar(100) DEFAULT NULL, + `manual_entry` tinyint(1) NOT NULL DEFAULT 0, + `year_end_date` date NOT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + `originator_external_ids` varchar(1000) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_annual_report_created_by` (`created_by`), + KEY `FK_annual_report_last_modified_by` (`last_modified_by`), + KEY `acc_gl_journal_entry_annual_summary_idx_1` (`gl_code`,`product_id`), + CONSTRAINT `FK_annual_report_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_annual_report_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_product_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `gl_account_id` bigint(20) DEFAULT NULL, + `product_id` bigint(20) DEFAULT NULL, + `product_type` smallint(6) DEFAULT NULL, + `payment_type` int(11) DEFAULT NULL, + `charge_id` bigint(20) DEFAULT NULL, + `financial_account_type` smallint(6) DEFAULT NULL, + `charge_off_reason_id` int(11) DEFAULT NULL, + `capitalized_income_classification_id` int(11) DEFAULT NULL, + `buydown_fee_classification_id` int(11) DEFAULT NULL, + `write_off_reason_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_acc_product_mapping_m_charge` (`charge_id`), + KEY `FK_acc_product_mapping_m_payment_type` (`payment_type`), + KEY `fk_acc_product_mapping_charge_off_reason` (`charge_off_reason_id`), + KEY `IND_acc_product_mapping_product_id` (`product_id`), + KEY `FK_acc_product_mapping_gl_account_id` (`gl_account_id`), + KEY `fk_acc_product_mapping_capitalized_income_classification` (`capitalized_income_classification_id`), + KEY `fk_acc_product_mapping_buydown_fee_classification` (`buydown_fee_classification_id`), + CONSTRAINT `FK_acc_product_mapping_gl_account_id` FOREIGN KEY (`gl_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_acc_product_mapping_m_charge` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `FK_acc_product_mapping_m_payment_type` FOREIGN KEY (`payment_type`) REFERENCES `m_payment_type` (`id`), + CONSTRAINT `fk_acc_product_mapping_buydown_fee_classification` FOREIGN KEY (`buydown_fee_classification_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `fk_acc_product_mapping_capitalized_income_classification` FOREIGN KEY (`capitalized_income_classification_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `fk_acc_product_mapping_charge_off_reason` FOREIGN KEY (`charge_off_reason_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `acc_rule_tags` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `acc_rule_id` bigint(20) NOT NULL, + `tag_id` int(11) NOT NULL, + `acc_type_enum` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `UNIQUE_ACCOUNT_RULE_TAGS` (`acc_rule_id`,`tag_id`,`acc_type_enum`), + KEY `FK_acc_accounting_rule_id` (`acc_rule_id`), + KEY `FK_m_code_value_id` (`tag_id`), + CONSTRAINT `FK_acc_accounting_rule_id` FOREIGN KEY (`acc_rule_id`) REFERENCES `acc_accounting_rule` (`id`), + CONSTRAINT `FK_m_code_value_id` FOREIGN KEY (`tag_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `batch_custom_job_parameters` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `parameter_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`parameter_json`)), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `c_account_number_format` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_type_enum` smallint(6) NOT NULL, + `prefix_type_enum` smallint(6) DEFAULT NULL, + `prefix_character` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `account_type_enum` (`account_type_enum`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `c_cache` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `cache_type_enum` tinyint(4) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `c_configuration` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `value` int(11) DEFAULT NULL, + `date_value` date DEFAULT NULL, + `string_value` varchar(100) DEFAULT NULL, + `enabled` tinyint(1) NOT NULL DEFAULT 0, + `is_trap_door` tinyint(1) NOT NULL DEFAULT 0, + `description` varchar(300) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `c_external_service` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `c_external_service_properties` ( + `name` varchar(150) NOT NULL, + `value` varchar(250) DEFAULT NULL, + `external_service_id` bigint(20) NOT NULL, + KEY `FK_c_external_service_properties_c_external_service` (`external_service_id`), + CONSTRAINT `FK_c_external_service_properties_c_external_service` FOREIGN KEY (`external_service_id`) REFERENCES `c_external_service` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `glim_accounts` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `group_id` bigint(20) NOT NULL DEFAULT 0, + `account_number` varchar(50) NOT NULL, + `principal_amount` decimal(19,6) NOT NULL DEFAULT 0.000000, + `child_accounts_count` int(11) NOT NULL, + `accepting_child` tinyint(1) NOT NULL DEFAULT 0, + `loan_status_id` smallint(6) NOT NULL DEFAULT 0, + `application_id` decimal(10,0) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `account_number` (`account_number`), + KEY `FK_group_id` (`group_id`), + CONSTRAINT `FK_group_id` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `gsim_accounts` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `group_id` bigint(20) NOT NULL DEFAULT 0, + `account_number` varchar(50) NOT NULL, + `parent_deposit` decimal(19,6) NOT NULL DEFAULT 0.000000, + `child_accounts_count` int(11) NOT NULL, + `accepting_child` tinyint(1) NOT NULL DEFAULT 0, + `savings_status_id` smallint(6) NOT NULL DEFAULT 0, + `application_id` decimal(10,0) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `account_number` (`account_number`), + KEY `FK_gsim_group_id` (`group_id`), + CONSTRAINT `FK_gsim_group_id` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `interop_identifier` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_id` bigint(20) NOT NULL, + `type` varchar(32) NOT NULL, + `a_value` varchar(128) NOT NULL, + `sub_value_or_type` varchar(128) DEFAULT NULL, + `created_by` varchar(32) NOT NULL, + `created_on` timestamp(6) NULL DEFAULT NULL, + `modified_by` varchar(32) DEFAULT NULL, + `modified_on` timestamp(6) NULL DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_interop_identifier_account` (`account_id`,`type`), + UNIQUE KEY `uk_interop_identifier_value` (`type`,`a_value`,`sub_value_or_type`), + KEY `fk_interop_identifier_account` (`account_id`), + CONSTRAINT `fk_interop_identifier_account` FOREIGN KEY (`account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `job` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `display_name` varchar(100) NOT NULL, + `cron_expression` varchar(20) NOT NULL, + `create_time` datetime(6) DEFAULT NULL, + `task_priority` smallint(6) NOT NULL DEFAULT 5, + `group_name` varchar(50) DEFAULT NULL, + `previous_run_start_time` datetime(6) DEFAULT NULL, + `next_run_time` datetime(6) DEFAULT NULL, + `job_key` varchar(500) DEFAULT NULL, + `initializing_errorlog` text DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `currently_running` tinyint(1) NOT NULL DEFAULT 0, + `updates_allowed` tinyint(1) NOT NULL DEFAULT 1, + `scheduler_group` smallint(6) NOT NULL DEFAULT 0, + `is_misfired` tinyint(1) NOT NULL DEFAULT 0, + `node_id` int(11) DEFAULT NULL, + `is_mismatched_job` tinyint(1) DEFAULT 1, + `short_name` varchar(8) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `short_name` (`short_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `job_parameters` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `job_id` bigint(20) NOT NULL, + `parameter_name` varchar(100) NOT NULL, + `parameter_value` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_job_id` (`job_id`), + CONSTRAINT `FK_job_id` FOREIGN KEY (`job_id`) REFERENCES `job` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `job_run_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `job_id` bigint(20) NOT NULL, + `version` bigint(20) NOT NULL, + `start_time` datetime(6) DEFAULT NULL, + `end_time` datetime(6) DEFAULT NULL, + `status` varchar(10) NOT NULL, + `error_message` text DEFAULT NULL, + `trigger_type` varchar(25) NOT NULL, + `error_log` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `scheduledjobsFK` (`job_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_account_transfer_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `from_office_id` bigint(20) NOT NULL, + `to_office_id` bigint(20) NOT NULL, + `from_client_id` bigint(20) DEFAULT NULL, + `to_client_id` bigint(20) DEFAULT NULL, + `from_savings_account_id` bigint(20) DEFAULT NULL, + `to_savings_account_id` bigint(20) DEFAULT NULL, + `from_loan_account_id` bigint(20) DEFAULT NULL, + `to_loan_account_id` bigint(20) DEFAULT NULL, + `transfer_type` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_account_transfer_details_from_client` (`from_client_id`), + KEY `FK_m_account_transfer_details_from_loan_account` (`from_loan_account_id`), + KEY `FK_m_account_transfer_details_from_office` (`from_office_id`), + KEY `FK_m_account_transfer_details_from_savings_account` (`from_savings_account_id`), + KEY `FK_m_account_transfer_details_to_client` (`to_client_id`), + KEY `FK_m_account_transfer_details_to_loan_account` (`to_loan_account_id`), + KEY `FK_m_account_transfer_details_to_office` (`to_office_id`), + KEY `FK_m_account_transfer_details_to_savings_account` (`to_savings_account_id`), + CONSTRAINT `FK_m_account_transfer_details_from_client` FOREIGN KEY (`from_client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_account_transfer_details_from_loan_account` FOREIGN KEY (`from_loan_account_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_m_account_transfer_details_from_office` FOREIGN KEY (`from_office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_account_transfer_details_from_savings_account` FOREIGN KEY (`from_savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `FK_m_account_transfer_details_to_client` FOREIGN KEY (`to_client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_account_transfer_details_to_loan_account` FOREIGN KEY (`to_loan_account_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_m_account_transfer_details_to_office` FOREIGN KEY (`to_office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_account_transfer_details_to_savings_account` FOREIGN KEY (`to_savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_account_transfer_standing_instructions` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(250) NOT NULL, + `account_transfer_details_id` bigint(20) NOT NULL, + `priority` tinyint(4) NOT NULL, + `status` tinyint(4) NOT NULL, + `instruction_type` tinyint(4) NOT NULL, + `amount` decimal(19,6) DEFAULT NULL, + `valid_from` date NOT NULL, + `valid_till` date DEFAULT NULL, + `recurrence_type` tinyint(4) NOT NULL, + `recurrence_frequency` smallint(6) DEFAULT NULL, + `recurrence_interval` smallint(6) DEFAULT NULL, + `recurrence_on_day` smallint(6) DEFAULT NULL, + `recurrence_on_month` smallint(6) DEFAULT NULL, + `last_run_date` date DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `FK_m_standing_instructions_account_transfer_details` (`account_transfer_details_id`), + CONSTRAINT `FK_m_standing_instructions_account_transfer_details` FOREIGN KEY (`account_transfer_details_id`) REFERENCES `m_account_transfer_details` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_account_transfer_standing_instructions_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `standing_instruction_id` bigint(20) NOT NULL, + `status` varchar(20) NOT NULL, + `execution_time` datetime(6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `error_log` varchar(500) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_account_transfer_standing_instructions_history` (`standing_instruction_id`), + CONSTRAINT `FK_m_account_transfer_standing_instructions_m_history` FOREIGN KEY (`standing_instruction_id`) REFERENCES `m_account_transfer_standing_instructions` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_account_transfer_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_transfer_details_id` bigint(20) NOT NULL, + `from_savings_transaction_id` bigint(20) DEFAULT NULL, + `from_loan_transaction_id` bigint(20) DEFAULT NULL, + `to_savings_transaction_id` bigint(20) DEFAULT NULL, + `to_loan_transaction_id` bigint(20) DEFAULT NULL, + `is_reversed` tinyint(1) NOT NULL, + `transaction_date` date NOT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `description` varchar(200) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_account_transfer_transaction_account_detail` (`account_transfer_details_id`), + KEY `FK_m_account_transfer_transaction_from_m_loan_transaction` (`from_loan_transaction_id`), + KEY `FK_m_account_transfer_transaction_from_m_savings_transaction` (`from_savings_transaction_id`), + KEY `FK_m_account_transfer_transaction_to_m_loan_transaction` (`to_loan_transaction_id`), + KEY `FK_m_account_transfer_transaction_to_m_savings_transaction` (`to_savings_transaction_id`), + CONSTRAINT `FK_m_account_transfer_transaction_account_detail` FOREIGN KEY (`account_transfer_details_id`) REFERENCES `m_account_transfer_details` (`id`), + CONSTRAINT `FK_m_account_transfer_transaction_from_m_loan_transaction` FOREIGN KEY (`from_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_m_account_transfer_transaction_from_m_savings_transaction` FOREIGN KEY (`from_savings_transaction_id`) REFERENCES `m_savings_account_transaction` (`id`), + CONSTRAINT `FK_m_account_transfer_transaction_to_m_loan_transaction` FOREIGN KEY (`to_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_m_account_transfer_transaction_to_m_savings_transaction` FOREIGN KEY (`to_savings_transaction_id`) REFERENCES `m_savings_account_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_address` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `street` varchar(100) DEFAULT NULL, + `address_line_1` varchar(100) DEFAULT NULL, + `address_line_2` varchar(100) DEFAULT NULL, + `address_line_3` varchar(100) DEFAULT NULL, + `town_village` varchar(100) DEFAULT NULL, + `city` varchar(100) DEFAULT NULL, + `county_district` varchar(100) DEFAULT NULL, + `state_province_id` int(11) DEFAULT NULL, + `country_id` int(11) DEFAULT NULL, + `postal_code` varchar(10) DEFAULT NULL, + `latitude` decimal(10,8) DEFAULT 0.00000000, + `longitude` decimal(10,8) DEFAULT 0.00000000, + `created_by` varchar(100) DEFAULT NULL, + `created_on` date DEFAULT NULL, + `updated_by` varchar(100) DEFAULT NULL, + `updated_on` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `address_fields_codefk1` (`state_province_id`), + KEY `address_fields_codefk2` (`country_id`), + CONSTRAINT `address_fields_codefk1` FOREIGN KEY (`state_province_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `address_fields_codefk2` FOREIGN KEY (`country_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_adhoc` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `query` varchar(2000) DEFAULT NULL, + `table_name` varchar(100) DEFAULT NULL, + `table_fields` varchar(1000) DEFAULT NULL, + `email` varchar(500) DEFAULT NULL, + `is_active` tinyint(1) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `createdby_id` bigint(20) NOT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `report_run_frequency_code` int(11) DEFAULT NULL, + `report_run_every` int(11) DEFAULT NULL, + `last_run` timestamp(6) NULL DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `createdby_id` (`createdby_id`), + KEY `lastmodifiedby_id` (`lastmodifiedby_id`), + CONSTRAINT `createdby_id` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `lastmodifiedby_id` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_appuser` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `office_id` bigint(20) DEFAULT NULL, + `staff_id` bigint(20) DEFAULT NULL, + `username` varchar(100) NOT NULL, + `firstname` varchar(100) NOT NULL, + `lastname` varchar(100) NOT NULL, + `password` varchar(255) NOT NULL, + `email` varchar(100) NOT NULL, + `firsttime_login_remaining` tinyint(1) NOT NULL, + `nonexpired` tinyint(1) NOT NULL, + `nonlocked` tinyint(1) NOT NULL, + `nonexpired_credentials` tinyint(1) NOT NULL, + `enabled` tinyint(1) NOT NULL, + `last_time_password_updated` date NOT NULL DEFAULT '1970-01-01', + `password_never_expires` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'define if the password, should be check for validity period or not', + `cannot_change_password` tinyint(1) DEFAULT 0, + `password_reset_required` tinyint(1) NOT NULL DEFAULT 0, + `failed_login_attempts` int(11) NOT NULL DEFAULT 0, + `is_login_retries_enabled` tinyint(1) NOT NULL DEFAULT 0, + `temporary_password` varchar(255) DEFAULT NULL, + `temporary_password_expiry_time` datetime DEFAULT NULL, + `is_password_reset_enabled` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `username_org` (`username`), + KEY `FKB3D587CE0DD567A` (`office_id`), + KEY `fk_m_appuser_002x` (`staff_id`), + KEY `last_time_password_updated` (`last_time_password_updated`), + CONSTRAINT `FKB3D587CE0DD567A` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `fk_m_appuser_002` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_appuser_previous_password` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) NOT NULL, + `password` varchar(255) NOT NULL, + `removal_date` date NOT NULL, + PRIMARY KEY (`id`), + KEY `user_id` (`user_id`), + CONSTRAINT `m_appuser_previous_password_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_appuser_role` ( + `appuser_id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL, + PRIMARY KEY (`appuser_id`,`role_id`), + KEY `FK7662CE5915CEC7AB` (`role_id`), + KEY `FK7662CE59B4100309` (`appuser_id`), + CONSTRAINT `FK7662CE5915CEC7AB` FOREIGN KEY (`role_id`) REFERENCES `m_role` (`id`), + CONSTRAINT `FK7662CE59B4100309` FOREIGN KEY (`appuser_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_batch_business_steps` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `job_name` varchar(100) NOT NULL, + `step_name` varchar(100) NOT NULL, + `step_order` smallint(6) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_business_date` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `type` varchar(100) NOT NULL, + `date` date NOT NULL, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `type` (`type`), + KEY `FK_business_date_created_by` (`created_by`), + KEY `FK_business_date_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_business_date_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_business_date_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_calendar` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `title` varchar(70) NOT NULL, + `description` varchar(100) DEFAULT NULL, + `location` varchar(50) DEFAULT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `duration` smallint(6) DEFAULT NULL, + `calendar_type_enum` smallint(6) NOT NULL, + `repeating` tinyint(1) NOT NULL DEFAULT 0, + `recurrence` varchar(100) DEFAULT NULL, + `remind_by_enum` smallint(6) DEFAULT NULL, + `first_reminder` smallint(6) DEFAULT NULL, + `second_reminder` smallint(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `meeting_time` time DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_calendar_created_by` (`created_by`), + KEY `FK_calendar_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_calendar_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_calendar_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_calendar_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `calendar_id` bigint(20) NOT NULL, + `title` varchar(70) NOT NULL, + `description` varchar(100) DEFAULT NULL, + `location` varchar(50) DEFAULT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `duration` smallint(6) DEFAULT NULL, + `calendar_type_enum` smallint(6) NOT NULL, + `repeating` tinyint(1) NOT NULL DEFAULT 0, + `recurrence` varchar(100) DEFAULT NULL, + `remind_by_enum` smallint(6) DEFAULT NULL, + `first_reminder` smallint(6) DEFAULT NULL, + `second_reminder` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_calendar_m_calendar_history` (`calendar_id`), + CONSTRAINT `FK_m_calendar_m_calendar_history` FOREIGN KEY (`calendar_id`) REFERENCES `m_calendar` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_calendar_instance` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `calendar_id` bigint(20) NOT NULL, + `entity_id` bigint(20) NOT NULL, + `entity_type_enum` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_calendar_m_calendar_instance` (`calendar_id`), + KEY `idx_m_calendar_instance_entity_id_entity_type` (`entity_id`,`entity_type_enum`), + CONSTRAINT `FK_m_calendar_m_calendar_instance` FOREIGN KEY (`calendar_id`) REFERENCES `m_calendar` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_cashier_transactions` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `cashier_id` bigint(20) NOT NULL, + `txn_type` smallint(6) NOT NULL, + `txn_amount` decimal(19,6) NOT NULL, + `txn_date` date NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `entity_type` varchar(50) DEFAULT NULL, + `entity_id` bigint(20) DEFAULT NULL, + `txn_note` varchar(200) DEFAULT NULL, + `currency_code` varchar(3) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `IK_m_teller_transactions_m_cashier` (`cashier_id`), + CONSTRAINT `FK_m_teller_transactions_m_cashiers` FOREIGN KEY (`cashier_id`) REFERENCES `m_cashiers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_cashiers` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `staff_id` bigint(20) DEFAULT NULL, + `teller_id` bigint(20) DEFAULT NULL, + `description` varchar(100) DEFAULT NULL, + `start_date` date DEFAULT NULL, + `end_date` date DEFAULT NULL, + `start_time` varchar(10) DEFAULT NULL, + `end_time` varchar(10) DEFAULT NULL, + `full_day` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `IK_m_cashiers_m_staff` (`staff_id`), + KEY `IK_m_cashiers_m_teller` (`teller_id`), + CONSTRAINT `FK_m_cashiers_m_staff` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`), + CONSTRAINT `FK_m_cashiers_m_teller` FOREIGN KEY (`teller_id`) REFERENCES `m_tellers` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `charge_applies_to_enum` smallint(6) NOT NULL, + `charge_time_enum` smallint(6) NOT NULL, + `charge_calculation_enum` smallint(6) NOT NULL, + `charge_payment_mode_enum` smallint(6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `fee_on_day` smallint(6) DEFAULT NULL, + `fee_interval` smallint(6) DEFAULT NULL, + `fee_on_month` smallint(6) DEFAULT NULL, + `is_penalty` tinyint(1) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `min_cap` decimal(19,6) DEFAULT NULL, + `max_cap` decimal(19,6) DEFAULT NULL, + `fee_frequency` smallint(6) DEFAULT NULL, + `is_free_withdrawal` tinyint(1) NOT NULL DEFAULT 0, + `free_withdrawal_charge_frequency` int(11) DEFAULT 0, + `restart_frequency` int(11) DEFAULT 0, + `restart_frequency_enum` int(11) DEFAULT 0, + `is_payment_type` tinyint(1) DEFAULT 0, + `payment_type_id` int(11) DEFAULT NULL, + `income_or_liability_account_id` bigint(20) DEFAULT NULL, + `tax_group_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `FK_m_charge_acc_gl_account` (`income_or_liability_account_id`), + KEY `FK_m_charge_m_tax_group` (`tax_group_id`), + KEY `FK_m_payment_detail_m_payment_types` (`payment_type_id`), + CONSTRAINT `FK_m_charge_acc_gl_account` FOREIGN KEY (`income_or_liability_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_m_charge_m_tax_group` FOREIGN KEY (`tax_group_id`) REFERENCES `m_tax_group` (`id`), + CONSTRAINT `FK_m_payment_detail_m_payment_types` FOREIGN KEY (`payment_type_id`) REFERENCES `m_payment_type` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_no` varchar(20) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `status_enum` int(11) NOT NULL DEFAULT 300, + `sub_status` int(11) DEFAULT NULL, + `activation_date` date DEFAULT NULL, + `office_joining_date` date DEFAULT NULL, + `office_id` bigint(20) NOT NULL, + `transfer_to_office_id` bigint(20) DEFAULT NULL, + `staff_id` bigint(20) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `middlename` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `fullname` varchar(160) DEFAULT NULL, + `display_name` varchar(160) DEFAULT NULL, + `mobile_no` varchar(50) DEFAULT NULL, + `is_staff` tinyint(1) NOT NULL DEFAULT 0, + `gender_cv_id` int(11) DEFAULT NULL, + `date_of_birth` date DEFAULT NULL, + `image_id` bigint(20) DEFAULT NULL, + `closure_reason_cv_id` int(11) DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `updated_by` bigint(20) DEFAULT NULL, + `updated_on` date DEFAULT NULL, + `submittedon_date` date DEFAULT NULL, + `activatedon_userid` bigint(20) DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `default_savings_product` bigint(20) DEFAULT NULL, + `default_savings_account` bigint(20) DEFAULT NULL, + `client_type_cv_id` int(11) DEFAULT NULL, + `client_classification_cv_id` int(11) DEFAULT NULL, + `reject_reason_cv_id` int(11) DEFAULT NULL, + `rejectedon_date` date DEFAULT NULL, + `rejectedon_userid` bigint(20) DEFAULT NULL, + `withdraw_reason_cv_id` int(11) DEFAULT NULL, + `withdrawn_on_date` date DEFAULT NULL, + `withdraw_on_userid` bigint(20) DEFAULT NULL, + `reactivated_on_date` date DEFAULT NULL, + `reactivated_on_userid` bigint(20) DEFAULT NULL, + `legal_form_enum` int(11) DEFAULT NULL, + `reopened_on_date` date DEFAULT NULL, + `reopened_by_userid` bigint(20) DEFAULT NULL, + `email_address` varchar(150) DEFAULT NULL, + `proposed_transfer_date` date DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `account_no` (`account_no`), + UNIQUE KEY `external_id` (`external_id`), + UNIQUE KEY `mobile_no` (`mobile_no`), + KEY `FK1_m_client_gender_m_code_value` (`gender_cv_id`), + KEY `FKCE00CAB3E0DD567A` (`office_id`), + KEY `FK_m_client_classification_m_code_value` (`client_classification_cv_id`), + KEY `FK_m_client_m_code` (`closure_reason_cv_id`), + KEY `FK_m_client_m_image` (`image_id`), + KEY `FK_m_client_m_office` (`transfer_to_office_id`), + KEY `FK_m_client_m_savings_account` (`default_savings_account`), + KEY `FK_m_client_m_savings_product` (`default_savings_product`), + KEY `FK_m_client_substatus_m_code_value` (`sub_status`), + KEY `FK_m_client_type_m_code_value` (`client_type_cv_id`), + KEY `FK_m_client_type_m_code_value_withdraw` (`withdraw_reason_cv_id`), + KEY `FK_m_client_type_mcode_value_reject` (`reject_reason_cv_id`), + KEY `client_staff_id` (`staff_id`), + KEY `FK_client_created_by` (`created_by`), + KEY `FK_client_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK1_m_client_gender_m_code_value` FOREIGN KEY (`gender_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FKCE00CAB3E0DD567A` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_client_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_client_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_client_classification_m_code_value` FOREIGN KEY (`client_classification_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_client_m_code` FOREIGN KEY (`closure_reason_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_client_m_image` FOREIGN KEY (`image_id`) REFERENCES `m_image` (`id`), + CONSTRAINT `FK_m_client_m_office` FOREIGN KEY (`transfer_to_office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_client_m_savings_account` FOREIGN KEY (`default_savings_account`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `FK_m_client_m_savings_product` FOREIGN KEY (`default_savings_product`) REFERENCES `m_savings_product` (`id`), + CONSTRAINT `FK_m_client_m_staff` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`), + CONSTRAINT `FK_m_client_substatus_m_code_value` FOREIGN KEY (`sub_status`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_client_type_m_code_value` FOREIGN KEY (`client_type_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_client_type_m_code_value_withdraw` FOREIGN KEY (`withdraw_reason_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_client_type_mcode_value_reject` FOREIGN KEY (`reject_reason_cv_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_address` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL DEFAULT 0, + `address_id` bigint(20) NOT NULL DEFAULT 0, + `address_type_id` int(11) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `addressIdFk` (`address_id`), + KEY `address_codefk` (`address_type_id`), + KEY `clientaddressfk` (`client_id`), + CONSTRAINT `address_codefk` FOREIGN KEY (`address_type_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `clientaddressfk` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_attendance` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL DEFAULT 0, + `meeting_id` bigint(20) NOT NULL, + `attendance_type_enum` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_client_meeting_attendance` (`client_id`,`meeting_id`), + KEY `FK_m_meeting_m_client_attendance` (`meeting_id`), + CONSTRAINT `FK_m_client_m_client_attendance` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_meeting_m_client_attendance` FOREIGN KEY (`meeting_id`) REFERENCES `m_meeting` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + `is_penalty` tinyint(1) NOT NULL, + `charge_time_enum` smallint(6) NOT NULL, + `charge_due_date` date DEFAULT NULL, + `charge_calculation_enum` smallint(6) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_paid_derived` decimal(19,6) DEFAULT NULL, + `amount_waived_derived` decimal(19,6) DEFAULT NULL, + `amount_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `amount_outstanding_derived` decimal(19,6) NOT NULL, + `is_paid_derived` tinyint(1) DEFAULT NULL, + `waived` tinyint(1) DEFAULT NULL, + `is_active` tinyint(1) DEFAULT NULL, + `inactivated_on_date` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_client_charge_m_charge` (`charge_id`), + KEY `FK_m_client_charge_m_client` (`client_id`), + CONSTRAINT `FK_m_client_charge_m_charge` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `FK_m_client_charge_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_charge_paid_by` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_transaction_id` bigint(20) NOT NULL, + `client_charge_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_client_charge_paid_by_m_client_charge` (`client_charge_id`), + KEY `FK_m_client_charge_paid_by_m_client_transaction` (`client_transaction_id`), + CONSTRAINT `FK_m_client_charge_paid_by_m_client_charge` FOREIGN KEY (`client_charge_id`) REFERENCES `m_client_charge` (`id`), + CONSTRAINT `FK_m_client_charge_paid_by_m_client_transaction` FOREIGN KEY (`client_transaction_id`) REFERENCES `m_client_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_collateral_management` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `quantity` decimal(20,5) NOT NULL, + `client_id` bigint(20) DEFAULT NULL, + `collateral_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fkClient` (`client_id`), + KEY `fkCollateral` (`collateral_id`), + CONSTRAINT `fkClient` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fkCollateral` FOREIGN KEY (`collateral_id`) REFERENCES `m_collateral_management` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_identifier` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `document_type_id` int(11) NOT NULL, + `document_key` varchar(50) NOT NULL, + `status` int(11) NOT NULL DEFAULT 300, + `active` int(11) DEFAULT NULL, + `description` varchar(500) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_identifier_key` (`document_type_id`,`document_key`), + UNIQUE KEY `unique_active_client_identifier` (`client_id`,`document_type_id`,`active`), + KEY `FK_m_client_document_m_client` (`client_id`), + KEY `FK_m_client_document_m_code_value` (`document_type_id`), + KEY `FK_client_identifier_created_by` (`created_by`), + KEY `FK_client_identifier_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_client_identifier_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_client_identifier_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_client_document_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_client_document_m_code_value` FOREIGN KEY (`document_type_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_non_person` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `constitution_cv_id` int(11) NOT NULL, + `incorp_no` varchar(50) DEFAULT NULL, + `incorp_validity_till` date DEFAULT NULL, + `main_business_line_cv_id` int(11) DEFAULT NULL, + `remarks` varchar(150) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `client_id` (`client_id`), + CONSTRAINT `FK_client_id` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `currency_code` varchar(3) NOT NULL, + `payment_detail_id` bigint(20) DEFAULT NULL, + `is_reversed` tinyint(1) NOT NULL, + `external_id` varchar(50) DEFAULT NULL, + `transaction_date` date NOT NULL, + `transaction_type_enum` smallint(6) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `submitted_on_date` date NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FK_m_client_transaction_m_client` (`client_id`), + KEY `FK_client_transaction_created_by` (`created_by`), + KEY `FK_client_transaction_last_modified_by` (`last_modified_by`), + KEY `FK_client_transaction_submitted_on_date` (`submitted_on_date`), + CONSTRAINT `FK_client_transaction_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_client_transaction_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_client_transaction_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_client_transfer_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `from_office_id` bigint(20) NOT NULL, + `to_office_id` bigint(20) NOT NULL, + `proposed_transfer_date` date DEFAULT NULL, + `transfer_type` tinyint(4) NOT NULL, + `submitted_on` date NOT NULL, + `submitted_by` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_client_transfer_details_m_appuser` (`submitted_by`), + KEY `FK_m_client_transfer_details_m_client` (`client_id`), + KEY `FK_m_client_transfer_details_m_office` (`from_office_id`), + KEY `FK_m_client_transfer_details_m_office_2` (`to_office_id`), + CONSTRAINT `FK_m_client_transfer_details_m_appuser` FOREIGN KEY (`submitted_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_client_transfer_details_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_client_transfer_details_m_office` FOREIGN KEY (`from_office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_client_transfer_details_m_office_2` FOREIGN KEY (`to_office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_code` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code_name` varchar(100) DEFAULT NULL, + `is_system_defined` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `code_name` (`code_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_code_value` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code_id` int(11) NOT NULL, + `code_value` varchar(100) DEFAULT NULL, + `code_description` varchar(500) DEFAULT NULL, + `order_position` int(11) NOT NULL DEFAULT 0, + `code_score` int(11) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `is_mandatory` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `code_value` (`code_id`,`code_value`), + KEY `FKCFCEA42640BE071Z` (`code_id`), + CONSTRAINT `FKCFCEA42640BE071Z` FOREIGN KEY (`code_id`) REFERENCES `m_code` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_collateral_management` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `quality` varchar(40) NOT NULL, + `base_price` decimal(20,5) NOT NULL, + `unit_type` varchar(10) NOT NULL, + `pct_to_base` decimal(20,5) NOT NULL, + `currency` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fkCurrencyCode` (`currency`), + CONSTRAINT `fkCurrencyCode` FOREIGN KEY (`currency`) REFERENCES `m_currency` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_creditbureau` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `product` varchar(100) NOT NULL, + `country` varchar(100) NOT NULL, + `implementation_key` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique impl` (`name`,`product`,`country`,`implementation_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_creditbureau_configuration` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `configkey` varchar(50) DEFAULT NULL, + `value` longtext DEFAULT NULL, + `organisation_creditbureau_id` bigint(20) DEFAULT NULL, + `description` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `mcbconfig` (`configkey`,`organisation_creditbureau_id`), + KEY `cbConfigfk1` (`organisation_creditbureau_id`), + CONSTRAINT `cbConfigfk1` FOREIGN KEY (`organisation_creditbureau_id`) REFERENCES `m_creditbureau` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_creditbureau_loanproduct_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `organisation_creditbureau_id` bigint(20) NOT NULL, + `loan_product_id` bigint(20) NOT NULL, + `is_creditcheck_mandatory` tinyint(1) DEFAULT NULL, + `skip_creditcheck_in_failure` tinyint(1) DEFAULT NULL, + `stale_period` int(11) DEFAULT NULL, + `is_active` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `cblpunique_key` (`organisation_creditbureau_id`,`loan_product_id`), + KEY `fk_cb_lp2` (`loan_product_id`), + CONSTRAINT `cblpfk2` FOREIGN KEY (`organisation_creditbureau_id`) REFERENCES `m_organisation_creditbureau` (`id`), + CONSTRAINT `fk_cb_lp2` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_creditbureau_token` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(128) DEFAULT NULL, + `token` mediumtext DEFAULT NULL, + `token_type` varchar(128) DEFAULT NULL, + `expires_in` varchar(128) DEFAULT NULL, + `issued` varchar(128) DEFAULT NULL, + `expiry_date` date DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_creditreport` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `credit_bureau_id` bigint(20) DEFAULT NULL, + `national_id` varchar(128) DEFAULT NULL, + `credit_reports` blob DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `cbId` (`credit_bureau_id`), + CONSTRAINT `cbId` FOREIGN KEY (`credit_bureau_id`) REFERENCES `m_creditbureau` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_currency` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `code` varchar(3) NOT NULL, + `decimal_places` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `display_symbol` varchar(10) DEFAULT NULL, + `name` varchar(50) NOT NULL, + `internationalized_name_code` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_delinquency_bucket` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `created_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_delinquency_bucket_mappings` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `delinquency_range_id` bigint(20) NOT NULL, + `delinquency_bucket_id` bigint(20) NOT NULL, + `created_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_delinquency_range_mapping` (`delinquency_range_id`), + KEY `FK_m_delinquency_bucket_mapping` (`delinquency_bucket_id`), + CONSTRAINT `FK_m_delinquency_bucket_mapping` FOREIGN KEY (`delinquency_bucket_id`) REFERENCES `m_delinquency_bucket` (`id`), + CONSTRAINT `FK_m_delinquency_range_mapping` FOREIGN KEY (`delinquency_range_id`) REFERENCES `m_delinquency_range` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_delinquency_range` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `classification` varchar(100) NOT NULL, + `min_age_days` bigint(20) NOT NULL, + `max_age_days` bigint(20) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `classification` (`classification`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_account_on_hold_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `transaction_type_enum` smallint(6) NOT NULL, + `transaction_date` date NOT NULL, + `is_reversed` tinyint(1) NOT NULL DEFAULT 0, + `created_date` datetime DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_deposit_on_hold_transaction_m_savings_account` (`savings_account_id`), + KEY `FK_deposit_account_on_hold_transaction_created_by` (`created_by`), + KEY `FK_deposit_account_on_hold_transaction_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_deposit_account_on_hold_transaction_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_deposit_account_on_hold_transaction_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_deposit_on_hold_transaction_m_savings_account` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_account_recurring_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL DEFAULT 0, + `mandatory_recommended_deposit_amount` decimal(19,6) DEFAULT NULL, + `is_mandatory` tinyint(1) NOT NULL DEFAULT 0, + `allow_withdrawal` tinyint(1) NOT NULL DEFAULT 0, + `adjust_advance_towards_future_payments` tinyint(1) NOT NULL DEFAULT 1, + `is_calendar_inherited` tinyint(1) NOT NULL DEFAULT 0, + `total_overdue_amount` decimal(19,6) DEFAULT NULL, + `no_of_overdue_installments` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FKDARD00000000000001` (`savings_account_id`), + CONSTRAINT `FKDARD00000000000001` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_account_term_and_preclosure` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL DEFAULT 0, + `min_deposit_term` int(11) DEFAULT NULL, + `max_deposit_term` int(11) DEFAULT NULL, + `min_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `max_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `in_multiples_of_deposit_term` int(11) DEFAULT NULL, + `in_multiples_of_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `pre_closure_penal_applicable` tinyint(1) DEFAULT NULL, + `pre_closure_penal_interest` decimal(19,6) DEFAULT NULL, + `pre_closure_penal_interest_on_enum` smallint(6) DEFAULT NULL, + `deposit_period` int(11) DEFAULT NULL, + `deposit_period_frequency_enum` smallint(6) DEFAULT NULL, + `deposit_amount` decimal(19,6) DEFAULT NULL, + `maturity_amount` decimal(19,6) DEFAULT NULL, + `maturity_date` date DEFAULT NULL, + `on_account_closure_enum` smallint(6) DEFAULT NULL, + `expected_firstdepositon_date` date DEFAULT NULL, + `transfer_interest_to_linked_account` tinyint(1) NOT NULL DEFAULT 0, + `transfer_to_savings_account_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FKDATP00000000000001` (`savings_account_id`), + KEY `transfer_to_savings_account_id` (`transfer_to_savings_account_id`), + CONSTRAINT `FKDATP00000000000001` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `m_deposit_account_term_and_preclosure_ibfk_1` FOREIGN KEY (`transfer_to_savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_product_interest_rate_chart` ( + `deposit_product_id` bigint(20) NOT NULL, + `interest_rate_chart_id` bigint(20) NOT NULL, + UNIQUE KEY `deposit_product_id_interest_rate_chart_id` (`deposit_product_id`,`interest_rate_chart_id`), + KEY `FKDPIRC00000000000002` (`interest_rate_chart_id`), + CONSTRAINT `FKDPIRC00000000000001` FOREIGN KEY (`deposit_product_id`) REFERENCES `m_savings_product` (`id`), + CONSTRAINT `FKDPIRC00000000000002` FOREIGN KEY (`interest_rate_chart_id`) REFERENCES `m_interest_rate_chart` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_product_recurring_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_product_id` bigint(20) NOT NULL DEFAULT 0, + `is_mandatory` tinyint(1) NOT NULL DEFAULT 1, + `allow_withdrawal` tinyint(1) NOT NULL DEFAULT 0, + `adjust_advance_towards_future_payments` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `FKDPRD00000000000001` (`savings_product_id`), + CONSTRAINT `FKDPRD00000000000001` FOREIGN KEY (`savings_product_id`) REFERENCES `m_savings_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_deposit_product_term_and_preclosure` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_product_id` bigint(20) NOT NULL DEFAULT 0, + `min_deposit_term` int(11) DEFAULT NULL, + `max_deposit_term` int(11) DEFAULT NULL, + `min_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `max_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `in_multiples_of_deposit_term` int(11) DEFAULT NULL, + `in_multiples_of_deposit_term_type_enum` smallint(6) DEFAULT NULL, + `pre_closure_penal_applicable` tinyint(1) DEFAULT NULL, + `pre_closure_penal_interest` decimal(19,6) DEFAULT NULL, + `pre_closure_penal_interest_on_enum` smallint(6) DEFAULT NULL, + `min_deposit_amount` decimal(19,6) DEFAULT NULL, + `max_deposit_amount` decimal(19,6) DEFAULT NULL, + `deposit_amount` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FKDPTP00000000000001` (`savings_product_id`), + CONSTRAINT `FKDPTP00000000000001` FOREIGN KEY (`savings_product_id`) REFERENCES `m_savings_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_document` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `parent_entity_type` varchar(50) NOT NULL, + `parent_entity_id` int(11) NOT NULL DEFAULT 0, + `name` varchar(250) NOT NULL, + `file_name` varchar(250) NOT NULL, + `size` int(11) DEFAULT 0, + `type` varchar(500) DEFAULT NULL, + `description` varchar(1000) DEFAULT NULL, + `location` varchar(500) NOT NULL DEFAULT '0', + `storage_type_enum` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_entity_datatable_check` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `application_table_name` varchar(200) NOT NULL, + `x_registered_table_name` varchar(50) NOT NULL, + `status_enum` int(11) NOT NULL, + `system_defined` tinyint(1) NOT NULL DEFAULT 0, + `product_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_entity_check` (`application_table_name`,`x_registered_table_name`,`status_enum`,`product_id`), + KEY `product_id` (`product_id`), + KEY `x_registered_table_name` (`x_registered_table_name`), + CONSTRAINT `m_entity_datatable_check_ibfk_1` FOREIGN KEY (`x_registered_table_name`) REFERENCES `x_registered_table` (`registered_table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_entity_relation` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `from_entity_type` int(11) NOT NULL, + `to_entity_type` int(11) NOT NULL, + `code_name` varchar(50) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `from_entity_type_to_entity_type_code_name` (`from_entity_type`,`to_entity_type`,`code_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_entity_to_entity_access` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `entity_type` varchar(50) NOT NULL, + `entity_id` bigint(20) NOT NULL, + `access_type_code_value_id` int(11) NOT NULL, + `second_entity_type` varchar(50) NOT NULL, + `second_entity_id` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id_uniq_m_entity_to_entity_access` (`entity_type`,`entity_id`,`access_type_code_value_id`,`second_entity_type`,`second_entity_id`), + KEY `FK_access_type_code_m_code_value` (`access_type_code_value_id`), + KEY `IDX_OFFICE` (`entity_type`,`entity_id`), + CONSTRAINT `FK_access_type_code_m_code_value` FOREIGN KEY (`access_type_code_value_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_entity_to_entity_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `rel_id` bigint(20) NOT NULL DEFAULT 0, + `from_id` bigint(20) NOT NULL DEFAULT 0, + `to_id` bigint(20) NOT NULL, + `start_date` date DEFAULT NULL, + `end_date` date DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `rel_id_from_id_to_id` (`rel_id`,`from_id`,`to_id`), + CONSTRAINT `FK__rel_id_m_entity_relation_id` FOREIGN KEY (`rel_id`) REFERENCES `m_entity_relation` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_external_event` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `type` varchar(100) NOT NULL, + `created_at` timestamp(6) NULL DEFAULT NULL, + `status` varchar(100) NOT NULL, + `business_date` date NOT NULL, + `data` blob NOT NULL, + `idempotency_key` varchar(100) NOT NULL, + `sent_at` timestamp(6) NULL DEFAULT NULL, + `schema` varchar(300) NOT NULL, + `category` varchar(100) NOT NULL, + `aggregate_root_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `m_external_event_status_index` (`status`), + KEY `m_external_event_business_date_index` (`business_date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_external_event_configuration` ( + `type` varchar(100) NOT NULL, + `enabled` tinyint(1) NOT NULL, + PRIMARY KEY (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_family_members` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) NOT NULL, + `firstname` varchar(50) NOT NULL, + `middlename` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `qualification` varchar(50) DEFAULT NULL, + `relationship_cv_id` int(11) NOT NULL, + `marital_status_cv_id` int(11) DEFAULT NULL, + `gender_cv_id` int(11) DEFAULT NULL, + `date_of_birth` date DEFAULT NULL, + `age` int(11) DEFAULT NULL, + `profession_cv_id` int(11) DEFAULT NULL, + `mobile_number` varchar(50) DEFAULT NULL, + `is_dependent` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_family_members_client_id_m_client` (`client_id`), + KEY `FK_m_family_members_gender_m_code_value` (`gender_cv_id`), + KEY `FK_m_family_members_marital_status_m_code_value` (`marital_status_cv_id`), + KEY `FK_m_family_members_profession_m_code_value` (`profession_cv_id`), + KEY `FK_m_family_members_relationship_m_code_value` (`relationship_cv_id`), + CONSTRAINT `FK_m_family_members_client_id_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK_m_family_members_gender_m_code_value` FOREIGN KEY (`gender_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_family_members_marital_status_m_code_value` FOREIGN KEY (`marital_status_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_family_members_profession_m_code_value` FOREIGN KEY (`profession_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_family_members_relationship_m_code_value` FOREIGN KEY (`relationship_cv_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_field_configuration` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `entity` varchar(100) NOT NULL, + `subentity` varchar(100) NOT NULL, + `field` varchar(100) NOT NULL, + `is_enabled` tinyint(1) NOT NULL, + `is_mandatory` tinyint(1) NOT NULL, + `validation_regex` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_floating_rates` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `is_base_lending_rate` tinyint(1) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `FK_floating_rates_created_by` (`created_by`), + KEY `FK_floating_rates_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_floating_rates_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_floating_rates_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_floating_rates_periods` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `floating_rates_id` bigint(20) NOT NULL, + `from_date` date DEFAULT NULL, + `interest_rate` decimal(19,6) NOT NULL, + `is_differential_to_base_lending_rate` tinyint(1) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_mappings_m_floating_rates` (`floating_rates_id`), + KEY `FK_floating_rates_period_created_by` (`created_by`), + KEY `FK_floating_rates_period_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_floating_rates_period_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_floating_rates_period_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_mappings_m_floating_rates` FOREIGN KEY (`floating_rates_id`) REFERENCES `m_floating_rates` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_fund` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(255) DEFAULT NULL, + `external_id` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `external_id` (`external_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_group` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `external_id` varchar(100) DEFAULT NULL, + `status_enum` int(11) NOT NULL DEFAULT 300, + `activation_date` date DEFAULT NULL, + `office_id` bigint(20) NOT NULL, + `staff_id` bigint(20) DEFAULT NULL, + `parent_id` bigint(20) DEFAULT NULL, + `level_id` int(11) NOT NULL, + `display_name` varchar(100) NOT NULL, + `hierarchy` varchar(100) DEFAULT NULL, + `closure_reason_cv_id` int(11) DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `activatedon_userid` bigint(20) DEFAULT NULL, + `submittedon_date` date DEFAULT NULL, + `submittedon_userid` bigint(20) DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `account_no` varchar(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`display_name`,`level_id`), + UNIQUE KEY `external_id` (`external_id`), + UNIQUE KEY `uk_m_group_external_id` (`external_id`,`level_id`), + KEY `FK_m_group_level` (`level_id`), + KEY `FK_m_group_m_code` (`closure_reason_cv_id`), + KEY `Parent_Id_reference` (`parent_id`), + KEY `group_office_id` (`office_id`), + KEY `staff_id` (`staff_id`), + CONSTRAINT `FK_m_group_level` FOREIGN KEY (`level_id`) REFERENCES `m_group_level` (`id`), + CONSTRAINT `FK_m_group_m_code` FOREIGN KEY (`closure_reason_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_group_m_staff` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`), + CONSTRAINT `Parent_Id_reference` FOREIGN KEY (`parent_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `m_group_ibfk_1` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_group_client` ( + `group_id` bigint(20) NOT NULL, + `client_id` bigint(20) NOT NULL, + PRIMARY KEY (`group_id`,`client_id`), + KEY `client_id` (`client_id`), + CONSTRAINT `m_group_client_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `m_group_client_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_group_level` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `parent_id` int(11) DEFAULT NULL, + `super_parent` tinyint(1) NOT NULL, + `level_name` varchar(100) NOT NULL, + `recursable` tinyint(1) NOT NULL, + `can_have_clients` tinyint(1) NOT NULL, + PRIMARY KEY (`id`), + KEY `Parent_levelId_reference` (`parent_id`), + CONSTRAINT `Parent_levelId_reference` FOREIGN KEY (`parent_id`) REFERENCES `m_group_level` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_group_roles` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) DEFAULT NULL, + `group_id` bigint(20) DEFAULT NULL, + `role_cv_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `UNIQUE_GROUP_ROLES` (`client_id`,`group_id`,`role_cv_id`), + KEY `FKGroupRoleClientId` (`client_id`), + KEY `FKGroupRoleGroupId` (`group_id`), + KEY `FK_grouprole_m_codevalue` (`role_cv_id`), + CONSTRAINT `FKGroupRoleClientId` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FKGroupRoleGroupId` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `FK_grouprole_m_codevalue` FOREIGN KEY (`role_cv_id`) REFERENCES `m_code_value` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_guarantor` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `client_reln_cv_id` int(11) DEFAULT NULL, + `type_enum` smallint(6) NOT NULL, + `entity_id` bigint(20) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `dob` date DEFAULT NULL, + `address_line_1` varchar(500) DEFAULT NULL, + `address_line_2` varchar(500) DEFAULT NULL, + `city` varchar(50) DEFAULT NULL, + `state` varchar(50) DEFAULT NULL, + `country` varchar(50) DEFAULT NULL, + `zip` varchar(20) DEFAULT NULL, + `house_phone_number` varchar(20) DEFAULT NULL, + `mobile_number` varchar(20) DEFAULT NULL, + `comment` varchar(500) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `FK_m_guarantor_m_code_value` (`client_reln_cv_id`), + KEY `FK_m_guarantor_m_loan` (`loan_id`), + CONSTRAINT `FK_m_guarantor_m_code_value` FOREIGN KEY (`client_reln_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_m_guarantor_m_loan` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_guarantor_funding_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `guarantor_id` bigint(20) NOT NULL, + `account_associations_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_released_derived` decimal(19,6) DEFAULT NULL, + `amount_remaining_derived` decimal(19,6) DEFAULT NULL, + `amount_transfered_derived` decimal(19,6) DEFAULT NULL, + `status_enum` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_guarantor_fund_details_account_associations_id` (`account_associations_id`), + KEY `FK_m_guarantor_fund_details_m_guarantor` (`guarantor_id`), + CONSTRAINT `FK_m_guarantor_fund_details_account_associations_id` FOREIGN KEY (`account_associations_id`) REFERENCES `m_portfolio_account_associations` (`id`), + CONSTRAINT `FK_m_guarantor_fund_details_m_guarantor` FOREIGN KEY (`guarantor_id`) REFERENCES `m_guarantor` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_guarantor_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `guarantor_fund_detail_id` bigint(20) NOT NULL, + `loan_transaction_id` bigint(20) DEFAULT NULL, + `deposit_on_hold_transaction_id` bigint(20) NOT NULL, + `is_reversed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FK_guarantor_transaction_guarantor_fund_detail` (`guarantor_fund_detail_id`), + KEY `FK_guarantor_transaction_m_deposit_account_on_hold_transaction` (`deposit_on_hold_transaction_id`), + KEY `FK_guarantor_transaction_m_loan_transaction` (`loan_transaction_id`), + CONSTRAINT `FK_guarantor_transaction_guarantor_fund_detail` FOREIGN KEY (`guarantor_fund_detail_id`) REFERENCES `m_guarantor_funding_details` (`id`), + CONSTRAINT `FK_guarantor_transaction_m_deposit_account_on_hold_transaction` FOREIGN KEY (`deposit_on_hold_transaction_id`) REFERENCES `m_deposit_account_on_hold_transaction` (`id`), + CONSTRAINT `FK_guarantor_transaction_m_loan_transaction` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_holiday` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `from_date` date DEFAULT NULL, + `to_date` date DEFAULT NULL, + `repayments_rescheduled_to` date DEFAULT NULL, + `status_enum` int(11) NOT NULL DEFAULT 100, + `processed` tinyint(1) NOT NULL DEFAULT 0, + `description` varchar(100) DEFAULT NULL, + `rescheduling_type` int(11) NOT NULL DEFAULT 2, + PRIMARY KEY (`id`), + UNIQUE KEY `holiday_name` (`name`,`from_date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_holiday_office` ( + `holiday_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + PRIMARY KEY (`holiday_id`,`office_id`), + KEY `m_holiday_id_ibfk_1` (`holiday_id`), + KEY `m_office_id_ibfk_2` (`office_id`), + CONSTRAINT `m_holiday_id_ibfk_1` FOREIGN KEY (`holiday_id`) REFERENCES `m_holiday` (`id`), + CONSTRAINT `m_office_id_ibfk_2` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_hook` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `template_id` smallint(6) NOT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `name` varchar(45) NOT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `ugd_template_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_template_id_idx` (`template_id`), + KEY `fk_ugd_template_id` (`ugd_template_id`), + CONSTRAINT `fk_template_id` FOREIGN KEY (`template_id`) REFERENCES `m_hook_templates` (`id`), + CONSTRAINT `fk_ugd_template_id` FOREIGN KEY (`ugd_template_id`) REFERENCES `m_template` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_hook_configuration` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `hook_id` bigint(20) DEFAULT NULL, + `field_type` varchar(45) NOT NULL, + `field_name` varchar(100) NOT NULL, + `field_value` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_hook_configuration_hook` (`hook_id`), + CONSTRAINT `fk_hook_id_cfg` FOREIGN KEY (`hook_id`) REFERENCES `m_hook` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_hook_registered_events` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `hook_id` bigint(20) NOT NULL, + `entity_name` varchar(45) NOT NULL, + `action_name` varchar(45) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_hook_id_idx` (`hook_id`), + CONSTRAINT `fk_hook_idc` FOREIGN KEY (`hook_id`) REFERENCES `m_hook` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_hook_schema` ( + `id` smallint(6) NOT NULL AUTO_INCREMENT, + `hook_template_id` smallint(6) NOT NULL, + `field_type` varchar(45) NOT NULL, + `field_name` varchar(100) NOT NULL, + `placeholder` varchar(100) DEFAULT NULL, + `optional` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `fk_hook_template_id_idx` (`hook_template_id`), + CONSTRAINT `fk_hook_template_id` FOREIGN KEY (`hook_template_id`) REFERENCES `m_hook_templates` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_hook_templates` ( + `id` smallint(6) NOT NULL AUTO_INCREMENT, + `name` varchar(45) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_image` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `location` varchar(500) DEFAULT NULL, + `storage_type_enum` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_import_document` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `document_id` int(11) NOT NULL, + `import_time` datetime(6) DEFAULT NULL, + `end_time` datetime(6) DEFAULT NULL, + `entity_type` tinyint(4) NOT NULL, + `completed` tinyint(1) DEFAULT 0, + `total_records` bigint(20) DEFAULT 0, + `success_count` bigint(20) DEFAULT 0, + `failure_count` bigint(20) DEFAULT 0, + `createdby_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_import_m_appuser` (`createdby_id`), + KEY `import_document_id` (`document_id`), + CONSTRAINT `FK_m_import_m_appuser` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_import_m_document` FOREIGN KEY (`document_id`) REFERENCES `m_document` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_interest_incentives` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `interest_rate_slab_id` bigint(20) NOT NULL, + `entiry_type` smallint(6) NOT NULL, + `attribute_name` smallint(6) NOT NULL, + `condition_type` smallint(6) NOT NULL, + `attribute_value` varchar(50) NOT NULL, + `incentive_type` smallint(6) NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_interest_incentives_m_interest_rate_slab` (`interest_rate_slab_id`), + CONSTRAINT `FK_m_interest_incentives_m_interest_rate_slab` FOREIGN KEY (`interest_rate_slab_id`) REFERENCES `m_interest_rate_slab` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_interest_rate_chart` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `description` varchar(200) DEFAULT NULL, + `from_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `is_primary_grouping_by_amount` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_interest_rate_slab` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `interest_rate_chart_id` bigint(20) NOT NULL, + `description` varchar(200) DEFAULT NULL, + `period_type_enum` smallint(6) DEFAULT NULL, + `from_period` int(11) DEFAULT NULL, + `to_period` int(11) DEFAULT NULL, + `amount_range_from` decimal(19,6) DEFAULT NULL, + `amount_range_to` decimal(19,6) DEFAULT NULL, + `annual_interest_rate` decimal(19,6) NOT NULL, + `currency_code` varchar(3) NOT NULL, + PRIMARY KEY (`id`), + KEY `FKIRS00000000000001` (`interest_rate_chart_id`), + CONSTRAINT `FKIRS00000000000001` FOREIGN KEY (`interest_rate_chart_id`) REFERENCES `m_interest_rate_chart` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_journal_entry_aggregation_summary` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `gl_account_id` bigint(20) NOT NULL, + `product_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `entity_type_enum` smallint(6) NOT NULL, + `aggregated_on_date` date NOT NULL, + `submitted_on_date` date NOT NULL, + `external_owner_id` bigint(20) DEFAULT NULL, + `debit_amount` decimal(19,6) DEFAULT NULL, + `credit_amount` decimal(19,6) DEFAULT NULL, + `manual_entry` tinyint(1) NOT NULL DEFAULT 0, + `job_execution_id` bigint(20) NOT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + `originator_external_ids` varchar(1000) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_CREATED_BY` (`created_by`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_LAST_MODIFIED_BY` (`last_modified_by`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_OFFICE_ID` (`office_id`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_GL_ACCOUNT_ID` (`gl_account_id`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_JOB_EXECUTION_ID` (`job_execution_id`), + KEY `idx_journal_entry_aggregation_summary` (`submitted_on_date`,`gl_account_id`), + KEY `idx_m_jour_ent_aggr_sum_prod_id_entity_type` (`product_id`,`entity_type_enum`), + KEY `idx_m_jour_ent_aggr_sum_aggr_date` (`aggregated_on_date`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_CREATED_BY` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_GL_ACCOUNT_ID` FOREIGN KEY (`gl_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_JOB_EXECUTION_ID` FOREIGN KEY (`job_execution_id`) REFERENCES `BATCH_JOB_EXECUTION` (`JOB_EXECUTION_ID`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_LAST_MODIFIED_BY` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_SUMMARY_ON_OFFICE_ID` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_journal_entry_aggregation_tracking` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `aggregated_on_date_from` date NOT NULL, + `aggregated_on_date_to` date NOT NULL, + `submitted_on_date` date NOT NULL, + `job_execution_id` bigint(20) NOT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `idx2_m_journal_entry_aggregation_tracking` (`aggregated_on_date_to`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_JOB_EXECUTION_ID` (`job_execution_id`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_CREATED_BY` (`created_by`), + KEY `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_LAST_MODIFIED_BY` (`last_modified_by`), + KEY `idx_m_journal_entry_aggregation_tracking` (`submitted_on_date`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_CREATED_BY` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_JOB_EXECUTION_ID` FOREIGN KEY (`job_execution_id`) REFERENCES `BATCH_JOB_EXECUTION` (`JOB_EXECUTION_ID`), + CONSTRAINT `FK_GL_JOURNAL_ENTRY_AGGREGATION_TRACKING_ON_LAST_MODIFIED_BY` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_no` varchar(20) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `client_id` bigint(20) DEFAULT NULL, + `group_id` bigint(20) DEFAULT NULL, + `glim_id` bigint(20) DEFAULT NULL, + `product_id` bigint(20) DEFAULT NULL, + `fund_id` bigint(20) DEFAULT NULL, + `loan_officer_id` bigint(20) DEFAULT NULL, + `loanpurpose_cv_id` int(11) DEFAULT NULL, + `loan_status_id` smallint(6) NOT NULL, + `loan_type_enum` smallint(6) NOT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `principal_amount_proposed` decimal(19,6) NOT NULL, + `principal_amount` decimal(19,6) NOT NULL, + `approved_principal` decimal(19,6) NOT NULL, + `net_disbursal_amount` decimal(19,6) NOT NULL, + `arrearstolerance_amount` decimal(19,6) DEFAULT NULL, + `is_floating_interest_rate` tinyint(1) DEFAULT 0, + `interest_rate_differential` decimal(19,6) DEFAULT 0.000000, + `nominal_interest_rate_per_period` decimal(19,6) DEFAULT NULL, + `interest_period_frequency_enum` smallint(6) DEFAULT NULL, + `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, + `interest_method_enum` smallint(6) NOT NULL, + `interest_calculated_in_period_enum` smallint(6) NOT NULL DEFAULT 1, + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT 0, + `term_frequency` smallint(6) NOT NULL DEFAULT 0, + `term_period_frequency_enum` smallint(6) NOT NULL DEFAULT 2, + `repay_every` smallint(6) NOT NULL, + `repayment_period_frequency_enum` smallint(6) NOT NULL, + `number_of_repayments` smallint(6) NOT NULL, + `grace_on_principal_periods` smallint(6) DEFAULT NULL, + `recurring_moratorium_principal_periods` smallint(6) DEFAULT NULL, + `grace_on_interest_periods` smallint(6) DEFAULT NULL, + `grace_interest_free_periods` smallint(6) DEFAULT NULL, + `amortization_method_enum` smallint(6) NOT NULL, + `submittedon_date` date DEFAULT NULL, + `approvedon_date` date DEFAULT NULL, + `approvedon_userid` bigint(20) DEFAULT NULL, + `expected_disbursedon_date` date DEFAULT NULL, + `expected_firstrepaymenton_date` date DEFAULT NULL, + `interest_calculated_from_date` date DEFAULT NULL, + `disbursedon_date` date DEFAULT NULL, + `disbursedon_userid` bigint(20) DEFAULT NULL, + `expected_maturedon_date` date DEFAULT NULL, + `maturedon_date` date DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `total_charges_due_at_disbursement_derived` decimal(19,6) DEFAULT NULL, + `principal_disbursed_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `principal_repaid_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `principal_writtenoff_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `principal_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_charged_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_repaid_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_waived_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_writtenoff_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_charged_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_repaid_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_waived_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_writtenoff_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_charged_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_repaid_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_waived_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_writtenoff_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_expected_repayment_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_repayment_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_expected_costofloan_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_costofloan_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_waived_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_writtenoff_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_overpaid_derived` decimal(19,6) DEFAULT NULL, + `rejectedon_date` date DEFAULT NULL, + `rejectedon_userid` bigint(20) DEFAULT NULL, + `rescheduledon_date` date DEFAULT NULL, + `rescheduledon_userid` bigint(20) DEFAULT NULL, + `withdrawnon_date` date DEFAULT NULL, + `withdrawnon_userid` bigint(20) DEFAULT NULL, + `writtenoffon_date` date DEFAULT NULL, + `loan_transaction_strategy_id` bigint(20) DEFAULT NULL, + `sync_disbursement_with_meeting` tinyint(1) DEFAULT NULL, + `loan_counter` smallint(6) DEFAULT NULL, + `loan_product_counter` smallint(6) DEFAULT NULL, + `fixed_emi_amount` decimal(19,6) DEFAULT NULL, + `max_outstanding_loan_balance` decimal(19,6) DEFAULT NULL, + `grace_on_arrears_ageing` smallint(6) DEFAULT NULL, + `is_npa` tinyint(1) NOT NULL DEFAULT 0, + `total_recovered_derived` decimal(19,6) DEFAULT NULL, + `accrued_till` date DEFAULT NULL, + `interest_recalcualated_on` date DEFAULT NULL, + `days_in_month_enum` smallint(6) NOT NULL DEFAULT 1, + `days_in_year_enum` smallint(6) NOT NULL DEFAULT 1, + `interest_recalculation_enabled` tinyint(1) NOT NULL DEFAULT 0, + `guarantee_amount_derived` decimal(19,6) DEFAULT NULL, + `create_standing_instruction_at_disbursement` tinyint(1) DEFAULT NULL, + `version` int(11) NOT NULL DEFAULT 1, + `writeoff_reason_cv_id` int(11) DEFAULT NULL, + `loan_sub_status_id` smallint(6) DEFAULT NULL, + `is_topup` tinyint(1) NOT NULL DEFAULT 0, + `is_equal_amortization` tinyint(1) NOT NULL DEFAULT 0, + `fixed_principal_percentage_per_installment` decimal(5,2) DEFAULT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `principal_adjustments_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_fraud` tinyint(1) NOT NULL DEFAULT 0, + `loan_transaction_strategy_code` varchar(100) NOT NULL DEFAULT '-', + `loan_transaction_strategy_name` varchar(100) NOT NULL DEFAULT '-', + `last_closed_business_date` date DEFAULT NULL, + `overpaidon_date` date DEFAULT NULL, + `is_charged_off` tinyint(1) NOT NULL DEFAULT 0, + `charged_off_on_date` date DEFAULT NULL, + `charge_off_reason_cv_id` bigint(20) DEFAULT NULL, + `charged_off_by_userid` bigint(20) DEFAULT NULL, + `enable_down_payment` tinyint(1) NOT NULL DEFAULT 0, + `disbursed_amount_percentage_for_down_payment` decimal(9,6) DEFAULT NULL, + `enable_installment_level_delinquency` tinyint(1) NOT NULL DEFAULT 0, + `enable_accrual_activity_posting` tinyint(1) NOT NULL DEFAULT 0, + `days_in_year_custom_strategy` varchar(100) DEFAULT NULL, + `enable_income_capitalization` tinyint(1) NOT NULL DEFAULT 0, + `capitalized_income_calculation_type` varchar(100) DEFAULT NULL, + `capitalized_income_strategy` varchar(100) DEFAULT NULL, + `capitalized_income_type` varchar(10) DEFAULT NULL, + `capitalized_income_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `capitalized_income_adjustment_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_principal_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `enable_buy_down_fee` tinyint(1) NOT NULL DEFAULT 0, + `buy_down_fee_calculation_type` varchar(100) DEFAULT NULL, + `buy_down_fee_strategy` varchar(100) DEFAULT NULL, + `buy_down_fee_income_type` varchar(100) DEFAULT NULL, + `allow_full_term_for_tranche` tinyint(1) NOT NULL DEFAULT 0, + `repayment_start_date_type_enum` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `account_no` (`account_no`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FK7C885877240145` (`fund_id`), + KEY `FKB6F935D87179A0CB` (`client_id`), + KEY `FKB6F935D8C8D4B434` (`product_id`), + KEY `FK_approvedon_userid` (`approvedon_userid`), + KEY `FK_closedon_userid` (`closedon_userid`), + KEY `FK_disbursedon_userid` (`disbursedon_userid`), + KEY `FK_glim_id` (`glim_id`), + KEY `FK_loan_ltp_strategy` (`loan_transaction_strategy_id`), + KEY `FK_m_loan_m_staff` (`loan_officer_id`), + KEY `FK_m_loanpurpose_codevalue` (`loanpurpose_cv_id`), + KEY `FK_rejectedon_userid` (`rejectedon_userid`), + KEY `FK_withdrawnon_userid` (`withdrawnon_userid`), + KEY `FK_writeoffreason_m_loan_m_code_value` (`writeoff_reason_cv_id`), + KEY `fk_m_group_client_001_idx` (`group_id`,`client_id`), + KEY `group_id` (`group_id`), + KEY `FK_loan_created_by` (`created_by`), + KEY `FK_loan_last_modified_by` (`last_modified_by`), + KEY `FK_loan_status_id` (`loan_status_id`), + KEY `FK_loan_expected_maturedon_date` (`expected_maturedon_date`), + KEY `FK_loan_last_closed_business_date` (`last_closed_business_date`), + KEY `FK_loan_overpaidon_date` (`overpaidon_date`), + CONSTRAINT `FK7C885877240145` FOREIGN KEY (`fund_id`) REFERENCES `m_fund` (`id`), + CONSTRAINT `FKB6F935D87179A0CB` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FKB6F935D8C8D4B434` FOREIGN KEY (`product_id`) REFERENCES `m_product_loan` (`id`), + CONSTRAINT `FK_approvedon_userid` FOREIGN KEY (`approvedon_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_closedon_userid` FOREIGN KEY (`closedon_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_disbursedon_userid` FOREIGN KEY (`disbursedon_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_glim_id` FOREIGN KEY (`glim_id`) REFERENCES `glim_accounts` (`id`), + CONSTRAINT `FK_loan_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_loan_m_staff` FOREIGN KEY (`loan_officer_id`) REFERENCES `m_staff` (`id`), + CONSTRAINT `FK_m_loanpurpose_codevalue` FOREIGN KEY (`loanpurpose_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_rejectedon_userid` FOREIGN KEY (`rejectedon_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_withdrawnon_userid` FOREIGN KEY (`withdrawnon_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_writeoffreason_m_loan_m_code_value` FOREIGN KEY (`writeoff_reason_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `m_loan_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_account_locks` ( + `loan_id` bigint(20) NOT NULL, + `lock_owner` varchar(100) NOT NULL, + `error` varchar(255) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `stacktrace` text DEFAULT NULL, + `lock_placed_on` datetime(6) DEFAULT NULL, + `lock_placed_on_cob_business_date` date DEFAULT NULL, + PRIMARY KEY (`loan_id`), + CONSTRAINT `fk_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_amortization_allocation_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `base_loan_transaction_id` bigint(20) NOT NULL, + `date` date NOT NULL, + `amortization_loan_transaction_id` bigint(20) NOT NULL, + `amortization_type` varchar(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_laam_created_by` (`created_by`), + KEY `FK_laam_last_modified_by` (`last_modified_by`), + KEY `FK_laam_loan_id` (`loan_id`), + KEY `FK_laam_base_transaction_id` (`base_loan_transaction_id`), + KEY `FK_laam_amortization_transaction_id` (`amortization_loan_transaction_id`), + CONSTRAINT `FK_laam_amortization_transaction_id` FOREIGN KEY (`amortization_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_laam_base_transaction_id` FOREIGN KEY (`base_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_laam_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_laam_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_laam_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_approved_amount_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `new_approved_amount` decimal(19,6) NOT NULL, + `old_approved_amount` decimal(19,6) NOT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_loan_approved_amount_history_created_by` (`created_by`), + KEY `FK_loan_approved_amount_history_last_modified_by` (`last_modified_by`), + KEY `FK_loan_approved_amount_history_loan_id` (`loan_id`), + CONSTRAINT `FK_loan_approved_amount_history_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_approved_amount_history_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_approved_amount_history_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_arrears_aging` ( + `loan_id` bigint(20) NOT NULL AUTO_INCREMENT, + `principal_overdue_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `interest_overdue_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `fee_charges_overdue_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `penalty_charges_overdue_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `total_overdue_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `overdue_since_date_derived` date DEFAULT NULL, + PRIMARY KEY (`loan_id`), + CONSTRAINT `m_loan_arrears_aging_ibfk_1` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_buy_down_fee_balance` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `version` bigint(20) NOT NULL, + `loan_id` bigint(20) NOT NULL, + `loan_transaction_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `date` date NOT NULL, + `unrecognized_amount` decimal(19,6) NOT NULL, + `charged_off_amount` decimal(19,6) DEFAULT NULL, + `amount_adjustment` decimal(19,6) DEFAULT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `is_closed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `m_loan_buy_down_fee_balance_idx_1` (`loan_id`,`loan_transaction_id`), + KEY `FK_loan_buy_down_fees_balance_created_by` (`created_by`), + KEY `FK_loan_buy_down_fees_balance_last_modified_by` (`last_modified_by`), + KEY `FK_loan_buy_down_fees_balance_transaction_id` (`loan_transaction_id`), + KEY `m_loan_buy_down_fee_balance_idx_2` (`loan_id`), + CONSTRAINT `FK_loan_buy_down_fees_balance_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_buy_down_fees_balance_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_buy_down_fees_balance_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_loan_buy_down_fees_balance_transaction_id` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_capitalized_income_balance` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `version` bigint(20) NOT NULL, + `loan_id` bigint(20) NOT NULL, + `loan_transaction_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `date` date NOT NULL, + `unrecognized_amount` decimal(19,6) NOT NULL, + `charged_off_amount` decimal(19,6) DEFAULT NULL, + `amount_adjustment` decimal(19,6) DEFAULT NULL, + `created_by` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `is_closed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `m_loan_capitalized_income_balance_idx_1` (`loan_id`,`loan_transaction_id`), + KEY `FK_loan_capitalized_income_balance_created_by` (`created_by`), + KEY `FK_loan_capitalized_income_balance_last_modified_by` (`last_modified_by`), + KEY `FK_loan_capitalized_income_balance_transaction_id` (`loan_transaction_id`), + KEY `m_loan_capitalized_income_balance_idx_2` (`loan_id`), + CONSTRAINT `FK_loan_capitalized_income_balance_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_capitalized_income_balance_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_capitalized_income_balance_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_loan_capitalized_income_balance_transaction_id` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + `is_penalty` tinyint(1) NOT NULL DEFAULT 0, + `charge_time_enum` smallint(6) NOT NULL, + `due_for_collection_as_of_date` date DEFAULT NULL, + `charge_calculation_enum` smallint(6) NOT NULL, + `charge_payment_mode_enum` smallint(6) NOT NULL DEFAULT 0, + `calculation_percentage` decimal(19,6) DEFAULT NULL, + `calculation_on_amount` decimal(19,6) DEFAULT NULL, + `charge_amount_or_percentage` decimal(19,6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_paid_derived` decimal(19,6) DEFAULT NULL, + `amount_waived_derived` decimal(19,6) DEFAULT NULL, + `amount_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `amount_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_paid_derived` tinyint(1) NOT NULL DEFAULT 0, + `waived` tinyint(1) NOT NULL DEFAULT 0, + `min_cap` decimal(19,6) DEFAULT NULL, + `max_cap` decimal(19,6) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `external_id` varchar(100) DEFAULT NULL, + `submitted_on_date` date DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `external_id` (`external_id`), + KEY `charge_id` (`charge_id`), + KEY `m_loan_charge_ibfk_2` (`loan_id`), + CONSTRAINT `m_loan_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_loan_charge_ibfk_2` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_charge_paid_by` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_transaction_id` bigint(20) NOT NULL, + `loan_charge_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `installment_number` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK__m_loan_charge` (`loan_charge_id`), + KEY `FK__m_loan_transaction` (`loan_transaction_id`), + CONSTRAINT `FK__m_loan_charge` FOREIGN KEY (`loan_charge_id`) REFERENCES `m_loan_charge` (`id`), + CONSTRAINT `FK__m_loan_transaction` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_collateral` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `type_cv_id` int(11) NOT NULL, + `value` decimal(19,6) DEFAULT NULL, + `description` varchar(500) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_collateral_code_value` (`type_cv_id`), + KEY `FK_collateral_m_loan` (`loan_id`), + CONSTRAINT `FK_collateral_code_value` FOREIGN KEY (`type_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `FK_collateral_m_loan` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_collateral_management` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `quantity` decimal(20,5) NOT NULL, + `loan_id` bigint(20) DEFAULT NULL, + `client_collateral_id` bigint(20) DEFAULT NULL, + `is_released` tinyint(1) DEFAULT 0, + `transaction_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fkClientCollateral` (`client_collateral_id`), + KEY `fkLoan` (`loan_id`), + KEY `fkTransaction` (`transaction_id`), + CONSTRAINT `fkClientCollateral` FOREIGN KEY (`client_collateral_id`) REFERENCES `m_client_collateral_management` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fkLoan` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fkTransaction` FOREIGN KEY (`transaction_id`) REFERENCES `m_loan_transaction` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_delinquency_tag_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `delinquency_range_id` bigint(20) NOT NULL, + `loan_id` bigint(20) NOT NULL, + `addedon_date` date NOT NULL, + `liftedon_date` date DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `version` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_delinquency_tags_range` (`delinquency_range_id`), + KEY `ind_m_loan_delinquency_tag_history_loan_id` (`loan_id`), + KEY `ind_m_loan_delinquency_tag_history_liftedon_date` (`liftedon_date`), + CONSTRAINT `FK_m_delinquency_tags_loan` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_m_delinquency_tags_range` FOREIGN KEY (`delinquency_range_id`) REFERENCES `m_delinquency_range` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_disbursement_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `expected_disburse_date` date DEFAULT NULL, + `disbursedon_date` date DEFAULT NULL, + `principal` decimal(19,6) NOT NULL, + `net_disbursal_amount` decimal(19,6) DEFAULT NULL, + `is_reversed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FK_loan_disbursement_detail_loan_id` (`loan_id`), + CONSTRAINT `FK_loan_disbursement_detail_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_installment_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_charge_id` bigint(20) NOT NULL, + `loan_schedule_id` bigint(20) NOT NULL, + `due_date` date DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_paid_derived` decimal(19,6) DEFAULT NULL, + `amount_waived_derived` decimal(19,6) DEFAULT NULL, + `amount_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `amount_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_paid_derived` tinyint(1) NOT NULL DEFAULT 0, + `waived` tinyint(1) NOT NULL DEFAULT 0, + `amount_through_charge_payment` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_loan_charge_id_charge_schedule` (`loan_charge_id`), + KEY `FK_loan_schedule_id_charge_schedule` (`loan_schedule_id`), + CONSTRAINT `FK_loan_charge_id_charge_schedule` FOREIGN KEY (`loan_charge_id`) REFERENCES `m_loan_charge` (`id`), + CONSTRAINT `FK_loan_schedule_id_charge_schedule` FOREIGN KEY (`loan_schedule_id`) REFERENCES `m_loan_repayment_schedule` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_interest_recalculation_additional_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_repayment_schedule_id` bigint(20) NOT NULL, + `effective_date` date NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_additional_details_repayment_schedule_id` (`loan_repayment_schedule_id`), + CONSTRAINT `FK_additional_details_repayment_schedule_id` FOREIGN KEY (`loan_repayment_schedule_id`) REFERENCES `m_loan_repayment_schedule` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_officer_assignment_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `loan_officer_id` bigint(20) DEFAULT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_m_loan_officer_assignment_history_0001` (`loan_id`), + KEY `fk_m_loan_officer_assignment_history_0002` (`loan_officer_id`), + CONSTRAINT `fk_m_loan_officer_assignment_history_0001` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `fk_m_loan_officer_assignment_history_0002` FOREIGN KEY (`loan_officer_id`) REFERENCES `m_staff` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_overdue_installment_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_charge_id` bigint(20) NOT NULL, + `loan_schedule_id` bigint(20) NOT NULL, + `frequency_number` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_loan_overdue_installment_charge_m_loan_charge` (`loan_charge_id`), + KEY `FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule` (`loan_schedule_id`), + CONSTRAINT `FK_m_loan_overdue_installment_charge_m_loan_charge` FOREIGN KEY (`loan_charge_id`) REFERENCES `m_loan_charge` (`id`), + CONSTRAINT `FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule` FOREIGN KEY (`loan_schedule_id`) REFERENCES `m_loan_repayment_schedule` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_rate` ( + `loan_id` bigint(20) NOT NULL, + `rate_id` bigint(20) NOT NULL, + PRIMARY KEY (`loan_id`,`rate_id`), + KEY `FK_M_LOAN_RATE_RATE` (`rate_id`), + CONSTRAINT `FK_M_LOAN_RATE_LOAN` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_M_LOAN_RATE_RATE` FOREIGN KEY (`rate_id`) REFERENCES `m_rate` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_reage_parameter` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `frequency_type` varchar(100) DEFAULT NULL, + `number_of_installments` smallint(6) NOT NULL, + `start_date` date NOT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + `loan_transaction_id` bigint(20) NOT NULL, + `frequency_number` smallint(6) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_recalculation_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `compound_type_enum` smallint(6) NOT NULL, + `reschedule_strategy_enum` smallint(6) NOT NULL, + `rest_frequency_type_enum` smallint(6) NOT NULL, + `rest_frequency_interval` smallint(6) NOT NULL DEFAULT 0, + `compounding_frequency_type_enum` smallint(6) DEFAULT NULL, + `compounding_frequency_interval` smallint(6) DEFAULT NULL, + `rest_frequency_nth_day_enum` int(11) DEFAULT NULL, + `rest_frequency_on_day` int(11) DEFAULT NULL, + `rest_frequency_weekday_enum` int(11) DEFAULT NULL, + `compounding_frequency_nth_day_enum` int(11) DEFAULT NULL, + `compounding_frequency_on_day` int(11) DEFAULT NULL, + `is_compounding_to_be_posted_as_transaction` tinyint(1) NOT NULL DEFAULT 0, + `compounding_frequency_weekday_enum` int(11) DEFAULT NULL, + `allow_compounding_on_eod` tinyint(1) NOT NULL DEFAULT 0, + `disallow_interest_calc_on_past_due` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FK_m_loan_m_loan_recalculation_details` (`loan_id`), + CONSTRAINT `FK_m_loan_m_loan_recalculation_details` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_repayment_schedule` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `fromdate` date DEFAULT NULL, + `duedate` date NOT NULL, + `installment` smallint(6) NOT NULL, + `principal_amount` decimal(19,6) DEFAULT NULL, + `principal_completed_derived` decimal(19,6) DEFAULT NULL, + `principal_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `interest_amount` decimal(19,6) DEFAULT NULL, + `interest_completed_derived` decimal(19,6) DEFAULT NULL, + `interest_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `interest_waived_derived` decimal(19,6) DEFAULT NULL, + `accrual_interest_derived` decimal(19,6) DEFAULT NULL, + `reschedule_interest_portion` decimal(19,6) DEFAULT NULL, + `fee_charges_amount` decimal(19,6) DEFAULT NULL, + `fee_charges_completed_derived` decimal(19,6) DEFAULT NULL, + `fee_charges_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `fee_charges_waived_derived` decimal(19,6) DEFAULT NULL, + `accrual_fee_charges_derived` decimal(19,6) DEFAULT NULL, + `penalty_charges_amount` decimal(19,6) DEFAULT NULL, + `penalty_charges_completed_derived` decimal(19,6) DEFAULT NULL, + `penalty_charges_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `penalty_charges_waived_derived` decimal(19,6) DEFAULT NULL, + `accrual_penalty_charges_derived` decimal(19,6) DEFAULT NULL, + `total_paid_in_advance_derived` decimal(19,6) DEFAULT NULL, + `total_paid_late_derived` decimal(19,6) DEFAULT NULL, + `completed_derived` tinyint(1) NOT NULL, + `obligations_met_on_date` date DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `recalculated_interest_component` tinyint(1) NOT NULL DEFAULT 0, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `is_additional` tinyint(1) NOT NULL DEFAULT 0, + `credits_amount` decimal(19,6) DEFAULT NULL, + `is_down_payment` tinyint(1) NOT NULL DEFAULT 0, + `credited_interest` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK488B92AA40BE0710` (`loan_id`), + KEY `FK_loan_repayment_schedule_created_by` (`created_by`), + KEY `FK_loan_repayment_schedule_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK488B92AA40BE0710` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_loan_repayment_schedule_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_repayment_schedule_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_repayment_schedule_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `loan_reschedule_request_id` bigint(20) DEFAULT NULL, + `fromdate` date DEFAULT NULL, + `duedate` date NOT NULL, + `installment` smallint(6) NOT NULL, + `principal_amount` decimal(19,6) DEFAULT NULL, + `interest_amount` decimal(19,6) DEFAULT NULL, + `fee_charges_amount` decimal(19,6) DEFAULT NULL, + `penalty_charges_amount` decimal(19,6) DEFAULT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `version` int(11) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `loan_id` (`loan_id`), + KEY `loan_reschedule_request_id` (`loan_reschedule_request_id`), + CONSTRAINT `m_loan_repayment_schedule_history_ibfk_1` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `m_loan_repayment_schedule_history_ibfk_2` FOREIGN KEY (`loan_reschedule_request_id`) REFERENCES `m_loan_reschedule_request` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_reschedule_request` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `status_enum` smallint(6) NOT NULL, + `reschedule_from_installment` smallint(6) NOT NULL COMMENT 'Rescheduling will start from this installment', + `reschedule_from_date` date NOT NULL COMMENT 'Rescheduling will start from the installment with due date similar to this date.', + `recalculate_interest` tinyint(1) DEFAULT NULL COMMENT 'If set to 1, interest will be recalculated starting from the reschedule period.', + `reschedule_reason_cv_id` int(11) DEFAULT NULL COMMENT 'ID of code value of reason for rescheduling', + `reschedule_reason_comment` varchar(500) DEFAULT NULL COMMENT 'Text provided in addition to the reason code value', + `submitted_on_date` date NOT NULL, + `submitted_by_user_id` bigint(20) NOT NULL, + `approved_on_date` date DEFAULT NULL, + `approved_by_user_id` bigint(20) DEFAULT NULL, + `rejected_on_date` date DEFAULT NULL, + `rejected_by_user_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `approved_by_user_id` (`approved_by_user_id`), + KEY `loan_reschedule_request_loan_id` (`loan_id`), + KEY `rejected_by_user_id` (`rejected_by_user_id`), + KEY `reschedule_reason_cv_id` (`reschedule_reason_cv_id`), + KEY `submitted_by_user_id` (`submitted_by_user_id`), + CONSTRAINT `m_loan_reschedule_request_ibfk_1` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `m_loan_reschedule_request_ibfk_2` FOREIGN KEY (`reschedule_reason_cv_id`) REFERENCES `m_code_value` (`id`), + CONSTRAINT `m_loan_reschedule_request_ibfk_3` FOREIGN KEY (`submitted_by_user_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_loan_reschedule_request_ibfk_4` FOREIGN KEY (`approved_by_user_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_loan_reschedule_request_ibfk_5` FOREIGN KEY (`rejected_by_user_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_reschedule_request_term_variations_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_reschedule_request_id` bigint(20) NOT NULL, + `loan_term_variations_id` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK__m_loan_reschedule_request` (`loan_reschedule_request_id`), + KEY `FK__m_loan_term_variations` (`loan_term_variations_id`), + CONSTRAINT `FK__m_loan_reschedule_request` FOREIGN KEY (`loan_reschedule_request_id`) REFERENCES `m_loan_reschedule_request` (`id`), + CONSTRAINT `FK__m_loan_term_variations` FOREIGN KEY (`loan_term_variations_id`) REFERENCES `m_loan_term_variations` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_term_variations` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `term_type` smallint(6) NOT NULL, + `applicable_date` date NOT NULL, + `decimal_value` decimal(19,6) DEFAULT NULL, + `date_value` date DEFAULT NULL, + `is_specific_to_installment` tinyint(1) NOT NULL DEFAULT 0, + `applied_on_loan_status` smallint(6) NOT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `parent_id` bigint(20) DEFAULT NULL, + `created_on_utc` datetime DEFAULT NULL, + `created_by` bigint(20) DEFAULT NULL, + `last_modified_by` bigint(20) DEFAULT NULL, + `last_modified_on_utc` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_loan_id_m_loan_id` (`loan_id`), + KEY `FK_loan_term_variations_created_by` (`created_by`), + KEY `FK_loan_term_variations_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_loan_id_m_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_loan_term_variations_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_term_variations_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_topup` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `closure_loan_id` bigint(20) NOT NULL, + `account_transfer_details_id` bigint(20) DEFAULT NULL, + `topup_amount` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `m_loan_topup_FK_account_transfer_details_id` (`account_transfer_details_id`), + KEY `m_loan_topup_FK_closure_loan_id` (`closure_loan_id`), + KEY `m_loan_topup_FK_loan_id` (`loan_id`), + CONSTRAINT `m_loan_topup_FK_account_transfer_details_id` FOREIGN KEY (`account_transfer_details_id`) REFERENCES `m_account_transfer_details` (`id`), + CONSTRAINT `m_loan_topup_FK_closure_loan_id` FOREIGN KEY (`closure_loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `m_loan_topup_FK_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_tranche_charges` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_loan_tranche_charges_m_charge` (`charge_id`), + KEY `FK_m_loan_tranche_charges_m_loan` (`loan_id`), + CONSTRAINT `FK_m_loan_tranche_charges_m_charge` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `FK_m_loan_tranche_charges_m_loan` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_tranche_disbursement_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_charge_id` bigint(20) NOT NULL, + `disbursement_detail_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_loan_tranche_disbursement_charge_m_loan_charge` (`loan_charge_id`), + KEY `FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detail` (`disbursement_detail_id`), + CONSTRAINT `FK_m_loan_tranche_disbursement_charge_m_loan_charge` FOREIGN KEY (`loan_charge_id`) REFERENCES `m_loan_charge` (`id`), + CONSTRAINT `FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detail` FOREIGN KEY (`disbursement_detail_id`) REFERENCES `m_loan_disbursement_detail` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `payment_detail_id` bigint(20) DEFAULT NULL, + `is_reversed` tinyint(1) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `transaction_type_enum` smallint(6) NOT NULL, + `transaction_date` date NOT NULL, + `amount` decimal(19,6) NOT NULL, + `principal_portion_derived` decimal(19,6) DEFAULT NULL, + `interest_portion_derived` decimal(19,6) DEFAULT NULL, + `fee_charges_portion_derived` decimal(19,6) DEFAULT NULL, + `penalty_charges_portion_derived` decimal(19,6) DEFAULT NULL, + `overpayment_portion_derived` decimal(19,6) DEFAULT NULL, + `unrecognized_income_portion` decimal(19,6) DEFAULT NULL, + `outstanding_loan_balance_derived` decimal(19,6) DEFAULT NULL, + `submitted_on_date` date NOT NULL, + `manually_adjusted_or_reversed` tinyint(1) DEFAULT 0, + `created_date` datetime(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `charge_refund_charge_type` varchar(1) DEFAULT NULL, + `reversal_external_id` varchar(100) DEFAULT NULL, + `reversed_on_date` date DEFAULT NULL, + `version` bigint(20) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + UNIQUE KEY `external_id` (`external_id`), + UNIQUE KEY `UNIQUE_REVERSAL_EXTERNAL_ID_LOAN_TRANSACTION` (`reversal_external_id`), + KEY `FKCFCEA42640BE0710` (`loan_id`), + KEY `FK_m_loan_transaction_m_office` (`office_id`), + KEY `FK_m_loan_transaction_m_payment_detail` (`payment_detail_id`), + KEY `FK_loan_transaction_created_by` (`created_by`), + KEY `FK_loan_transaction_last_modified_by` (`last_modified_by`), + CONSTRAINT `FKCFCEA42640BE0710` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK_loan_transaction_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_loan_transaction_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_loan_transaction_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_loan_transaction_m_payment_detail` FOREIGN KEY (`payment_detail_id`) REFERENCES `m_payment_detail` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_transaction_relation` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `from_loan_transaction_id` bigint(20) NOT NULL, + `to_loan_transaction_id` bigint(20) DEFAULT NULL, + `relation_type_enum` int(11) NOT NULL, + `created_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + `to_loan_charge_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_loan_transaction_from_relation` (`from_loan_transaction_id`), + KEY `FK_m_loan_transaction_to_relation` (`to_loan_transaction_id`), + KEY `FK_m_loan_charge_to_relation` (`to_loan_charge_id`), + CONSTRAINT `FK_m_loan_charge_to_relation` FOREIGN KEY (`to_loan_charge_id`) REFERENCES `m_loan_charge` (`id`), + CONSTRAINT `FK_m_loan_transaction_from_relation` FOREIGN KEY (`from_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK_m_loan_transaction_to_relation` FOREIGN KEY (`to_loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loan_transaction_repayment_schedule_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_transaction_id` bigint(20) NOT NULL, + `loan_repayment_schedule_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `principal_portion_derived` decimal(19,6) DEFAULT NULL, + `interest_portion_derived` decimal(19,6) DEFAULT NULL, + `fee_charges_portion_derived` decimal(19,6) DEFAULT NULL, + `penalty_charges_portion_derived` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_mappings_m_loan_repayment_schedule` (`loan_repayment_schedule_id`), + KEY `FK_mappings_m_loan_transaction` (`loan_transaction_id`), + CONSTRAINT `FK_mappings_m_loan_repayment_schedule` FOREIGN KEY (`loan_repayment_schedule_id`) REFERENCES `m_loan_repayment_schedule` (`id`), + CONSTRAINT `FK_mappings_m_loan_transaction` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loanproduct_provisioning_entry` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `history_id` bigint(20) NOT NULL, + `criteria_id` bigint(20) NOT NULL, + `currency_code` varchar(3) NOT NULL, + `office_id` bigint(20) NOT NULL, + `product_id` bigint(20) NOT NULL, + `category_id` bigint(20) NOT NULL, + `overdue_in_days` bigint(20) DEFAULT 0, + `reseve_amount` decimal(20,6) DEFAULT 0.000000, + `liability_account` bigint(20) DEFAULT NULL, + `expense_account` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `category_id` (`category_id`), + KEY `fk_loanproduct_provisioning_entry_criteria` (`criteria_id`), + KEY `expense_account` (`expense_account`), + KEY `history_id` (`history_id`), + KEY `loanproduct_provisioning_entry_liability_account` (`liability_account`), + KEY `loanproduct_provisioning_entry_office_id` (`office_id`), + KEY `loanproduct_provisioning_entry_product_id` (`product_id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_1` FOREIGN KEY (`history_id`) REFERENCES `m_provisioning_history` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_2` FOREIGN KEY (`criteria_id`) REFERENCES `m_provisioning_criteria` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_3` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_4` FOREIGN KEY (`product_id`) REFERENCES `m_product_loan` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_5` FOREIGN KEY (`category_id`) REFERENCES `m_provision_category` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_6` FOREIGN KEY (`liability_account`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `m_loanproduct_provisioning_entry_ibfk_7` FOREIGN KEY (`expense_account`) REFERENCES `acc_gl_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_loanproduct_provisioning_mapping` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `product_id` bigint(20) NOT NULL, + `criteria_id` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `product_id` (`product_id`), + KEY `fk_loanproduct_provisioning_mapping_criteria` (`criteria_id`), + CONSTRAINT `m_loanproduct_provisioning_mapping_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `m_product_loan` (`id`), + CONSTRAINT `m_loanproduct_provisioning_mapping_ibfk_2` FOREIGN KEY (`criteria_id`) REFERENCES `m_provisioning_criteria` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_mandatory_savings_schedule` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL, + `fromdate` date DEFAULT NULL, + `duedate` date NOT NULL, + `installment` smallint(6) NOT NULL, + `deposit_amount` decimal(19,6) DEFAULT NULL, + `deposit_amount_completed_derived` decimal(19,6) DEFAULT NULL, + `total_paid_in_advance_derived` decimal(19,6) DEFAULT NULL, + `total_paid_late_derived` decimal(19,6) DEFAULT NULL, + `completed_derived` tinyint(1) NOT NULL, + `obligations_met_on_date` date DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FKMSS0000000001` (`savings_account_id`), + KEY `FK_mandatory_savings_schedule_created_by` (`created_by`), + KEY `FK_mandatory_savings_schedule_last_modified_by` (`last_modified_by`), + CONSTRAINT `FKMSS0000000001` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `FK_mandatory_savings_schedule_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_mandatory_savings_schedule_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_meeting` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `calendar_instance_id` bigint(20) NOT NULL, + `meeting_date` date NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique_calendar_instance_id_meeting_date` (`calendar_instance_id`,`meeting_date`), + CONSTRAINT `FK_m_calendar_instance_m_meeting` FOREIGN KEY (`calendar_instance_id`) REFERENCES `m_calendar_instance` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_note` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `client_id` bigint(20) DEFAULT NULL, + `group_id` bigint(20) DEFAULT NULL, + `loan_id` bigint(20) DEFAULT NULL, + `loan_transaction_id` bigint(20) DEFAULT NULL, + `savings_account_id` bigint(20) DEFAULT NULL, + `savings_account_transaction_id` bigint(20) DEFAULT NULL, + `share_account_id` bigint(20) DEFAULT NULL, + `note_type_enum` smallint(6) NOT NULL, + `note` varchar(1000) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) DEFAULT NULL, + `last_modified_on_utc` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK7C9708924D26803` (`loan_transaction_id`), + KEY `FK7C9708940BE0710` (`loan_id`), + KEY `FK7C97089541F0A56` (`created_by`), + KEY `FK7C970897179A0CB` (`client_id`), + KEY `FK7C970898F889C3F` (`last_modified_by`), + KEY `FK_m_note_m_group` (`group_id`), + KEY `FK_savings_account_id` (`savings_account_id`), + KEY `savings_account_transaction_id` (`savings_account_transaction_id`), + CONSTRAINT `FK7C9708924D26803` FOREIGN KEY (`loan_transaction_id`) REFERENCES `m_loan_transaction` (`id`), + CONSTRAINT `FK7C9708940BE0710` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `FK7C97089541F0A56` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK7C970897179A0CB` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FK7C970898F889C3F` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_note_m_group` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `FK_note_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_note_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_account_id` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_office` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `parent_id` bigint(20) DEFAULT NULL, + `hierarchy` varchar(100) DEFAULT NULL, + `external_id` varchar(100) DEFAULT NULL, + `name` varchar(50) NOT NULL, + `opening_date` date NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FK2291C477E2551DCC` (`parent_id`), + CONSTRAINT `FK2291C477E2551DCC` FOREIGN KEY (`parent_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_office_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `from_office_id` bigint(20) DEFAULT NULL, + `to_office_id` bigint(20) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` int(11) NOT NULL, + `transaction_amount` decimal(19,6) NOT NULL, + `transaction_date` date NOT NULL, + `description` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK1E37728B783C5C25` (`from_office_id`), + KEY `FK1E37728B93C6C1B6` (`to_office_id`), + CONSTRAINT `FK1E37728B783C5C25` FOREIGN KEY (`from_office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK1E37728B93C6C1B6` FOREIGN KEY (`to_office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_organisation_creditbureau` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `alias` varchar(50) NOT NULL, + `creditbureau_id` bigint(20) NOT NULL, + `is_active` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `morgcb` (`alias`,`creditbureau_id`), + KEY `orgcb_cbfk` (`creditbureau_id`), + CONSTRAINT `orgcb_cbfk` FOREIGN KEY (`creditbureau_id`) REFERENCES `m_creditbureau` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_organisation_currency` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `code` varchar(3) NOT NULL, + `decimal_places` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `name` varchar(50) NOT NULL, + `display_symbol` varchar(10) DEFAULT NULL, + `internationalized_name_code` varchar(50) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_password_validation_policy` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `regex` text NOT NULL, + `description` text NOT NULL, + `active` tinyint(1) NOT NULL DEFAULT 0, + `key` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_payment_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `payment_type_id` int(11) DEFAULT NULL, + `account_number` varchar(100) DEFAULT NULL, + `check_number` varchar(100) DEFAULT NULL, + `receipt_number` varchar(100) DEFAULT NULL, + `bank_number` varchar(100) DEFAULT NULL, + `routing_code` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_payment_detail_m_payment_type` (`payment_type_id`), + CONSTRAINT `FK_m_payment_detail_m_payment_type` FOREIGN KEY (`payment_type_id`) REFERENCES `m_payment_type` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_payment_type` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `value` varchar(100) DEFAULT NULL, + `description` varchar(500) DEFAULT NULL, + `is_cash_payment` tinyint(1) DEFAULT 0, + `order_position` int(11) NOT NULL DEFAULT 0, + `code_name` varchar(100) DEFAULT NULL, + `is_system_defined` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_permission` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `grouping` varchar(45) DEFAULT NULL, + `code` varchar(100) NOT NULL, + `entity_name` varchar(100) DEFAULT NULL, + `action_name` varchar(100) DEFAULT NULL, + `can_maker_checker` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_portfolio_account_associations` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_account_id` bigint(20) DEFAULT NULL, + `savings_account_id` bigint(20) DEFAULT NULL, + `linked_loan_account_id` bigint(20) DEFAULT NULL, + `linked_savings_account_id` bigint(20) DEFAULT NULL, + `association_type_enum` smallint(6) NOT NULL DEFAULT 1, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `account_association_loan_fk` (`loan_account_id`), + KEY `account_association_savings_fk` (`savings_account_id`), + KEY `linked_loan_fk` (`linked_loan_account_id`), + KEY `linked_savings_fk` (`linked_savings_account_id`), + CONSTRAINT `account_association_loan_fk` FOREIGN KEY (`loan_account_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `account_association_savings_fk` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `linked_loan_fk` FOREIGN KEY (`linked_loan_account_id`) REFERENCES `m_loan` (`id`), + CONSTRAINT `linked_savings_fk` FOREIGN KEY (`linked_savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_portfolio_command_source` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `action_name` varchar(50) NOT NULL, + `entity_name` varchar(50) NOT NULL, + `office_id` bigint(20) DEFAULT NULL, + `group_id` bigint(20) DEFAULT NULL, + `client_id` bigint(20) DEFAULT NULL, + `loan_id` bigint(20) DEFAULT NULL, + `savings_account_id` bigint(20) DEFAULT NULL, + `api_get_url` varchar(100) NOT NULL, + `resource_id` bigint(20) DEFAULT NULL, + `subresource_id` bigint(20) DEFAULT NULL, + `command_as_json` text NOT NULL, + `maker_id` bigint(20) NOT NULL, + `made_on_date` datetime(6) DEFAULT NULL, + `checker_id` bigint(20) DEFAULT NULL, + `checked_on_date` datetime(6) DEFAULT NULL, + `status` smallint(6) DEFAULT NULL, + `product_id` bigint(20) DEFAULT NULL, + `transaction_id` varchar(100) DEFAULT NULL, + `creditbureau_id` bigint(20) DEFAULT NULL, + `organisation_creditbureau_id` bigint(20) DEFAULT NULL, + `made_on_date_utc` datetime(6) DEFAULT NULL, + `checked_on_date_utc` datetime(6) DEFAULT NULL, + `job_name` varchar(100) DEFAULT NULL, + `idempotency_key` varchar(50) NOT NULL, + `resource_external_id` varchar(100) DEFAULT NULL, + `subresource_external_id` varchar(100) DEFAULT NULL, + `result` text DEFAULT NULL, + `result_status_code` int(11) DEFAULT NULL, + `loan_external_id` varchar(100) DEFAULT NULL, + `is_sanitized` tinyint(1) NOT NULL DEFAULT 0, + `client_ip` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `UNIQUE_PORTFOLIO_COMMAND_SOURCE` (`action_name`,`entity_name`,`idempotency_key`), + KEY `FK_m_checker_m_appuser` (`checker_id`), + KEY `FK_m_maker_m_appuser` (`maker_id`), + KEY `action_name` (`action_name`), + KEY `checked_on_date` (`checked_on_date`), + KEY `entity_name` (`entity_name`,`resource_id`), + KEY `made_on_date` (`made_on_date`), + KEY `portfolio_command_source_office_id` (`office_id`), + KEY `processing_result_enum` (`status`), + KEY `portfolio_command_source_composite_index` (`action_name`,`entity_name`,`idempotency_key`), + CONSTRAINT `FK_m_checker_m_appuser` FOREIGN KEY (`checker_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_maker_m_appuser` FOREIGN KEY (`maker_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `short_name` varchar(4) NOT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `principal_amount` decimal(19,6) DEFAULT NULL, + `min_principal_amount` decimal(19,6) DEFAULT NULL, + `max_principal_amount` decimal(19,6) DEFAULT NULL, + `arrearstolerance_amount` decimal(19,6) DEFAULT NULL, + `name` varchar(100) NOT NULL, + `description` varchar(500) DEFAULT NULL, + `fund_id` bigint(20) DEFAULT NULL, + `is_linked_to_floating_interest_rates` tinyint(1) NOT NULL DEFAULT 0, + `allow_variabe_installments` tinyint(1) NOT NULL DEFAULT 0, + `nominal_interest_rate_per_period` decimal(19,6) DEFAULT NULL, + `min_nominal_interest_rate_per_period` decimal(19,6) DEFAULT NULL, + `max_nominal_interest_rate_per_period` decimal(19,6) DEFAULT NULL, + `interest_period_frequency_enum` smallint(6) DEFAULT NULL, + `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, + `interest_method_enum` smallint(6) NOT NULL, + `interest_calculated_in_period_enum` smallint(6) NOT NULL DEFAULT 1, + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT 0, + `repay_every` smallint(6) NOT NULL, + `repayment_period_frequency_enum` smallint(6) NOT NULL, + `number_of_repayments` smallint(6) NOT NULL, + `min_number_of_repayments` smallint(6) DEFAULT NULL, + `max_number_of_repayments` smallint(6) DEFAULT NULL, + `grace_on_principal_periods` smallint(6) DEFAULT NULL, + `recurring_moratorium_principal_periods` smallint(6) DEFAULT NULL, + `grace_on_interest_periods` smallint(6) DEFAULT NULL, + `grace_interest_free_periods` smallint(6) DEFAULT NULL, + `amortization_method_enum` smallint(6) NOT NULL, + `accounting_type` smallint(6) NOT NULL, + `loan_transaction_strategy_id` bigint(20) DEFAULT NULL, + `external_id` varchar(100) DEFAULT NULL, + `include_in_borrower_cycle` tinyint(1) NOT NULL DEFAULT 0, + `use_borrower_cycle` tinyint(1) NOT NULL DEFAULT 0, + `start_date` date DEFAULT NULL, + `close_date` date DEFAULT NULL, + `allow_multiple_disbursals` tinyint(1) NOT NULL DEFAULT 0, + `max_disbursals` int(11) DEFAULT NULL, + `max_outstanding_loan_balance` decimal(19,6) DEFAULT NULL, + `grace_on_arrears_ageing` smallint(6) DEFAULT NULL, + `overdue_days_for_npa` smallint(6) DEFAULT NULL, + `days_in_month_enum` smallint(6) NOT NULL DEFAULT 1, + `days_in_year_enum` smallint(6) NOT NULL DEFAULT 1, + `interest_recalculation_enabled` tinyint(1) NOT NULL DEFAULT 0, + `min_days_between_disbursal_and_first_repayment` int(11) DEFAULT NULL, + `hold_guarantee_funds` tinyint(1) NOT NULL DEFAULT 0, + `principal_threshold_for_last_installment` decimal(5,2) NOT NULL DEFAULT 50.00, + `account_moves_out_of_npa_only_on_arrears_completion` tinyint(1) NOT NULL DEFAULT 0, + `can_define_fixed_emi_amount` tinyint(1) NOT NULL DEFAULT 0, + `instalment_amount_in_multiples_of` decimal(19,6) DEFAULT NULL, + `can_use_for_topup` tinyint(1) NOT NULL DEFAULT 0, + `sync_expected_with_disbursement_date` tinyint(1) DEFAULT 0, + `is_equal_amortization` tinyint(1) NOT NULL DEFAULT 0, + `fixed_principal_percentage_per_installment` decimal(5,2) DEFAULT NULL, + `disallow_expected_disbursements` tinyint(1) NOT NULL DEFAULT 0, + `allow_approved_disbursed_amounts_over_applied` tinyint(1) NOT NULL DEFAULT 0, + `over_applied_calculation_type` varchar(10) DEFAULT NULL, + `over_applied_number` int(11) DEFAULT NULL, + `delinquency_bucket_id` bigint(20) DEFAULT NULL, + `loan_transaction_strategy_code` varchar(100) NOT NULL DEFAULT '-', + `loan_transaction_strategy_name` varchar(100) NOT NULL DEFAULT '-', + `due_days_for_repayment_event` int(11) DEFAULT NULL, + `overdue_days_for_repayment_event` int(11) DEFAULT NULL, + `enable_down_payment` tinyint(1) NOT NULL DEFAULT 0, + `disbursed_amount_percentage_for_down_payment` decimal(9,6) DEFAULT NULL, + `enable_installment_level_delinquency` tinyint(1) NOT NULL DEFAULT 0, + `enable_accrual_activity_posting` tinyint(1) NOT NULL DEFAULT 0, + `days_in_year_custom_strategy` varchar(100) DEFAULT NULL, + `enable_income_capitalization` tinyint(1) NOT NULL DEFAULT 0, + `capitalized_income_calculation_type` varchar(100) DEFAULT NULL, + `capitalized_income_strategy` varchar(100) DEFAULT NULL, + `capitalized_income_type` varchar(10) DEFAULT NULL, + `enable_buy_down_fee` tinyint(1) NOT NULL DEFAULT 0, + `buy_down_fee_calculation_type` varchar(100) DEFAULT NULL, + `buy_down_fee_strategy` varchar(100) DEFAULT NULL, + `buy_down_fee_income_type` varchar(100) DEFAULT NULL, + `allow_full_term_for_tranche` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `short_name` (`short_name`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FKA6A8A7D77240145` (`fund_id`), + KEY `FK_ltp_strategy` (`loan_transaction_strategy_id`), + KEY `FK_m_product_loan_m_delinquency_bucket` (`delinquency_bucket_id`), + CONSTRAINT `FKA6A8A7D77240145` FOREIGN KEY (`fund_id`) REFERENCES `m_fund` (`id`), + CONSTRAINT `FK_m_product_loan_m_delinquency_bucket` FOREIGN KEY (`delinquency_bucket_id`) REFERENCES `m_delinquency_bucket` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_charge` ( + `product_loan_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`product_loan_id`,`charge_id`), + KEY `fk_product_loan_charge_charge` (`charge_id`), + CONSTRAINT `m_product_loan_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_product_loan_charge_ibfk_2` FOREIGN KEY (`product_loan_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_configurable_attributes` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `amortization_method_enum` tinyint(1) NOT NULL DEFAULT 1, + `interest_method_enum` tinyint(1) NOT NULL DEFAULT 1, + `loan_transaction_strategy_code` tinyint(1) DEFAULT NULL, + `interest_calculated_in_period_enum` tinyint(1) NOT NULL DEFAULT 1, + `arrearstolerance_amount` tinyint(1) NOT NULL DEFAULT 1, + `repay_every` tinyint(1) NOT NULL DEFAULT 1, + `moratorium` tinyint(1) NOT NULL DEFAULT 1, + `grace_on_arrears_ageing` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `fk_m_product_loan_configurable_attributes_0001` (`loan_product_id`), + CONSTRAINT `fk_m_product_loan_configurable_attributes_0001` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_floating_rates` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `floating_rates_id` bigint(20) NOT NULL, + `interest_rate_differential` decimal(19,6) NOT NULL DEFAULT 0.000000, + `min_differential_lending_rate` decimal(19,6) NOT NULL DEFAULT 0.000000, + `default_differential_lending_rate` decimal(19,6) NOT NULL DEFAULT 0.000000, + `max_differential_lending_rate` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_floating_interest_rate_calculation_allowed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FK_mappings_m_floating_rates_id` (`floating_rates_id`), + KEY `FK_mappings_m_product_loan_id` (`loan_product_id`), + CONSTRAINT `FK_mappings_m_floating_rates_id` FOREIGN KEY (`floating_rates_id`) REFERENCES `m_floating_rates` (`id`), + CONSTRAINT `FK_mappings_m_product_loan_id` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_guarantee_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `mandatory_guarantee` decimal(19,5) NOT NULL, + `minimum_guarantee_from_own_funds` decimal(19,5) DEFAULT NULL, + `minimum_guarantee_from_guarantor_funds` decimal(19,5) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_guarantee_details_loan_product` (`loan_product_id`), + CONSTRAINT `FK_guarantee_details_loan_product` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_rate` ( + `product_loan_id` bigint(20) NOT NULL, + `rate_id` bigint(20) NOT NULL, + PRIMARY KEY (`product_loan_id`,`rate_id`), + KEY `FK_M_PRODUCT_LOAN_RATE_RATE` (`rate_id`), + CONSTRAINT `FK_M_PRODUCT_LOAN_RATE_LOAN` FOREIGN KEY (`product_loan_id`) REFERENCES `m_product_loan` (`id`), + CONSTRAINT `FK_M_PRODUCT_LOAN_RATE_RATE` FOREIGN KEY (`rate_id`) REFERENCES `m_rate` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_recalculation_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `product_id` bigint(20) NOT NULL, + `compound_type_enum` smallint(6) NOT NULL, + `reschedule_strategy_enum` smallint(6) NOT NULL, + `rest_frequency_type_enum` smallint(6) NOT NULL, + `rest_frequency_interval` smallint(6) NOT NULL DEFAULT 0, + `arrears_based_on_original_schedule` tinyint(1) NOT NULL DEFAULT 0, + `pre_close_interest_calculation_strategy` smallint(6) NOT NULL DEFAULT 1, + `compounding_frequency_type_enum` smallint(6) DEFAULT NULL, + `compounding_frequency_interval` smallint(6) DEFAULT NULL, + `rest_frequency_nth_day_enum` int(11) DEFAULT NULL, + `rest_frequency_on_day` int(11) DEFAULT NULL, + `rest_frequency_weekday_enum` int(11) DEFAULT NULL, + `compounding_frequency_nth_day_enum` int(11) DEFAULT NULL, + `compounding_frequency_on_day` int(11) DEFAULT NULL, + `compounding_frequency_weekday_enum` int(11) DEFAULT NULL, + `is_compounding_to_be_posted_as_transaction` tinyint(1) NOT NULL DEFAULT 0, + `allow_compounding_on_eod` tinyint(1) NOT NULL DEFAULT 0, + `disallow_interest_calc_on_past_due` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FK_m_product_loan_m_product_loan_recalculation_details` (`product_id`), + CONSTRAINT `FK_m_product_loan_m_product_loan_recalculation_details` FOREIGN KEY (`product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_variable_installment_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `minimum_gap` int(11) NOT NULL, + `maximum_gap` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_mappings_m_variable_product_loan_id` (`loan_product_id`), + CONSTRAINT `FK_mappings_m_variable_product_loan_id` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_loan_variations_borrower_cycle` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL DEFAULT 0, + `borrower_cycle_number` int(11) NOT NULL DEFAULT 0, + `value_condition` int(11) NOT NULL DEFAULT 0, + `param_type` int(11) NOT NULL DEFAULT 0, + `default_value` decimal(19,6) NOT NULL DEFAULT 0.000000, + `max_value` decimal(19,6) DEFAULT NULL, + `min_value` decimal(19,6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `borrower_cycle_loan_product_FK` (`loan_product_id`), + CONSTRAINT `borrower_cycle_loan_product_FK` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_product_mix` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `product_id` bigint(20) NOT NULL, + `restricted_product_id` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_product_mix_product_id_to_m_product_loan` (`product_id`), + KEY `FK_m_product_mix_restricted_product_id_to_m_product_loan` (`restricted_product_id`), + CONSTRAINT `FK_m_product_mix_product_id_to_m_product_loan` FOREIGN KEY (`product_id`) REFERENCES `m_product_loan` (`id`), + CONSTRAINT `FK_m_product_mix_restricted_product_id_to_m_product_loan` FOREIGN KEY (`restricted_product_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_provision_category` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `category_name` varchar(100) NOT NULL, + `description` varchar(300) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `category_name` (`category_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_provisioning_criteria` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `criteria_name` varchar(200) NOT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `criteria_name` (`criteria_name`), + KEY `fk_provisioning_criteria_createdby` (`createdby_id`), + KEY `provisioning_criteria_lastmodifiedby_id` (`lastmodifiedby_id`), + CONSTRAINT `m_provisioning_criteria_ibfk_1` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_provisioning_criteria_ibfk_2` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_provisioning_criteria_definition` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `criteria_id` bigint(20) NOT NULL, + `category_id` bigint(20) NOT NULL, + `min_age` bigint(20) NOT NULL, + `max_age` bigint(20) NOT NULL, + `provision_percentage` decimal(5,2) NOT NULL, + `liability_account` bigint(20) DEFAULT NULL, + `expense_account` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_provisioning_criteria_definition_category` (`category_id`), + KEY `fk_loanproduct_criteria_definition_criteria` (`criteria_id`), + KEY `fk_provisioning_criteria_definition_expense_account` (`expense_account`), + KEY `provisioning_criteria_definition_liability_account` (`liability_account`), + CONSTRAINT `m_provisioning_criteria_definition_ibfk_1` FOREIGN KEY (`criteria_id`) REFERENCES `m_provisioning_criteria` (`id`), + CONSTRAINT `m_provisioning_criteria_definition_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `m_provision_category` (`id`), + CONSTRAINT `m_provisioning_criteria_definition_ibfk_3` FOREIGN KEY (`liability_account`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `m_provisioning_criteria_definition_ibfk_4` FOREIGN KEY (`expense_account`) REFERENCES `acc_gl_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_provisioning_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `journal_entry_created` tinyint(1) DEFAULT 0, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` date DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `fk_provisioning_history_createdby` (`createdby_id`), + KEY `provisioning_history_lastmodifiedby_id` (`lastmodifiedby_id`), + CONSTRAINT `m_provisioning_history_ibfk_1` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_provisioning_history_ibfk_2` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_rate` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(250) NOT NULL, + `percentage` decimal(10,2) NOT NULL, + `active` tinyint(1) DEFAULT 0, + `product_apply` smallint(6) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `createdby_id` bigint(20) NOT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `approve_user` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_M_RATE_APPROVE_USER` (`approve_user`), + KEY `FK_M_RATE_CREATE_USER` (`createdby_id`), + CONSTRAINT `FK_M_RATE_APPROVE_USER` FOREIGN KEY (`approve_user`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_M_RATE_CREATE_USER` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_repayment_with_post_dated_checks` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `check_no` bigint(20) NOT NULL, + `amount` decimal(20,5) NOT NULL, + `loan_id` bigint(20) DEFAULT NULL, + `repayment_id` bigint(20) DEFAULT NULL, + `account_no` bigint(20) NOT NULL, + `bank_name` varchar(200) NOT NULL, + `repayment_date` date NOT NULL, + `status` smallint(6) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `check_no` (`check_no`), + KEY `fkloanrepayment` (`loan_id`), + KEY `fkrepaymentwithpostdated` (`repayment_id`), + CONSTRAINT `fkloanrepayment` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fkrepaymentwithpostdated` FOREIGN KEY (`repayment_id`) REFERENCES `m_loan_repayment_schedule` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_report_mailing_job` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `description` text DEFAULT NULL, + `start_datetime` datetime(6) DEFAULT NULL, + `recurrence` varchar(100) DEFAULT NULL, + `created_date` date NOT NULL, + `createdby_id` bigint(20) NOT NULL, + `lastmodified_date` date DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `email_recipients` text NOT NULL, + `email_subject` varchar(100) NOT NULL, + `email_message` text NOT NULL, + `email_attachment_file_format` varchar(10) NOT NULL, + `stretchy_report_id` int(11) NOT NULL, + `stretchy_report_param_map` text DEFAULT NULL, + `previous_run_datetime` datetime(6) DEFAULT NULL, + `next_run_datetime` datetime(6) DEFAULT NULL, + `previous_run_status` varchar(10) DEFAULT NULL, + `previous_run_error_log` text DEFAULT NULL, + `previous_run_error_message` text DEFAULT NULL, + `number_of_runs` int(11) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL DEFAULT 0, + `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `run_as_userid` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `fk_report_mailing_job_createdby` (`createdby_id`), + KEY `report_mailing_job_lastmodifiedby_id` (`lastmodifiedby_id`), + KEY `run_as_userid` (`run_as_userid`), + KEY `stretchy_report_id` (`stretchy_report_id`), + CONSTRAINT `m_report_mailing_job_ibfk_1` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_report_mailing_job_ibfk_2` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_report_mailing_job_ibfk_3` FOREIGN KEY (`stretchy_report_id`) REFERENCES `stretchy_report` (`id`), + CONSTRAINT `m_report_mailing_job_ibfk_4` FOREIGN KEY (`run_as_userid`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_report_mailing_job_configuration` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `value` varchar(200) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_report_mailing_job_run_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `job_id` bigint(20) NOT NULL, + `start_datetime` datetime(6) DEFAULT NULL, + `end_datetime` datetime(6) DEFAULT NULL, + `status` varchar(10) NOT NULL, + `error_message` text DEFAULT NULL, + `error_log` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `job_id` (`job_id`), + CONSTRAINT `m_report_mailing_job_run_history_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `m_report_mailing_job` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_role` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `description` varchar(500) NOT NULL, + `is_disabled` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_role_permission` ( + `role_id` bigint(20) NOT NULL, + `permission_id` bigint(20) NOT NULL, + PRIMARY KEY (`role_id`,`permission_id`), + KEY `FK8DEDB048103B544B` (`permission_id`), + KEY `FK8DEDB04815CEC7AB` (`role_id`), + CONSTRAINT `FK8DEDB048103B544B` FOREIGN KEY (`permission_id`) REFERENCES `m_permission` (`id`), + CONSTRAINT `FK8DEDB04815CEC7AB` FOREIGN KEY (`role_id`) REFERENCES `m_role` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_no` varchar(20) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `client_id` bigint(20) DEFAULT NULL, + `group_id` bigint(20) DEFAULT NULL, + `gsim_id` bigint(20) DEFAULT NULL, + `product_id` bigint(20) DEFAULT NULL, + `field_officer_id` bigint(20) DEFAULT NULL, + `status_enum` smallint(6) NOT NULL DEFAULT 300, + `sub_status_enum` smallint(6) NOT NULL DEFAULT 0, + `account_type_enum` smallint(6) NOT NULL DEFAULT 1, + `deposit_type_enum` smallint(6) NOT NULL DEFAULT 100, + `submittedon_date` date NOT NULL, + `submittedon_userid` bigint(20) DEFAULT NULL, + `approvedon_date` date DEFAULT NULL, + `approvedon_userid` bigint(20) DEFAULT NULL, + `rejectedon_date` date DEFAULT NULL, + `rejectedon_userid` bigint(20) DEFAULT NULL, + `withdrawnon_date` date DEFAULT NULL, + `withdrawnon_userid` bigint(20) DEFAULT NULL, + `activatedon_date` date DEFAULT NULL, + `activatedon_userid` bigint(20) DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `nominal_annual_interest_rate` decimal(19,6) NOT NULL, + `interest_compounding_period_enum` smallint(6) NOT NULL, + `interest_posting_period_enum` smallint(6) NOT NULL DEFAULT 4, + `interest_calculation_type_enum` smallint(6) NOT NULL, + `interest_calculation_days_in_year_type_enum` smallint(6) NOT NULL, + `min_required_opening_balance` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency_enum` smallint(6) DEFAULT NULL, + `withdrawal_fee_for_transfer` tinyint(1) DEFAULT 1, + `allow_overdraft` tinyint(1) NOT NULL DEFAULT 0, + `overdraft_limit` decimal(19,6) DEFAULT NULL, + `nominal_annual_interest_rate_overdraft` decimal(19,6) DEFAULT 0.000000, + `min_overdraft_for_interest_calculation` decimal(19,6) DEFAULT 0.000000, + `lockedin_until_date_derived` date DEFAULT NULL, + `total_deposits_derived` decimal(19,6) DEFAULT NULL, + `total_withdrawals_derived` decimal(19,6) DEFAULT NULL, + `total_withdrawal_fees_derived` decimal(19,6) DEFAULT NULL, + `total_fees_charge_derived` decimal(19,6) DEFAULT NULL, + `total_penalty_charge_derived` decimal(19,6) DEFAULT NULL, + `total_annual_fees_derived` decimal(19,6) DEFAULT NULL, + `total_interest_earned_derived` decimal(19,6) DEFAULT NULL, + `total_interest_posted_derived` decimal(19,6) DEFAULT NULL, + `total_overdraft_interest_derived` decimal(19,6) DEFAULT 0.000000, + `total_withhold_tax_derived` decimal(19,6) DEFAULT NULL, + `account_balance_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `min_required_balance` decimal(19,6) DEFAULT NULL, + `enforce_min_required_balance` tinyint(1) NOT NULL DEFAULT 0, + `min_balance_for_interest_calculation` decimal(19,6) DEFAULT NULL, + `start_interest_calculation_date` date DEFAULT NULL, + `on_hold_funds_derived` decimal(19,6) DEFAULT NULL, + `version` int(11) NOT NULL DEFAULT 1, + `withhold_tax` tinyint(1) NOT NULL DEFAULT 0, + `tax_group_id` bigint(20) DEFAULT NULL, + `last_interest_calculation_date` date DEFAULT NULL, + `total_savings_amount_on_hold` decimal(19,6) DEFAULT NULL, + `interest_posted_till_date` date DEFAULT NULL, + `reason_for_block` varchar(256) DEFAULT NULL, + `max_allowed_lien_limit` decimal(19,6) DEFAULT NULL, + `is_lien_allowed` tinyint(1) NOT NULL DEFAULT 0, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `account_no` (`account_no`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FKSA00000000000001` (`client_id`), + KEY `FKSA00000000000002` (`group_id`), + KEY `FKSA00000000000003` (`product_id`), + KEY `FK_gsim_id` (`gsim_id`), + KEY `FK_savings_account_tax_group` (`tax_group_id`), + KEY `FK_savings_account_created_by` (`created_by`), + KEY `FK_savings_account_last_modified_by` (`last_modified_by`), + CONSTRAINT `FKSA00000000000001` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FKSA00000000000002` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `FKSA00000000000003` FOREIGN KEY (`product_id`) REFERENCES `m_savings_product` (`id`), + CONSTRAINT `FK_gsim_id` FOREIGN KEY (`gsim_id`) REFERENCES `gsim_accounts` (`id`), + CONSTRAINT `FK_savings_account_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_account_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_account_tax_group` FOREIGN KEY (`tax_group_id`) REFERENCES `m_tax_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + `is_penalty` tinyint(1) NOT NULL DEFAULT 0, + `charge_time_enum` smallint(6) NOT NULL, + `charge_due_date` date DEFAULT NULL, + `fee_on_month` smallint(6) DEFAULT NULL, + `fee_on_day` smallint(6) DEFAULT NULL, + `fee_interval` smallint(6) DEFAULT NULL, + `free_withdrawal_count` int(11) DEFAULT 0, + `charge_reset_date` date DEFAULT NULL, + `charge_calculation_enum` smallint(6) NOT NULL, + `calculation_percentage` decimal(19,6) DEFAULT NULL, + `calculation_on_amount` decimal(19,6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_paid_derived` decimal(19,6) DEFAULT NULL, + `amount_waived_derived` decimal(19,6) DEFAULT NULL, + `amount_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `amount_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_paid_derived` tinyint(1) NOT NULL DEFAULT 0, + `waived` tinyint(1) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `inactivated_on_date` date DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_savings_account_charge_charge` (`charge_id`), + KEY `m_savings_account_charge_ibfk_2` (`savings_account_id`), + KEY `FK_savings_account_charge_created_by` (`created_by`), + KEY `FK_savings_account_charge_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_savings_account_charge_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_account_charge_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_savings_account_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_savings_account_charge_ibfk_2` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_charge_paid_by` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_transaction_id` bigint(20) NOT NULL, + `savings_account_charge_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK__m_savings_account_charge` (`savings_account_charge_id`), + KEY `FK__m_savings_account_transaction` (`savings_account_transaction_id`), + CONSTRAINT `FK__m_savings_account_charge` FOREIGN KEY (`savings_account_charge_id`) REFERENCES `m_savings_account_charge` (`id`), + CONSTRAINT `FK__m_savings_account_transaction` FOREIGN KEY (`savings_account_transaction_id`) REFERENCES `m_savings_account_transaction` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_interest_rate_chart` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL, + `name` varchar(100) DEFAULT NULL, + `description` varchar(200) DEFAULT NULL, + `from_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `is_primary_grouping_by_amount` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FKSAIRC00000000000001` (`savings_account_id`), + CONSTRAINT `FKSAIRC00000000000001` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_interest_rate_slab` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_interest_rate_chart_id` bigint(20) NOT NULL, + `description` varchar(200) DEFAULT NULL, + `period_type_enum` smallint(6) DEFAULT NULL, + `from_period` int(11) DEFAULT NULL, + `to_period` int(11) DEFAULT NULL, + `amount_range_from` decimal(19,6) DEFAULT NULL, + `amount_range_to` decimal(19,6) DEFAULT NULL, + `annual_interest_rate` decimal(19,6) NOT NULL, + `currency_code` varchar(3) NOT NULL, + PRIMARY KEY (`id`), + KEY `FKSAIRS00000000000001` (`savings_account_interest_rate_chart_id`), + CONSTRAINT `FKSAIRS00000000000001` FOREIGN KEY (`savings_account_interest_rate_chart_id`) REFERENCES `m_savings_account_interest_rate_chart` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_transaction` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_account_id` bigint(20) NOT NULL, + `office_id` bigint(20) NOT NULL, + `payment_detail_id` bigint(20) DEFAULT NULL, + `transaction_type_enum` smallint(6) NOT NULL, + `is_reversed` tinyint(1) NOT NULL, + `transaction_date` date NOT NULL, + `amount` decimal(19,6) NOT NULL, + `overdraft_amount_derived` decimal(19,6) DEFAULT NULL, + `balance_end_date_derived` date DEFAULT NULL, + `balance_number_of_days_derived` int(11) DEFAULT NULL, + `running_balance_derived` decimal(19,6) DEFAULT NULL, + `cumulative_balance_derived` decimal(19,6) DEFAULT NULL, + `created_date` datetime DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `is_manual` tinyint(1) DEFAULT 0, + `release_id_of_hold_amount` bigint(20) DEFAULT NULL, + `is_loan_disbursement` tinyint(1) DEFAULT NULL, + `ref_no` varchar(128) DEFAULT NULL, + `original_transaction_id` bigint(20) DEFAULT NULL, + `is_reversal` tinyint(1) NOT NULL DEFAULT 0, + `reason_for_block` varchar(256) DEFAULT NULL, + `is_lien_transaction` tinyint(1) NOT NULL DEFAULT 0, + `submitted_on_date` date NOT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FKSAT0000000001` (`savings_account_id`), + KEY `FK_m_savings_account_transaction_m_office` (`office_id`), + KEY `FK_m_savings_account_transaction_m_payment_detail` (`payment_detail_id`), + KEY `FK_savings_account_transaction_created_by` (`created_by`), + KEY `FK_savings_account_transaction_last_modified_by` (`last_modified_by`), + CONSTRAINT `FKSAT0000000001` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `FK_m_savings_account_transaction_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`), + CONSTRAINT `FK_m_savings_account_transaction_m_payment_detail` FOREIGN KEY (`payment_detail_id`) REFERENCES `m_payment_detail` (`id`), + CONSTRAINT `FK_savings_account_transaction_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_account_transaction_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_account_transaction_tax_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `savings_transaction_id` bigint(20) NOT NULL, + `tax_component_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_savings_account_transaction_tax_details_savings_transaction` (`savings_transaction_id`), + KEY `FK_savings_account_transaction_tax_details_tax_component` (`tax_component_id`), + CONSTRAINT `FK_savings_account_transaction_tax_details_savings_transaction` FOREIGN KEY (`savings_transaction_id`) REFERENCES `m_savings_account_transaction` (`id`), + CONSTRAINT `FK_savings_account_transaction_tax_details_tax_component` FOREIGN KEY (`tax_component_id`) REFERENCES `m_tax_component` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_interest_incentives` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `deposit_account_interest_rate_slab_id` bigint(20) NOT NULL, + `entiry_type` smallint(6) NOT NULL, + `attribute_name` smallint(6) NOT NULL, + `condition_type` smallint(6) NOT NULL, + `attribute_value` varchar(50) NOT NULL, + `incentive_type` smallint(6) NOT NULL, + `amount` decimal(19,6) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_savings_interest_incentives_m_savings_interest_rate_slab` (`deposit_account_interest_rate_slab_id`), + CONSTRAINT `FK_m_savings_interest_incentives_m_savings_interest_rate_slab` FOREIGN KEY (`deposit_account_interest_rate_slab_id`) REFERENCES `m_savings_account_interest_rate_slab` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_officer_assignment_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_id` bigint(20) NOT NULL, + `savings_officer_id` bigint(20) DEFAULT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `created_by` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `last_modified_by` bigint(20) NOT NULL, + `created_on_utc` datetime(6) NOT NULL, + `last_modified_on_utc` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_m_savings_officer_assignment_history_0001` (`account_id`), + KEY `fk_m_savings_officer_assignment_history_0002` (`savings_officer_id`), + KEY `FK_savings_officer_assignment_history_created_by` (`created_by`), + KEY `FK_savings_officer_assignment_history_last_modified_by` (`last_modified_by`), + CONSTRAINT `FK_savings_officer_assignment_history_created_by` FOREIGN KEY (`created_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_savings_officer_assignment_history_last_modified_by` FOREIGN KEY (`last_modified_by`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `fk_m_savings_officer_assignment_history_0001` FOREIGN KEY (`account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `fk_m_savings_officer_assignment_history_0002` FOREIGN KEY (`savings_officer_id`) REFERENCES `m_staff` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_product` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `short_name` varchar(4) NOT NULL, + `description` varchar(500) DEFAULT NULL, + `deposit_type_enum` smallint(6) NOT NULL DEFAULT 100, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `nominal_annual_interest_rate` decimal(19,6) NOT NULL, + `interest_compounding_period_enum` smallint(6) NOT NULL, + `interest_posting_period_enum` smallint(6) NOT NULL DEFAULT 4, + `interest_calculation_type_enum` smallint(6) NOT NULL, + `interest_calculation_days_in_year_type_enum` smallint(6) NOT NULL, + `min_required_opening_balance` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency_enum` smallint(6) DEFAULT NULL, + `accounting_type` smallint(6) NOT NULL, + `withdrawal_fee_amount` decimal(19,6) DEFAULT NULL, + `withdrawal_fee_type_enum` smallint(6) DEFAULT NULL, + `withdrawal_fee_for_transfer` tinyint(1) DEFAULT 1, + `allow_overdraft` tinyint(1) NOT NULL DEFAULT 0, + `overdraft_limit` decimal(19,6) DEFAULT NULL, + `nominal_annual_interest_rate_overdraft` decimal(19,6) DEFAULT 0.000000, + `min_overdraft_for_interest_calculation` decimal(19,6) DEFAULT 0.000000, + `min_required_balance` decimal(19,6) DEFAULT NULL, + `enforce_min_required_balance` tinyint(1) NOT NULL DEFAULT 0, + `min_balance_for_interest_calculation` decimal(19,6) DEFAULT NULL, + `withhold_tax` tinyint(1) NOT NULL DEFAULT 0, + `tax_group_id` bigint(20) DEFAULT NULL, + `is_dormancy_tracking_active` tinyint(1) DEFAULT NULL, + `days_to_inactive` int(11) DEFAULT NULL, + `days_to_dormancy` int(11) DEFAULT NULL, + `days_to_escheat` int(11) DEFAULT NULL, + `max_allowed_lien_limit` decimal(19,6) DEFAULT NULL, + `is_lien_allowed` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + UNIQUE KEY `short_name` (`short_name`), + KEY `FK_savings_product_tax_group` (`tax_group_id`), + CONSTRAINT `FK_savings_product_tax_group` FOREIGN KEY (`tax_group_id`) REFERENCES `m_tax_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_savings_product_charge` ( + `savings_product_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`savings_product_id`,`charge_id`), + KEY `fk_savings_product_charge_charge` (`charge_id`), + CONSTRAINT `m_savings_product_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_savings_product_charge_ibfk_2` FOREIGN KEY (`savings_product_id`) REFERENCES `m_savings_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_account` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_no` varchar(50) NOT NULL, + `product_id` bigint(20) NOT NULL, + `client_id` bigint(20) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `status_enum` smallint(6) NOT NULL DEFAULT 300, + `total_approved_shares` bigint(20) DEFAULT NULL, + `total_pending_shares` bigint(20) DEFAULT NULL, + `submitted_date` date NOT NULL, + `submitted_userid` bigint(20) DEFAULT NULL, + `approved_date` date DEFAULT NULL, + `approved_userid` bigint(20) DEFAULT NULL, + `rejected_date` date DEFAULT NULL, + `rejected_userid` bigint(20) DEFAULT NULL, + `activated_date` date DEFAULT NULL, + `activated_userid` bigint(20) DEFAULT NULL, + `closed_date` date DEFAULT NULL, + `closed_userid` bigint(20) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `savings_account_id` bigint(20) NOT NULL, + `minimum_active_period_frequency` decimal(19,6) DEFAULT NULL, + `minimum_active_period_frequency_enum` smallint(6) DEFAULT NULL, + `lockin_period_frequency` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency_enum` smallint(6) DEFAULT NULL, + `allow_dividends_inactive_clients` tinyint(1) DEFAULT 0, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `m_share_account_ibfk_1` (`product_id`), + KEY `m_share_account_ibfk_2` (`savings_account_id`), + KEY `m_share_account_ibfk_3` (`submitted_userid`), + KEY `m_share_account_ibfk_4` (`approved_userid`), + KEY `m_share_account_ibfk_5` (`rejected_userid`), + KEY `m_share_account_ibfk_6` (`activated_userid`), + KEY `m_share_account_ibfk_7` (`closed_userid`), + KEY `m_share_account_ibfk_8` (`lastmodifiedby_id`), + KEY `m_share_account_ibfk_9` (`client_id`), + CONSTRAINT `m_share_account_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `m_share_product` (`id`), + CONSTRAINT `m_share_account_ibfk_2` FOREIGN KEY (`savings_account_id`) REFERENCES `m_savings_account` (`id`), + CONSTRAINT `m_share_account_ibfk_3` FOREIGN KEY (`submitted_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_4` FOREIGN KEY (`approved_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_5` FOREIGN KEY (`rejected_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_6` FOREIGN KEY (`activated_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_7` FOREIGN KEY (`closed_userid`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_8` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_account_ibfk_9` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_account_charge` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + `charge_time_enum` smallint(6) NOT NULL, + `charge_calculation_enum` smallint(6) NOT NULL, + `charge_payment_mode_enum` smallint(6) NOT NULL DEFAULT 0, + `calculation_percentage` decimal(19,6) DEFAULT NULL, + `calculation_on_amount` decimal(19,6) DEFAULT NULL, + `charge_amount_or_percentage` decimal(19,6) DEFAULT NULL, + `amount` decimal(19,6) NOT NULL, + `amount_paid_derived` decimal(19,6) DEFAULT NULL, + `amount_waived_derived` decimal(19,6) DEFAULT NULL, + `amount_writtenoff_derived` decimal(19,6) DEFAULT NULL, + `amount_outstanding_derived` decimal(19,6) NOT NULL DEFAULT 0.000000, + `is_paid_derived` tinyint(1) NOT NULL DEFAULT 0, + `waived` tinyint(1) NOT NULL DEFAULT 0, + `min_cap` decimal(19,6) DEFAULT NULL, + `max_cap` decimal(19,6) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `fk_share_account_charge_charge` (`charge_id`), + KEY `m_share_account_charge_ibfk_2` (`account_id`), + CONSTRAINT `m_share_account_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_share_account_charge_ibfk_2` FOREIGN KEY (`account_id`) REFERENCES `m_share_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_account_charge_paid_by` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `share_transaction_id` bigint(20) DEFAULT NULL, + `charge_transaction_id` bigint(20) DEFAULT NULL, + `amount` decimal(20,2) NOT NULL, + PRIMARY KEY (`id`), + KEY `m_share_account_transactions_charge_mapping_ibfk1` (`share_transaction_id`), + KEY `m_share_account_transactions_charge_mapping_ibfk2` (`charge_transaction_id`), + CONSTRAINT `m_share_account_transactions_charge_mapping_ibfk1` FOREIGN KEY (`share_transaction_id`) REFERENCES `m_share_account_transactions` (`id`), + CONSTRAINT `m_share_account_transactions_charge_mapping_ibfk2` FOREIGN KEY (`charge_transaction_id`) REFERENCES `m_share_account_charge` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_account_dividend_details` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `dividend_pay_out_id` bigint(20) NOT NULL, + `account_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `status` smallint(6) NOT NULL, + `savings_transaction_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_share_account_dividend_details_account_id` (`account_id`), + KEY `FK_m_share_account_dividend_details_dividend_pay_out_id` (`dividend_pay_out_id`), + CONSTRAINT `FK_m_share_account_dividend_details_account_id` FOREIGN KEY (`account_id`) REFERENCES `m_share_account` (`id`), + CONSTRAINT `FK_m_share_account_dividend_details_dividend_pay_out_id` FOREIGN KEY (`dividend_pay_out_id`) REFERENCES `m_share_product_dividend_pay_out` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_account_transactions` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `account_id` bigint(20) NOT NULL, + `transaction_date` date DEFAULT NULL, + `total_shares` bigint(20) DEFAULT NULL, + `unit_price` decimal(10,2) DEFAULT NULL, + `amount` decimal(20,2) DEFAULT NULL, + `charge_amount` decimal(20,2) DEFAULT NULL, + `amount_paid` decimal(20,2) DEFAULT NULL, + `status_enum` smallint(6) NOT NULL DEFAULT 300, + `type_enum` smallint(6) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`), + KEY `m_share_account_purchased_shares_ibfk_1` (`account_id`), + CONSTRAINT `m_share_account_purchased_shares_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `m_share_account` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_product` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `short_name` varchar(4) NOT NULL, + `external_id` varchar(100) DEFAULT NULL, + `description` varchar(500) NOT NULL, + `start_date` date DEFAULT NULL, + `end_date` date DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `currency_digits` smallint(6) NOT NULL, + `currency_multiplesof` smallint(6) DEFAULT NULL, + `total_shares` bigint(20) NOT NULL, + `issued_shares` bigint(20) DEFAULT NULL, + `totalsubscribed_shares` bigint(20) DEFAULT NULL, + `unit_price` decimal(10,2) NOT NULL, + `capital_amount` decimal(20,2) NOT NULL, + `minimum_client_shares` bigint(20) DEFAULT NULL, + `nominal_client_shares` bigint(20) NOT NULL, + `maximum_client_shares` bigint(20) DEFAULT NULL, + `minimum_active_period_frequency` decimal(19,6) DEFAULT NULL, + `minimum_active_period_frequency_enum` smallint(6) DEFAULT NULL, + `lockin_period_frequency` decimal(19,6) DEFAULT NULL, + `lockin_period_frequency_enum` smallint(6) DEFAULT NULL, + `allow_dividends_inactive_clients` tinyint(1) DEFAULT 0, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `accounting_type` smallint(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `m_share_product_ibfk_1` (`createdby_id`), + KEY `m_share_product_ibfk_2` (`lastmodifiedby_id`), + CONSTRAINT `m_share_product_ibfk_1` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_share_product_ibfk_2` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_product_charge` ( + `product_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`product_id`,`charge_id`), + KEY `m_share_product_charge_ibfk_1` (`charge_id`), + CONSTRAINT `m_share_product_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_share_product_charge_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `m_share_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_product_dividend_pay_out` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `product_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `dividend_period_start_date` date NOT NULL, + `dividend_period_end_date` date NOT NULL, + `status` smallint(6) NOT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_share_product_dividend_pay_out_createdby_id` (`createdby_id`), + KEY `FK_m_share_product_dividend_pay_out_lastmodifiedby_id` (`lastmodifiedby_id`), + KEY `FK_m_share_product_dividend_pay_out_product_id` (`product_id`), + CONSTRAINT `FK_m_share_product_dividend_pay_out_createdby_id` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_share_product_dividend_pay_out_lastmodifiedby_id` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_m_share_product_dividend_pay_out_product_id` FOREIGN KEY (`product_id`) REFERENCES `m_share_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_share_product_market_price` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `product_id` bigint(20) NOT NULL, + `from_date` date DEFAULT NULL, + `share_value` decimal(10,2) NOT NULL, + PRIMARY KEY (`id`), + KEY `m_share_product_market_price_ibfk_1` (`product_id`), + CONSTRAINT `m_share_product_market_price_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `m_share_product` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_staff` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `is_loan_officer` tinyint(1) NOT NULL DEFAULT 0, + `office_id` bigint(20) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `display_name` varchar(102) NOT NULL, + `mobile_no` varchar(50) DEFAULT NULL, + `external_id` varchar(100) DEFAULT NULL, + `organisational_role_enum` smallint(6) DEFAULT NULL, + `organisational_role_parent_staff_id` bigint(20) DEFAULT NULL, + `is_active` tinyint(1) NOT NULL DEFAULT 1, + `joining_date` date DEFAULT NULL, + `image_id` bigint(20) DEFAULT NULL, + `email_address` varchar(150) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `display_name` (`display_name`), + UNIQUE KEY `mobile_no` (`mobile_no`), + UNIQUE KEY `external_id` (`external_id`), + KEY `FK_m_staff_m_image` (`image_id`), + KEY `FK_m_staff_m_office` (`office_id`), + CONSTRAINT `FK_m_staff_m_image` FOREIGN KEY (`image_id`) REFERENCES `m_image` (`id`), + CONSTRAINT `FK_m_staff_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_staff_assignment_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `centre_id` bigint(20) DEFAULT NULL, + `staff_id` bigint(20) NOT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `createdby_id` bigint(20) DEFAULT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_m_staff_assignment_history_centre_id_m_group` (`centre_id`), + KEY `FK_m_staff_assignment_history_m_staff` (`staff_id`), + CONSTRAINT `FK_m_staff_assignment_history_centre_id_m_group` FOREIGN KEY (`centre_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `FK_m_staff_assignment_history_m_staff` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_survey_components` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `survey_id` bigint(20) NOT NULL, + `a_key` varchar(32) NOT NULL, + `a_text` varchar(255) NOT NULL, + `description` varchar(4000) DEFAULT NULL, + `sequence_no` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `survey_id` (`survey_id`), + CONSTRAINT `m_survey_components_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_survey_lookup_tables` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `survey_id` bigint(20) NOT NULL, + `a_key` varchar(255) NOT NULL, + `description` int(11) DEFAULT NULL, + `value_from` int(11) NOT NULL, + `value_to` int(11) NOT NULL, + `score` decimal(5,2) NOT NULL, + PRIMARY KEY (`id`), + KEY `survey_lookup_tables_survey_id` (`survey_id`), + CONSTRAINT `m_survey_lookup_tables_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_survey_questions` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `survey_id` bigint(20) NOT NULL, + `component_key` varchar(32) DEFAULT NULL, + `a_key` varchar(32) NOT NULL, + `a_text` varchar(255) NOT NULL, + `description` varchar(4000) DEFAULT NULL, + `sequence_no` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `survey_questions_survey_id` (`survey_id`), + CONSTRAINT `m_survey_questions_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_survey_responses` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `question_id` bigint(20) NOT NULL, + `a_text` varchar(255) NOT NULL, + `a_value` int(11) NOT NULL, + `sequence_no` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `survey_responses_question_id` (`question_id`), + CONSTRAINT `m_survey_responses_ibfk_1` FOREIGN KEY (`question_id`) REFERENCES `m_survey_questions` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_survey_scorecards` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `survey_id` bigint(20) NOT NULL, + `question_id` bigint(20) NOT NULL, + `response_id` bigint(20) NOT NULL, + `user_id` bigint(20) NOT NULL, + `client_id` bigint(20) NOT NULL, + `created_on` datetime(6) DEFAULT NULL, + `a_value` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `fk_survey_scorecards_client` (`client_id`), + KEY `survey_scorecards_question_id` (`question_id`), + KEY `response_id` (`response_id`), + KEY `survey_scorecards_survey_id` (`survey_id`), + KEY `survey_scorecards_user_id` (`user_id`), + CONSTRAINT `m_survey_scorecards_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `m_surveys` (`id`), + CONSTRAINT `m_survey_scorecards_ibfk_2` FOREIGN KEY (`question_id`) REFERENCES `m_survey_questions` (`id`), + CONSTRAINT `m_survey_scorecards_ibfk_3` FOREIGN KEY (`response_id`) REFERENCES `m_survey_responses` (`id`), + CONSTRAINT `m_survey_scorecards_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `m_survey_scorecards_ibfk_5` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_surveys` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `a_key` varchar(32) NOT NULL, + `a_name` varchar(255) NOT NULL, + `description` varchar(4000) DEFAULT NULL, + `country_code` varchar(2) NOT NULL, + `valid_from` date DEFAULT NULL, + `valid_to` date DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_tax_component` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `percentage` decimal(19,6) NOT NULL, + `debit_account_type_enum` smallint(6) DEFAULT NULL, + `debit_account_id` bigint(20) DEFAULT NULL, + `credit_account_type_enum` smallint(6) DEFAULT NULL, + `credit_account_id` bigint(20) DEFAULT NULL, + `start_date` date NOT NULL, + `createdby_id` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_tax_component_createdby` (`createdby_id`), + KEY `FK_tax_component_credit_gl_account` (`credit_account_id`), + KEY `FK_tax_component_debit_gl_account` (`debit_account_id`), + KEY `FK_tax_component_lastmodifiedby` (`lastmodifiedby_id`), + CONSTRAINT `FK_tax_component_createdby` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_component_credit_gl_account` FOREIGN KEY (`credit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_tax_component_debit_gl_account` FOREIGN KEY (`debit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_tax_component_lastmodifiedby` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_tax_component_history` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `tax_component_id` bigint(20) NOT NULL, + `percentage` decimal(19,6) NOT NULL, + `start_date` date NOT NULL, + `end_date` date NOT NULL, + `createdby_id` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_tax_component_history_createdby` (`createdby_id`), + KEY `FK_tax_component_history_lastmodifiedby` (`lastmodifiedby_id`), + KEY `FK_tax_component_history_tax_component_id` (`tax_component_id`), + CONSTRAINT `FK_tax_component_history_createdby` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_component_history_lastmodifiedby` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_component_history_tax_component_id` FOREIGN KEY (`tax_component_id`) REFERENCES `m_tax_component` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_tax_group` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `createdby_id` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_tax_group_createdby` (`createdby_id`), + KEY `FK_tax_group_lastmodifiedby` (`lastmodifiedby_id`), + CONSTRAINT `FK_tax_group_createdby` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_group_lastmodifiedby` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_tax_group_mappings` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `tax_group_id` bigint(20) NOT NULL, + `tax_component_id` bigint(20) NOT NULL, + `start_date` date NOT NULL, + `end_date` date DEFAULT NULL, + `createdby_id` bigint(20) NOT NULL, + `created_date` datetime(6) DEFAULT NULL, + `lastmodifiedby_id` bigint(20) NOT NULL, + `lastmodified_date` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `FK_tax_group_mappings_createdby` (`createdby_id`), + KEY `FK_tax_group_mappings_lastmodifiedby` (`lastmodifiedby_id`), + KEY `FK_tax_group_mappings_tax_component` (`tax_component_id`), + KEY `FK_tax_group_mappings_tax_group` (`tax_group_id`), + CONSTRAINT `FK_tax_group_mappings_createdby` FOREIGN KEY (`createdby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_group_mappings_lastmodifiedby` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `FK_tax_group_mappings_tax_component` FOREIGN KEY (`tax_component_id`) REFERENCES `m_tax_component` (`id`), + CONSTRAINT `FK_tax_group_mappings_tax_group` FOREIGN KEY (`tax_group_id`) REFERENCES `m_tax_group` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_tellers` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `office_id` bigint(20) NOT NULL, + `debit_account_id` bigint(20) DEFAULT NULL, + `credit_account_id` bigint(20) DEFAULT NULL, + `name` varchar(50) NOT NULL, + `description` varchar(100) DEFAULT NULL, + `valid_from` date DEFAULT NULL, + `valid_to` date DEFAULT NULL, + `state` smallint(6) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `FK_m_tellers_gl_account_credit_account_id` (`credit_account_id`), + KEY `FK_m_tellers_gl_account_debit_account_id` (`debit_account_id`), + KEY `IK_m_tellers_m_office` (`office_id`), + CONSTRAINT `FK_m_tellers_gl_account_credit_account_id` FOREIGN KEY (`credit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_m_tellers_gl_account_debit_account_id` FOREIGN KEY (`debit_account_id`) REFERENCES `acc_gl_account` (`id`), + CONSTRAINT `FK_m_tellers_m_office` FOREIGN KEY (`office_id`) REFERENCES `m_office` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_template` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `text` longtext NOT NULL, + `entity` int(11) DEFAULT NULL, + `type` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_template_m_templatemappers` ( + `m_template_id` bigint(20) NOT NULL, + `mappers_id` bigint(20) NOT NULL, + UNIQUE KEY `mappers_id` (`mappers_id`), + KEY `m_template_id` (`m_template_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_templatemappers` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `mapperkey` varchar(255) DEFAULT NULL, + `mapperorder` int(11) DEFAULT NULL, + `mappervalue` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_trial_balance` ( + `office_id` bigint(20) NOT NULL, + `account_id` bigint(20) NOT NULL, + `amount` decimal(19,6) NOT NULL, + `entry_date` date NOT NULL, + `created_date` date DEFAULT NULL, + `closing_balance` decimal(19,6) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `m_working_days` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `recurrence` varchar(100) DEFAULT NULL, + `repayment_rescheduling_enum` smallint(6) DEFAULT NULL, + `extend_term_daily_repayments` tinyint(1) DEFAULT 0, + `extend_term_holiday_repayment` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `mix_taxonomy` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `namespace_id` int(11) DEFAULT NULL, + `dimension` varchar(100) DEFAULT NULL, + `type` int(11) DEFAULT NULL, + `description` varchar(1000) DEFAULT NULL, + `need_mapping` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `mix_taxonomy_mapping` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `identifier` varchar(50) NOT NULL DEFAULT '', + `config` varchar(200) DEFAULT NULL, + `last_update_date` datetime(6) DEFAULT NULL, + `currency` varchar(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `mix_xbrl_namespace` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `prefix` varchar(20) NOT NULL DEFAULT '', + `url` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `prefix` (`prefix`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `notification_generator` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `object_type` text DEFAULT NULL, + `object_identifier` bigint(20) DEFAULT NULL, + `action` text DEFAULT NULL, + `actor` bigint(20) DEFAULT NULL, + `is_system_generated` tinyint(1) DEFAULT 0, + `notification_content` text DEFAULT NULL, + `created_at` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `notification_mapper` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `notification_id` bigint(20) DEFAULT NULL, + `user_id` bigint(20) DEFAULT NULL, + `is_read` tinyint(1) DEFAULT 0, + `created_at` datetime(6) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `notification_id` (`notification_id`), + KEY `notification_mapper_user` (`user_id`), + CONSTRAINT `notification_mapper_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `m_appuser` (`id`), + CONSTRAINT `notification_mapper_ibfk_3` FOREIGN KEY (`notification_id`) REFERENCES `notification_generator` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `oauth_access_token` ( + `token_id` varchar(256) DEFAULT NULL, + `token` blob DEFAULT NULL, + `authentication_id` varchar(256) DEFAULT NULL, + `user_name` varchar(256) DEFAULT NULL, + `client_id` varchar(256) DEFAULT NULL, + `authentication` blob DEFAULT NULL, + `refresh_token` varchar(256) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `oauth_client_details` ( + `client_id` varchar(128) NOT NULL, + `resource_ids` varchar(256) DEFAULT NULL, + `client_secret` varchar(256) DEFAULT NULL, + `scope` varchar(256) DEFAULT NULL, + `authorized_grant_types` varchar(256) DEFAULT NULL, + `web_server_redirect_uri` varchar(256) DEFAULT NULL, + `authorities` varchar(256) DEFAULT NULL, + `access_token_validity` int(11) DEFAULT NULL, + `refresh_token_validity` int(11) DEFAULT NULL, + `additional_information` varchar(4096) DEFAULT NULL, + `autoapprove` tinyint(1) DEFAULT 0, + PRIMARY KEY (`client_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `oauth_refresh_token` ( + `token_id` varchar(256) DEFAULT NULL, + `token` blob DEFAULT NULL, + `authentication` blob DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `ppi_likelihoods` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `code` varchar(100) NOT NULL, + `name` varchar(250) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `ppi_likelihoods_ppi` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `likelihood_id` bigint(20) NOT NULL, + `ppi_name` varchar(250) NOT NULL, + `enabled` int(11) NOT NULL DEFAULT 100, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `ppi_scores` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `score_from` int(11) NOT NULL, + `score_to` int(11) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `r_enum_value` ( + `enum_name` varchar(100) NOT NULL, + `enum_id` int(11) NOT NULL, + `enum_message_property` varchar(100) NOT NULL, + `enum_value` varchar(100) NOT NULL, + `enum_type` tinyint(1) NOT NULL, + PRIMARY KEY (`enum_name`,`enum_id`), + UNIQUE KEY `enum_message_property` (`enum_name`,`enum_message_property`), + UNIQUE KEY `enum_value` (`enum_name`,`enum_value`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `ref_loan_transaction_processing_strategy` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `code` varchar(100) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `sort_order` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `request_audit_table` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `lastname` varchar(100) NOT NULL, + `username` varchar(100) NOT NULL, + `mobile_number` varchar(50) DEFAULT NULL, + `firstname` varchar(100) NOT NULL, + `authentication_token` varchar(100) DEFAULT NULL, + `password` varchar(250) NOT NULL, + `email` varchar(100) NOT NULL, + `client_id` bigint(20) NOT NULL, + `created_date` date NOT NULL, + `account_number` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `FK1_request_audit_table_m_client` (`client_id`), + CONSTRAINT `FK1_request_audit_table_m_client` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `rpt_sequence` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `scheduled_email_campaign` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `campaign_name` varchar(100) NOT NULL, + `campaign_type` int(11) NOT NULL, + `business_rule_id` int(11) DEFAULT NULL, + `param_value` text DEFAULT NULL, + `status_enum` int(11) NOT NULL, + `email_subject` varchar(100) NOT NULL, + `email_message` text NOT NULL, + `email_attachment_file_format` varchar(10) DEFAULT NULL, + `stretchy_report_id` int(11) DEFAULT NULL, + `stretchy_report_param_map` text DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `submittedon_date` date DEFAULT NULL, + `submittedon_userid` bigint(20) DEFAULT NULL, + `approvedon_date` date DEFAULT NULL, + `approvedon_userid` bigint(20) DEFAULT NULL, + `recurrence` varchar(100) DEFAULT NULL, + `next_trigger_date` datetime(6) DEFAULT NULL, + `last_trigger_date` datetime(6) DEFAULT NULL, + `recurrence_start_date` datetime(6) DEFAULT NULL, + `is_visible` tinyint(1) DEFAULT 1, + `previous_run_error_log` text DEFAULT NULL, + `previous_run_error_message` text DEFAULT NULL, + `previous_run_status` varchar(10) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `scheduled_email_campaign_ibfk_1` (`stretchy_report_id`), + CONSTRAINT `scheduled_email_campaign_ibfk_1` FOREIGN KEY (`stretchy_report_id`) REFERENCES `stretchy_report` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `scheduled_email_configuration` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `value` varchar(200) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `scheduled_email_messages_outbound` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `group_id` bigint(20) DEFAULT NULL, + `client_id` bigint(20) DEFAULT NULL, + `staff_id` bigint(20) DEFAULT NULL, + `email_campaign_id` bigint(20) DEFAULT NULL, + `status_enum` int(11) NOT NULL DEFAULT 100, + `email_address` varchar(50) NOT NULL, + `email_subject` varchar(50) NOT NULL, + `message` text NOT NULL, + `campaign_name` varchar(200) DEFAULT NULL, + `submittedon_date` date DEFAULT NULL, + `error_message` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `SEFKCLIENT00000001` (`client_id`), + KEY `SEFKGROUP000000001` (`group_id`), + KEY `SEFKSTAFF000000001` (`staff_id`), + KEY `fk_schedule_email_campign1` (`email_campaign_id`), + CONSTRAINT `SEFKCLIENT00000001` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `SEFKGROUP000000001` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `SEFKSTAFF000000001` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`), + CONSTRAINT `fk_schedule_email_campign1` FOREIGN KEY (`email_campaign_id`) REFERENCES `scheduled_email_campaign` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `scheduler_detail` ( + `id` smallint(6) NOT NULL AUTO_INCREMENT, + `is_suspended` tinyint(1) NOT NULL DEFAULT 0, + `execute_misfired_jobs` tinyint(1) NOT NULL DEFAULT 1, + `reset_scheduler_on_bootup` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `sms_campaign` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `campaign_name` varchar(100) NOT NULL, + `campaign_type` int(11) NOT NULL, + `campaign_trigger_type` int(11) NOT NULL, + `report_id` int(11) NOT NULL, + `provider_id` bigint(20) DEFAULT NULL, + `param_value` text DEFAULT NULL, + `status_enum` int(11) NOT NULL, + `message` text NOT NULL, + `submittedon_date` date DEFAULT NULL, + `submittedon_userid` bigint(20) DEFAULT NULL, + `approvedon_date` date DEFAULT NULL, + `approvedon_userid` bigint(20) DEFAULT NULL, + `closedon_date` date DEFAULT NULL, + `closedon_userid` bigint(20) DEFAULT NULL, + `recurrence` varchar(100) DEFAULT NULL, + `next_trigger_date` datetime(6) DEFAULT NULL, + `last_trigger_date` datetime(6) DEFAULT NULL, + `recurrence_start_date` datetime(6) DEFAULT NULL, + `is_visible` tinyint(1) DEFAULT 1, + `is_notification` tinyint(1) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `campaign_name_UNIQUE` (`campaign_name`), + KEY `report_id` (`report_id`), + CONSTRAINT `sms_campaign_ibfk_1` FOREIGN KEY (`report_id`) REFERENCES `stretchy_report` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `sms_messages_outbound` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `group_id` bigint(20) DEFAULT NULL, + `client_id` bigint(20) DEFAULT NULL, + `staff_id` bigint(20) DEFAULT NULL, + `status_enum` int(11) NOT NULL DEFAULT 100, + `mobile_no` varchar(50) DEFAULT NULL, + `message` varchar(1000) NOT NULL, + `campaign_id` bigint(20) DEFAULT NULL, + `external_id` varchar(100) DEFAULT NULL, + `submittedon_date` date DEFAULT NULL, + `delivered_on_date` datetime(6) DEFAULT NULL, + `is_notification` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + KEY `FKCAMPAIGN00000001` (`campaign_id`), + KEY `FKCLIENT00000001` (`client_id`), + KEY `FKGROUP000000001` (`group_id`), + KEY `FKSTAFF000000001` (`staff_id`), + CONSTRAINT `FKCAMPAIGN00000001` FOREIGN KEY (`campaign_id`) REFERENCES `sms_campaign` (`id`), + CONSTRAINT `FKCLIENT00000001` FOREIGN KEY (`client_id`) REFERENCES `m_client` (`id`), + CONSTRAINT `FKGROUP000000001` FOREIGN KEY (`group_id`) REFERENCES `m_group` (`id`), + CONSTRAINT `FKSTAFF000000001` FOREIGN KEY (`staff_id`) REFERENCES `m_staff` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `stretchy_parameter` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `parameter_name` varchar(45) NOT NULL, + `parameter_variable` varchar(45) DEFAULT NULL, + `parameter_label` varchar(45) NOT NULL, + `parameter_displayType` varchar(45) NOT NULL, + `parameter_FormatType` varchar(10) NOT NULL, + `parameter_default` varchar(45) NOT NULL, + `special` varchar(1) DEFAULT NULL, + `selectOne` varchar(1) DEFAULT NULL, + `selectAll` varchar(1) DEFAULT NULL, + `parameter_sql` text DEFAULT NULL, + `parent_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `parameter_name` (`parameter_name`), + KEY `fk_stretchy_parameter_001_idx` (`parent_id`), + CONSTRAINT `fk_stretchy_parameter_001` FOREIGN KEY (`parent_id`) REFERENCES `stretchy_parameter` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `stretchy_report` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `report_name` varchar(100) NOT NULL, + `report_type` varchar(20) NOT NULL, + `report_subtype` varchar(20) DEFAULT NULL, + `report_category` varchar(45) DEFAULT NULL, + `report_sql` text DEFAULT NULL, + `description` text DEFAULT NULL, + `core_report` tinyint(1) DEFAULT 0, + `use_report` tinyint(1) DEFAULT 0, + `self_service_user_report` tinyint(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `report_name` (`report_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `stretchy_report_parameter` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `report_id` int(11) NOT NULL, + `parameter_id` int(11) NOT NULL, + `report_parameter_name` varchar(45) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `report_parameter_unique` (`report_id`,`parameter_id`), + KEY `fk_report_parameter_001_idx` (`report_id`), + KEY `fk_report_parameter_002_idx` (`parameter_id`), + CONSTRAINT `fk_report_parameter_001` FOREIGN KEY (`report_id`) REFERENCES `stretchy_report` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT `fk_report_parameter_002` FOREIGN KEY (`parameter_id`) REFERENCES `stretchy_parameter` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `twofactor_access_token` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `token` varchar(32) NOT NULL, + `appuser_id` bigint(20) NOT NULL, + `valid_from` datetime(6) DEFAULT NULL, + `valid_to` datetime(6) DEFAULT NULL, + `enabled` tinyint(1) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `token_appuser_UNIQUE` (`token`,`appuser_id`), + KEY `token` (`token`), + KEY `user` (`appuser_id`), + CONSTRAINT `fk_2fa_access_token_user_id` FOREIGN KEY (`appuser_id`) REFERENCES `m_appuser` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `twofactor_configuration` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(40) NOT NULL, + `value` varchar(1024) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `x_registered_table` ( + `registered_table_name` varchar(50) NOT NULL, + `application_table_name` varchar(50) NOT NULL, + `entity_subtype` varchar(50) DEFAULT NULL, + `category` int(11) NOT NULL DEFAULT 100, + PRIMARY KEY (`registered_table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +CREATE TABLE `x_table_column_code_mappings` ( + `column_alias_name` varchar(50) NOT NULL, + `code_id` int(11) NOT NULL, + PRIMARY KEY (`column_alias_name`), + KEY `FK_x_code_id` (`code_id`), + CONSTRAINT `FK_x_code_id` FOREIGN KEY (`code_id`) REFERENCES `m_code` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- Appended missing Spring Batch tables that were excluded during mysqldump + +CREATE TABLE BATCH_JOB_INSTANCE ( + JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY , + VERSION BIGINT , + JOB_NAME VARCHAR(100) NOT NULL, + JOB_KEY VARCHAR(32) NOT NULL, + constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_JOB_EXECUTION ( + JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , + VERSION BIGINT , + JOB_INSTANCE_ID BIGINT NOT NULL, + CREATE_TIME DATETIME(6) NOT NULL, + START_TIME DATETIME(6) DEFAULT NULL , + END_TIME DATETIME(6) DEFAULT NULL , + STATUS VARCHAR(10) , + EXIT_CODE VARCHAR(2500) , + EXIT_MESSAGE VARCHAR(2500) , + LAST_UPDATED DATETIME(6), + constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) + references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_JOB_EXECUTION_PARAMS ( + JOB_EXECUTION_ID BIGINT NOT NULL , + PARAMETER_TYPE VARCHAR(100) NOT NULL , + PARAMETER_NAME VARCHAR(100) NOT NULL , + PARAMETER_VALUE VARCHAR(2500) , + IDENTIFYING CHAR(1) NOT NULL , + constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID) + references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_STEP_EXECUTION ( + STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , + VERSION BIGINT NOT NULL, + STEP_NAME VARCHAR(100) NOT NULL, + JOB_EXECUTION_ID BIGINT NOT NULL, + CREATE_TIME DATETIME(6) NOT NULL DEFAULT '1970-01-01 00:00:00', + START_TIME DATETIME(6) NULL , + END_TIME DATETIME(6) DEFAULT NULL , + STATUS VARCHAR(10) , + COMMIT_COUNT BIGINT , + READ_COUNT BIGINT , + FILTER_COUNT BIGINT , + WRITE_COUNT BIGINT , + READ_SKIP_COUNT BIGINT , + WRITE_SKIP_COUNT BIGINT , + PROCESS_SKIP_COUNT BIGINT , + ROLLBACK_COUNT BIGINT , + EXIT_CODE VARCHAR(2500) , + EXIT_MESSAGE VARCHAR(2500) , + LAST_UPDATED DATETIME(6), + constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) + references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( + STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, + SHORT_CONTEXT VARCHAR(2500) NOT NULL, + SERIALIZED_CONTEXT TEXT , + constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID) + references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( + JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, + SHORT_CONTEXT VARCHAR(2500) NOT NULL, + SERIALIZED_CONTEXT TEXT , + constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID) + references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) +) ENGINE=InnoDB; + +CREATE TABLE BATCH_STEP_EXECUTION_SEQ ( + ID BIGINT NOT NULL, + UNIQUE_KEY CHAR(1) NOT NULL, + constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) +) ENGINE=InnoDB; + +INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_STEP_EXECUTION_SEQ); + +CREATE TABLE BATCH_JOB_EXECUTION_SEQ ( + ID BIGINT NOT NULL, + UNIQUE_KEY CHAR(1) NOT NULL, + constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) +) ENGINE=InnoDB; + +INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_EXECUTION_SEQ); + +CREATE TABLE BATCH_JOB_SEQ ( + ID BIGINT NOT NULL, + UNIQUE_KEY CHAR(1) NOT NULL, + constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) +) ENGINE=InnoDB; + +INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_SEQ); + +CREATE INDEX BATCH_JOB_EXECUTION_PARAMS_IDX ON BATCH_JOB_EXECUTION_PARAMS (JOB_EXECUTION_ID); diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_postgresql.sql b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_postgresql.sql new file mode 100644 index 00000000000..6c7ca6427fa --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0001_initial_schema_postgresql.sql @@ -0,0 +1,13221 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +-- PostgreSQL database dump + +-- Dumped from database version 18.3 (Debian 18.3-1.pgdg13+1) +-- Dumped by pg_dump version 18.3 (Debian 18.3-1.pgdg13+1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +-- SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: - + +CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public; + + +-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: + + + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- Name: acc_accounting_rule; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_accounting_rule ( + id bigint NOT NULL, + name character varying(100), + office_id bigint, + debit_account_id bigint, + allow_multiple_debits boolean DEFAULT false NOT NULL, + credit_account_id bigint, + allow_multiple_credits boolean DEFAULT false NOT NULL, + description character varying(500), + system_defined boolean DEFAULT false NOT NULL +); + + + +-- Name: acc_accounting_rule_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_accounting_rule ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_accounting_rule_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_gl_account; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_gl_account ( + id bigint NOT NULL, + name character varying(200) NOT NULL, + parent_id bigint, + hierarchy character varying(50), + gl_code character varying(45) NOT NULL, + disabled boolean DEFAULT false NOT NULL, + manual_journal_entries_allowed boolean DEFAULT true NOT NULL, + account_usage smallint DEFAULT 2 NOT NULL, + classification_enum smallint NOT NULL, + tag_id integer, + description character varying(500) +); + + + +-- Name: acc_gl_account_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_gl_account ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_gl_account_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_gl_closure; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_gl_closure ( + id bigint NOT NULL, + office_id bigint NOT NULL, + closing_date date NOT NULL, + is_deleted boolean DEFAULT false NOT NULL, + createdby_id bigint, + lastmodifiedby_id bigint, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + comments character varying(500) +); + + + +-- Name: acc_gl_closure_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_gl_closure ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_gl_closure_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_gl_financial_activity_account; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_gl_financial_activity_account ( + id bigint NOT NULL, + gl_account_id bigint DEFAULT 0 NOT NULL, + financial_activity_type smallint CONSTRAINT acc_gl_financial_activity_acco_financial_activity_type_not_null NOT NULL +); + + + +-- Name: acc_gl_financial_activity_account_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_gl_financial_activity_account ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_gl_financial_activity_account_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_gl_journal_entry; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_gl_journal_entry ( + id bigint NOT NULL, + account_id bigint NOT NULL, + office_id bigint NOT NULL, + reversal_id bigint, + currency_code character varying(3) NOT NULL, + transaction_id character varying(50) NOT NULL, + loan_transaction_id bigint, + savings_transaction_id bigint, + client_transaction_id bigint, + reversed boolean DEFAULT false NOT NULL, + ref_num character varying(100), + manual_entry boolean DEFAULT false NOT NULL, + entry_date date NOT NULL, + type_enum smallint NOT NULL, + amount numeric(19,6) NOT NULL, + description character varying(500), + entity_type_enum smallint, + entity_id bigint, + created_by bigint CONSTRAINT acc_gl_journal_entry_createdby_id_not_null NOT NULL, + last_modified_by bigint CONSTRAINT acc_gl_journal_entry_lastmodifiedby_id_not_null NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + is_running_balance_calculated boolean DEFAULT false NOT NULL, + office_running_balance numeric(19,6) DEFAULT 0 NOT NULL, + organization_running_balance numeric(19,6) DEFAULT 0 NOT NULL, + payment_details_id bigint, + share_transaction_id bigint, + transaction_date date, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + submitted_on_date date NOT NULL +); + + + +-- Name: COLUMN acc_gl_journal_entry.transaction_date; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.acc_gl_journal_entry.transaction_date IS 'Unfinished. Not maintained.'; + + +-- Name: acc_gl_journal_entry_annual_summary; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_gl_journal_entry_annual_summary ( + id bigint NOT NULL, + gl_code character varying(45) NOT NULL, + product_id bigint NOT NULL, + office_id bigint NOT NULL, + opening_balance_amount numeric(19,6) CONSTRAINT acc_gl_journal_entry_annual_sum_opening_balance_amount_not_null NOT NULL, + currency_code character varying(3) NOT NULL, + owner_external_id character varying(100), + manual_entry boolean DEFAULT false NOT NULL, + year_end_date date NOT NULL, + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone, + originator_external_ids character varying(1000) +); + + + +-- Name: acc_gl_journal_entry_annual_summary_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_gl_journal_entry_annual_summary ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_gl_journal_entry_annual_summary_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_gl_journal_entry_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_gl_journal_entry ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_gl_journal_entry_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_product_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_product_mapping ( + id bigint NOT NULL, + gl_account_id bigint, + product_id bigint, + product_type smallint, + payment_type integer, + charge_id bigint, + financial_account_type smallint, + charge_off_reason_id integer, + capitalized_income_classification_id integer, + buydown_fee_classification_id integer, + write_off_reason_id bigint +); + + + +-- Name: acc_product_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_product_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_product_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: acc_rule_tags; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.acc_rule_tags ( + id bigint NOT NULL, + acc_rule_id bigint NOT NULL, + tag_id integer NOT NULL, + acc_type_enum smallint NOT NULL +); + + + +-- Name: acc_rule_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.acc_rule_tags ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.acc_rule_tags_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: batch_custom_job_parameters; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_custom_job_parameters ( + id bigint NOT NULL, + parameter_json json NOT NULL +); + + + +-- Name: batch_custom_job_parameters_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.batch_custom_job_parameters ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.batch_custom_job_parameters_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: batch_job_execution; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_job_execution ( + job_execution_id bigint NOT NULL, + version bigint, + job_instance_id bigint NOT NULL, + create_time timestamp without time zone NOT NULL, + start_time timestamp without time zone, + end_time timestamp without time zone, + status character varying(10), + exit_code character varying(2500), + exit_message character varying(2500), + last_updated timestamp without time zone +); + + + +-- Name: batch_job_execution_context; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_job_execution_context ( + job_execution_id bigint NOT NULL, + short_context character varying(2500) NOT NULL, + serialized_context text +); + + + +-- Name: batch_job_execution_params; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_job_execution_params ( + job_execution_id bigint NOT NULL, + parameter_type character varying(100) CONSTRAINT batch_job_execution_params_type_cd_not_null NOT NULL, + parameter_name character varying(100) CONSTRAINT batch_job_execution_params_key_name_not_null NOT NULL, + parameter_value character varying(2500), + identifying character(1) NOT NULL +); + + + +-- Name: batch_job_execution_seq; Type: SEQUENCE; Schema: public; Owner: - + +CREATE SEQUENCE public.batch_job_execution_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + + +-- Name: batch_job_instance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_job_instance ( + job_instance_id bigint NOT NULL, + version bigint, + job_name character varying(100) NOT NULL, + job_key character varying(32) NOT NULL +); + + + +-- Name: batch_job_seq; Type: SEQUENCE; Schema: public; Owner: - + +CREATE SEQUENCE public.batch_job_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + + +-- Name: batch_step_execution; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_step_execution ( + step_execution_id bigint NOT NULL, + version bigint NOT NULL, + step_name character varying(100) NOT NULL, + job_execution_id bigint NOT NULL, + start_time timestamp without time zone, + end_time timestamp without time zone, + status character varying(10), + commit_count bigint, + read_count bigint, + filter_count bigint, + write_count bigint, + read_skip_count bigint, + write_skip_count bigint, + process_skip_count bigint, + rollback_count bigint, + exit_code character varying(2500), + exit_message character varying(2500), + last_updated timestamp without time zone, + create_time timestamp without time zone DEFAULT '1970-01-01 00:00:00'::timestamp without time zone NOT NULL +); + + + +-- Name: batch_step_execution_context; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.batch_step_execution_context ( + step_execution_id bigint NOT NULL, + short_context character varying(2500) NOT NULL, + serialized_context text +); + + + +-- Name: batch_step_execution_seq; Type: SEQUENCE; Schema: public; Owner: - + +CREATE SEQUENCE public.batch_step_execution_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + + +-- Name: c_account_number_format; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.c_account_number_format ( + id bigint NOT NULL, + account_type_enum smallint NOT NULL, + prefix_type_enum smallint, + prefix_character character varying(50) +); + + + +-- Name: c_account_number_format_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.c_account_number_format ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.c_account_number_format_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: c_cache; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.c_cache ( + id bigint NOT NULL, + cache_type_enum smallint DEFAULT 1 NOT NULL +); + + + +-- Name: c_cache_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.c_cache ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.c_cache_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: c_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.c_configuration ( + id bigint NOT NULL, + name character varying(100), + value integer, + date_value date, + string_value character varying(100), + enabled boolean DEFAULT false NOT NULL, + is_trap_door boolean DEFAULT false NOT NULL, + description character varying(300) +); + + + +-- Name: c_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.c_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.c_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: c_external_service; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.c_external_service ( + id bigint NOT NULL, + name character varying(100) +); + + + +-- Name: c_external_service_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.c_external_service ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.c_external_service_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: c_external_service_properties; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.c_external_service_properties ( + name character varying(150) NOT NULL, + value character varying(250), + external_service_id bigint NOT NULL +); + + + + + + + + + +-- Name: glim_accounts; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.glim_accounts ( + id bigint NOT NULL, + group_id bigint DEFAULT 0 NOT NULL, + account_number character varying(50) NOT NULL, + principal_amount numeric(19,6) DEFAULT 0 NOT NULL, + child_accounts_count integer NOT NULL, + accepting_child boolean DEFAULT false NOT NULL, + loan_status_id smallint DEFAULT 0 NOT NULL, + application_id numeric(10,0) DEFAULT 0 +); + + + +-- Name: glim_accounts_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.glim_accounts ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.glim_accounts_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: gsim_accounts; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.gsim_accounts ( + id bigint NOT NULL, + group_id bigint DEFAULT 0 NOT NULL, + account_number character varying(50) NOT NULL, + parent_deposit numeric(19,6) DEFAULT 0 NOT NULL, + child_accounts_count integer NOT NULL, + accepting_child boolean DEFAULT false NOT NULL, + savings_status_id smallint DEFAULT 0 NOT NULL, + application_id numeric(10,0) DEFAULT 0 +); + + + +-- Name: gsim_accounts_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.gsim_accounts ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.gsim_accounts_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: interop_identifier; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.interop_identifier ( + id bigint NOT NULL, + account_id bigint NOT NULL, + type character varying(32) NOT NULL, + a_value character varying(128) NOT NULL, + sub_value_or_type character varying(128), + created_by character varying(32) NOT NULL, + created_on timestamp without time zone DEFAULT now() NOT NULL, + modified_by character varying(32), + modified_on timestamp without time zone +); + + + +-- Name: interop_identifier_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.interop_identifier ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.interop_identifier_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: job; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.job ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + display_name character varying(100) NOT NULL, + cron_expression character varying(20) NOT NULL, + create_time timestamp without time zone NOT NULL, + task_priority smallint DEFAULT 5 NOT NULL, + group_name character varying(50), + previous_run_start_time timestamp without time zone, + next_run_time timestamp without time zone, + job_key character varying(500), + initializing_errorlog text, + is_active boolean DEFAULT true NOT NULL, + currently_running boolean DEFAULT false NOT NULL, + updates_allowed boolean DEFAULT true NOT NULL, + scheduler_group smallint DEFAULT 0 NOT NULL, + is_misfired boolean DEFAULT false NOT NULL, + node_id integer, + is_mismatched_job boolean DEFAULT true, + short_name character varying(8) +); + + + +-- Name: job_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.job ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.job_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: job_parameters; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.job_parameters ( + id bigint NOT NULL, + job_id bigint NOT NULL, + parameter_name character varying(100) NOT NULL, + parameter_value text NOT NULL +); + + + +-- Name: job_parameters_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.job_parameters ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.job_parameters_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: job_run_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.job_run_history ( + id bigint NOT NULL, + job_id bigint NOT NULL, + version bigint NOT NULL, + start_time timestamp without time zone NOT NULL, + end_time timestamp without time zone NOT NULL, + status character varying(10) NOT NULL, + error_message text, + trigger_type character varying(25) NOT NULL, + error_log text +); + + + +-- Name: job_run_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.job_run_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.job_run_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_account_transfer_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_account_transfer_details ( + id bigint NOT NULL, + from_office_id bigint NOT NULL, + to_office_id bigint NOT NULL, + from_client_id bigint, + to_client_id bigint, + from_savings_account_id bigint, + to_savings_account_id bigint, + from_loan_account_id bigint, + to_loan_account_id bigint, + transfer_type smallint +); + + + +-- Name: m_account_transfer_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_account_transfer_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_account_transfer_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_account_transfer_standing_instructions; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_account_transfer_standing_instructions ( + id bigint NOT NULL, + name character varying(250) NOT NULL, + account_transfer_details_id bigint CONSTRAINT m_account_transfer_standing_account_transfer_details_i_not_null NOT NULL, + priority smallint NOT NULL, + status smallint NOT NULL, + instruction_type smallint CONSTRAINT m_account_transfer_standing_instructi_instruction_type_not_null NOT NULL, + amount numeric(19,6) DEFAULT NULL::numeric, + valid_from date NOT NULL, + valid_till date, + recurrence_type smallint CONSTRAINT m_account_transfer_standing_instructio_recurrence_type_not_null NOT NULL, + recurrence_frequency smallint, + recurrence_interval smallint, + recurrence_on_day smallint, + recurrence_on_month smallint, + last_run_date date +); + + + +-- Name: m_account_transfer_standing_instructions_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_account_transfer_standing_instructions_history ( + id bigint NOT NULL, + standing_instruction_id bigint CONSTRAINT m_account_transfer_standing_in_standing_instruction_id_not_null NOT NULL, + status character varying(20) CONSTRAINT m_account_transfer_standing_instructions_histor_status_not_null NOT NULL, + execution_time timestamp without time zone CONSTRAINT m_account_transfer_standing_instruction_execution_time_not_null NOT NULL, + amount numeric(19,6) CONSTRAINT m_account_transfer_standing_instructions_histor_amount_not_null NOT NULL, + error_log character varying(500) +); + + + +-- Name: m_account_transfer_standing_instructions_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_account_transfer_standing_instructions_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_account_transfer_standing_instructions_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_account_transfer_standing_instructions_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_account_transfer_standing_instructions ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_account_transfer_standing_instructions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_account_transfer_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_account_transfer_transaction ( + id bigint NOT NULL, + account_transfer_details_id bigint CONSTRAINT m_account_transfer_transact_account_transfer_details_i_not_null NOT NULL, + from_savings_transaction_id bigint, + from_loan_transaction_id bigint, + to_savings_transaction_id bigint, + to_loan_transaction_id bigint, + is_reversed boolean NOT NULL, + transaction_date date NOT NULL, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + amount numeric(19,6) NOT NULL, + description character varying(200) NOT NULL +); + + + +-- Name: m_account_transfer_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_account_transfer_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_account_transfer_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_address; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_address ( + id bigint NOT NULL, + street character varying(100), + address_line_1 character varying(100), + address_line_2 character varying(100), + address_line_3 character varying(100), + town_village character varying(100), + city character varying(100), + county_district character varying(100), + state_province_id integer, + country_id integer, + postal_code character varying(10), + latitude numeric(10,8) DEFAULT 0.00000000, + longitude numeric(10,8) DEFAULT 0.00000000, + created_by character varying(100), + created_on date, + updated_by character varying(100), + updated_on date +); + + + +-- Name: m_address_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_address ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_address_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_adhoc; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_adhoc ( + id bigint NOT NULL, + name character varying(100), + query character varying(2000), + table_name character varying(100), + table_fields character varying(1000), + email character varying(500), + is_active boolean DEFAULT false CONSTRAINT "m_adhoc_IsActive_not_null" NOT NULL, + created_date timestamp without time zone, + createdby_id bigint NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone, + report_run_frequency_code integer, + report_run_every integer, + last_run timestamp without time zone +); + + + +-- Name: m_adhoc_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_adhoc ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_adhoc_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_appuser; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_appuser ( + id bigint NOT NULL, + is_deleted boolean DEFAULT false NOT NULL, + office_id bigint, + staff_id bigint, + username character varying(100) NOT NULL, + firstname character varying(100) NOT NULL, + lastname character varying(100) NOT NULL, + password character varying(255) NOT NULL, + email character varying(100) NOT NULL, + firsttime_login_remaining boolean NOT NULL, + nonexpired boolean NOT NULL, + nonlocked boolean NOT NULL, + nonexpired_credentials boolean NOT NULL, + enabled boolean NOT NULL, + last_time_password_updated date DEFAULT '1970-01-01'::date NOT NULL, + password_never_expires boolean DEFAULT false NOT NULL, + cannot_change_password boolean DEFAULT false, + password_reset_required boolean DEFAULT false NOT NULL, + failed_login_attempts integer DEFAULT 0 NOT NULL, + is_login_retries_enabled boolean DEFAULT false NOT NULL, + temporary_password character varying(255), + temporary_password_expiry_time timestamp with time zone, + is_password_reset_enabled boolean DEFAULT false NOT NULL +); + + + +-- Name: COLUMN m_appuser.password_never_expires; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_appuser.password_never_expires IS 'define if the password, should be check for validity period or not'; + + +-- Name: m_appuser_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_appuser ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_appuser_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_appuser_previous_password; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_appuser_previous_password ( + id bigint NOT NULL, + user_id bigint NOT NULL, + password character varying(255) NOT NULL, + removal_date date NOT NULL +); + + + +-- Name: m_appuser_previous_password_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_appuser_previous_password ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_appuser_previous_password_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_appuser_role; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_appuser_role ( + appuser_id bigint NOT NULL, + role_id bigint NOT NULL +); + + + +-- Name: m_batch_business_steps; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_batch_business_steps ( + id bigint NOT NULL, + job_name character varying(100) NOT NULL, + step_name character varying(100) NOT NULL, + step_order smallint NOT NULL +); + + + +-- Name: m_batch_business_steps_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_batch_business_steps ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_batch_business_steps_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_business_date; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_business_date ( + id bigint NOT NULL, + type character varying(100) NOT NULL, + date date NOT NULL, + created_by bigint NOT NULL, + created_date timestamp without time zone, + version bigint NOT NULL, + last_modified_by bigint NOT NULL, + lastmodified_date timestamp without time zone, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_business_date_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_business_date ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_business_date_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_calendar; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_calendar ( + id bigint NOT NULL, + title character varying(70) NOT NULL, + description character varying(100), + location character varying(50), + start_date date NOT NULL, + end_date date, + duration smallint, + calendar_type_enum smallint NOT NULL, + repeating boolean DEFAULT false NOT NULL, + recurrence character varying(100), + remind_by_enum smallint, + first_reminder smallint, + second_reminder smallint, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + meeting_time time without time zone, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_calendar_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_calendar_history ( + id bigint NOT NULL, + calendar_id bigint NOT NULL, + title character varying(70) NOT NULL, + description character varying(100), + location character varying(50), + start_date date NOT NULL, + end_date date, + duration smallint, + calendar_type_enum smallint NOT NULL, + repeating boolean DEFAULT false NOT NULL, + recurrence character varying(100), + remind_by_enum smallint, + first_reminder smallint, + second_reminder smallint +); + + + +-- Name: m_calendar_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_calendar_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_calendar_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_calendar_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_calendar ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_calendar_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_calendar_instance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_calendar_instance ( + id bigint NOT NULL, + calendar_id bigint NOT NULL, + entity_id bigint NOT NULL, + entity_type_enum smallint NOT NULL +); + + + +-- Name: m_calendar_instance_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_calendar_instance ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_calendar_instance_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_cashier_transactions; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_cashier_transactions ( + id bigint NOT NULL, + cashier_id bigint NOT NULL, + txn_type smallint NOT NULL, + txn_amount numeric(19,6) NOT NULL, + txn_date date NOT NULL, + created_date timestamp without time zone NOT NULL, + entity_type character varying(50), + entity_id bigint, + txn_note character varying(200), + currency_code character varying(3) +); + + + +-- Name: m_cashier_transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_cashier_transactions ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_cashier_transactions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_cashiers; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_cashiers ( + id bigint NOT NULL, + staff_id bigint, + teller_id bigint, + description character varying(100), + start_date date, + end_date date, + start_time character varying(10), + end_time character varying(10), + full_day boolean +); + + + +-- Name: m_cashiers_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_cashiers ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_cashiers_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_charge ( + id bigint NOT NULL, + name character varying(100), + currency_code character varying(3) NOT NULL, + charge_applies_to_enum smallint NOT NULL, + charge_time_enum smallint NOT NULL, + charge_calculation_enum smallint NOT NULL, + charge_payment_mode_enum smallint, + amount numeric(19,6) NOT NULL, + fee_on_day smallint, + fee_interval smallint, + fee_on_month smallint, + is_penalty boolean DEFAULT false NOT NULL, + is_active boolean NOT NULL, + is_deleted boolean DEFAULT false NOT NULL, + min_cap numeric(19,6) DEFAULT NULL::numeric, + max_cap numeric(19,6) DEFAULT NULL::numeric, + fee_frequency smallint, + is_free_withdrawal boolean DEFAULT false NOT NULL, + free_withdrawal_charge_frequency integer DEFAULT 0, + restart_frequency integer DEFAULT 0, + restart_frequency_enum integer DEFAULT 0, + is_payment_type boolean DEFAULT false, + payment_type_id integer, + income_or_liability_account_id bigint, + tax_group_id bigint +); + + + +-- Name: m_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client ( + id bigint NOT NULL, + account_no character varying(20) NOT NULL, + external_id character varying(100), + status_enum integer DEFAULT 300 NOT NULL, + sub_status integer, + activation_date date, + office_joining_date date, + office_id bigint NOT NULL, + transfer_to_office_id bigint, + staff_id bigint, + firstname character varying(50), + middlename character varying(50), + lastname character varying(50), + fullname character varying(160), + display_name character varying(160) NOT NULL, + mobile_no character varying(50), + is_staff boolean DEFAULT false NOT NULL, + gender_cv_id integer, + date_of_birth date, + image_id bigint, + closure_reason_cv_id integer, + closedon_date date, + updated_by bigint, + updated_on date, + submittedon_date date, + activatedon_userid bigint, + closedon_userid bigint, + default_savings_product bigint, + default_savings_account bigint, + client_type_cv_id integer, + client_classification_cv_id integer, + reject_reason_cv_id integer, + rejectedon_date date, + rejectedon_userid bigint, + withdraw_reason_cv_id integer, + withdrawn_on_date date, + withdraw_on_userid bigint, + reactivated_on_date date, + reactivated_on_userid bigint, + legal_form_enum integer, + reopened_on_date date, + reopened_by_userid bigint, + email_address character varying(150), + proposed_transfer_date date, + created_on_utc timestamp with time zone NOT NULL, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_client_address; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_address ( + id bigint NOT NULL, + client_id bigint DEFAULT 0 NOT NULL, + address_id bigint DEFAULT 0 NOT NULL, + address_type_id integer DEFAULT 0 NOT NULL, + is_active boolean DEFAULT false NOT NULL +); + + + +-- Name: m_client_address_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_address ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_address_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_attendance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_attendance ( + id bigint NOT NULL, + client_id bigint DEFAULT 0 NOT NULL, + meeting_id bigint NOT NULL, + attendance_type_enum smallint NOT NULL +); + + + +-- Name: m_client_attendance_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_attendance ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_attendance_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_charge ( + id bigint NOT NULL, + client_id bigint NOT NULL, + charge_id bigint NOT NULL, + is_penalty boolean NOT NULL, + charge_time_enum smallint NOT NULL, + charge_due_date date, + charge_calculation_enum smallint NOT NULL, + amount numeric(19,6) NOT NULL, + amount_paid_derived numeric(19,6) DEFAULT NULL::numeric, + amount_waived_derived numeric(19,6) DEFAULT NULL::numeric, + amount_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + amount_outstanding_derived numeric(19,6) NOT NULL, + is_paid_derived boolean, + waived boolean, + is_active boolean, + inactivated_on_date date +); + + + +-- Name: m_client_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_charge_paid_by; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_charge_paid_by ( + id bigint NOT NULL, + client_transaction_id bigint NOT NULL, + client_charge_id bigint NOT NULL, + amount numeric(19,6) NOT NULL +); + + + +-- Name: m_client_charge_paid_by_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_charge_paid_by ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_charge_paid_by_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_collateral_management; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_collateral_management ( + id bigint NOT NULL, + quantity numeric(20,5) NOT NULL, + client_id bigint, + collateral_id bigint +); + + + +-- Name: m_client_collateral_management_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_collateral_management ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_collateral_management_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_identifier; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_identifier ( + id bigint NOT NULL, + client_id bigint NOT NULL, + document_type_id integer NOT NULL, + document_key character varying(50) NOT NULL, + status integer DEFAULT 300 NOT NULL, + active integer, + description character varying(500), + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_client_identifier_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_identifier ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_identifier_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_non_person; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_non_person ( + id bigint NOT NULL, + client_id bigint NOT NULL, + constitution_cv_id integer NOT NULL, + incorp_no character varying(50), + incorp_validity_till date, + main_business_line_cv_id integer, + remarks character varying(150) +); + + + +-- Name: m_client_non_person_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_non_person ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_non_person_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_transaction ( + id bigint NOT NULL, + client_id bigint NOT NULL, + office_id bigint NOT NULL, + currency_code character varying(3) NOT NULL, + payment_detail_id bigint, + is_reversed boolean NOT NULL, + external_id character varying(50), + transaction_date date NOT NULL, + transaction_type_enum smallint NOT NULL, + amount numeric(19,6) NOT NULL, + created_date timestamp without time zone, + created_on_utc timestamp with time zone NOT NULL, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + submitted_on_date date NOT NULL +); + + + +-- Name: m_client_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_client_transfer_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_client_transfer_details ( + id bigint NOT NULL, + client_id bigint NOT NULL, + from_office_id bigint NOT NULL, + to_office_id bigint NOT NULL, + proposed_transfer_date date, + transfer_type smallint NOT NULL, + submitted_on date NOT NULL, + submitted_by bigint NOT NULL +); + + + +-- Name: m_client_transfer_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_client_transfer_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_client_transfer_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_code; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_code ( + id integer NOT NULL, + code_name character varying(100), + is_system_defined boolean DEFAULT false NOT NULL +); + + + +-- Name: m_code_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_code ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_code_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_code_value; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_code_value ( + id integer NOT NULL, + code_id integer NOT NULL, + code_value character varying(100), + code_description character varying(500), + order_position integer DEFAULT 0 NOT NULL, + code_score integer, + is_active boolean DEFAULT true NOT NULL, + is_mandatory boolean DEFAULT false NOT NULL +); + + + +-- Name: m_code_value_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_code_value ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_code_value_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_collateral_management; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_collateral_management ( + id bigint NOT NULL, + name character varying(50) NOT NULL, + quality character varying(40) NOT NULL, + base_price numeric(20,5) NOT NULL, + unit_type character varying(10) NOT NULL, + pct_to_base numeric(20,5) NOT NULL, + currency bigint +); + + + +-- Name: m_collateral_management_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_collateral_management ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_collateral_management_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_creditbureau; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_creditbureau ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + product character varying(100) NOT NULL, + country character varying(100) NOT NULL, + implementation_key character varying(100) CONSTRAINT "m_creditbureau_implementationKey_not_null" NOT NULL +); + + + +-- Name: m_creditbureau_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_creditbureau_configuration ( + id bigint NOT NULL, + configkey character varying(50), + value text, + organisation_creditbureau_id bigint, + description character varying(50) +); + + + +-- Name: m_creditbureau_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_creditbureau_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_creditbureau_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_creditbureau_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_creditbureau ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_creditbureau_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_creditbureau_loanproduct_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_creditbureau_loanproduct_mapping ( + id bigint NOT NULL, + organisation_creditbureau_id bigint CONSTRAINT m_creditbureau_loanproduct__organisation_creditbureau__not_null NOT NULL, + loan_product_id bigint NOT NULL, + is_creditcheck_mandatory boolean, + skip_creditcheck_in_failure boolean, + stale_period integer, + is_active boolean +); + + + +-- Name: m_creditbureau_loanproduct_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_creditbureau_loanproduct_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_creditbureau_loanproduct_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_creditbureau_token; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_creditbureau_token ( + id integer NOT NULL, + username character varying(128), + token text, + token_type character varying(128), + expires_in character varying(128), + issued character varying(128), + expiry_date date +); + + + +-- Name: m_creditbureau_token_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_creditbureau_token ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_creditbureau_token_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_creditreport; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_creditreport ( + id integer NOT NULL, + credit_bureau_id bigint, + national_id character varying(128), + credit_reports oid +); + + + +-- Name: m_creditreport_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_creditreport ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_creditreport_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_currency; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_currency ( + id bigint NOT NULL, + code character varying(3) NOT NULL, + decimal_places smallint NOT NULL, + currency_multiplesof smallint, + display_symbol character varying(10), + name character varying(50) NOT NULL, + internationalized_name_code character varying(50) NOT NULL +); + + + +-- Name: m_currency_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_currency ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_currency_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_delinquency_bucket; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_delinquency_bucket ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + created_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + version bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_delinquency_bucket_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_delinquency_bucket ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_delinquency_bucket_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_delinquency_bucket_mappings; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_delinquency_bucket_mappings ( + id bigint NOT NULL, + delinquency_range_id bigint NOT NULL, + delinquency_bucket_id bigint NOT NULL, + created_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + version bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_delinquency_bucket_mappings_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_delinquency_bucket_mappings ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_delinquency_bucket_mappings_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_delinquency_range; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_delinquency_range ( + id bigint NOT NULL, + classification character varying(100) NOT NULL, + min_age_days bigint NOT NULL, + max_age_days bigint, + created_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + version bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_delinquency_range_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_delinquency_range ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_delinquency_range_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_deposit_account_on_hold_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_account_on_hold_transaction ( + id bigint NOT NULL, + savings_account_id bigint CONSTRAINT m_deposit_account_on_hold_transacti_savings_account_id_not_null NOT NULL, + amount numeric(19,6) NOT NULL, + transaction_type_enum smallint CONSTRAINT m_deposit_account_on_hold_transa_transaction_type_enum_not_null NOT NULL, + transaction_date date NOT NULL, + is_reversed boolean DEFAULT false NOT NULL, + created_date timestamp without time zone, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone CONSTRAINT m_deposit_account_on_hold_transac_last_modified_on_utc_not_null NOT NULL +); + + + +-- Name: m_deposit_account_on_hold_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_deposit_account_on_hold_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_deposit_account_on_hold_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_deposit_account_recurring_detail; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_account_recurring_detail ( + id bigint NOT NULL, + savings_account_id bigint DEFAULT 0 NOT NULL, + mandatory_recommended_deposit_amount numeric(19,6) DEFAULT NULL::numeric, + is_mandatory boolean DEFAULT false NOT NULL, + allow_withdrawal boolean DEFAULT false NOT NULL, + adjust_advance_towards_future_payments boolean DEFAULT true CONSTRAINT m_deposit_account_recurring_adjust_advance_towards_fut_not_null NOT NULL, + is_calendar_inherited boolean DEFAULT false CONSTRAINT m_deposit_account_recurring_deta_is_calendar_inherited_not_null NOT NULL, + total_overdue_amount numeric(19,6) DEFAULT NULL::numeric, + no_of_overdue_installments integer +); + + + +-- Name: m_deposit_account_recurring_detail_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_deposit_account_recurring_detail ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_deposit_account_recurring_detail_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_deposit_account_term_and_preclosure; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_account_term_and_preclosure ( + id bigint NOT NULL, + savings_account_id bigint DEFAULT 0 CONSTRAINT m_deposit_account_term_and_preclosu_savings_account_id_not_null NOT NULL, + min_deposit_term integer, + max_deposit_term integer, + min_deposit_term_type_enum smallint, + max_deposit_term_type_enum smallint, + in_multiples_of_deposit_term integer, + in_multiples_of_deposit_term_type_enum smallint, + pre_closure_penal_applicable boolean, + pre_closure_penal_interest numeric(19,6) DEFAULT NULL::numeric, + pre_closure_penal_interest_on_enum smallint, + deposit_period integer, + deposit_period_frequency_enum smallint, + deposit_amount numeric(19,6) DEFAULT NULL::numeric, + maturity_amount numeric(19,6) DEFAULT NULL::numeric, + maturity_date date, + on_account_closure_enum smallint, + expected_firstdepositon_date date, + transfer_interest_to_linked_account boolean DEFAULT false CONSTRAINT m_deposit_account_term_and__transfer_interest_to_linke_not_null NOT NULL, + transfer_to_savings_account_id bigint +); + + + +-- Name: m_deposit_account_term_and_preclosure_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_deposit_account_term_and_preclosure ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_deposit_account_term_and_preclosure_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_deposit_product_interest_rate_chart; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_product_interest_rate_chart ( + deposit_product_id bigint CONSTRAINT m_deposit_product_interest_rate_cha_deposit_product_id_not_null NOT NULL, + interest_rate_chart_id bigint CONSTRAINT m_deposit_product_interest_rate_interest_rate_chart_id_not_null NOT NULL +); + + + +-- Name: m_deposit_product_recurring_detail; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_product_recurring_detail ( + id bigint NOT NULL, + savings_product_id bigint DEFAULT 0 NOT NULL, + is_mandatory boolean DEFAULT true NOT NULL, + allow_withdrawal boolean DEFAULT false NOT NULL, + adjust_advance_towards_future_payments boolean DEFAULT true CONSTRAINT m_deposit_product_recurring_adjust_advance_towards_fut_not_null NOT NULL +); + + + +-- Name: m_deposit_product_recurring_detail_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_deposit_product_recurring_detail ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_deposit_product_recurring_detail_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_deposit_product_term_and_preclosure; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_deposit_product_term_and_preclosure ( + id bigint NOT NULL, + savings_product_id bigint DEFAULT 0 CONSTRAINT m_deposit_product_term_and_preclosu_savings_product_id_not_null NOT NULL, + min_deposit_term integer, + max_deposit_term integer, + min_deposit_term_type_enum smallint, + max_deposit_term_type_enum smallint, + in_multiples_of_deposit_term integer, + in_multiples_of_deposit_term_type_enum smallint, + pre_closure_penal_applicable boolean, + pre_closure_penal_interest numeric(19,6) DEFAULT NULL::numeric, + pre_closure_penal_interest_on_enum smallint, + min_deposit_amount numeric(19,6) DEFAULT NULL::numeric, + max_deposit_amount numeric(19,6) DEFAULT NULL::numeric, + deposit_amount numeric(19,6) DEFAULT NULL::numeric +); + + + +-- Name: m_deposit_product_term_and_preclosure_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_deposit_product_term_and_preclosure ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_deposit_product_term_and_preclosure_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_document; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_document ( + id integer NOT NULL, + parent_entity_type character varying(50) NOT NULL, + parent_entity_id integer DEFAULT 0 NOT NULL, + name character varying(250) NOT NULL, + file_name character varying(250) NOT NULL, + size integer DEFAULT 0, + type character varying(500), + description character varying(1000), + location character varying(500) DEFAULT '0'::character varying NOT NULL, + storage_type_enum smallint +); + + + +-- Name: m_document_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_document ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_document_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_entity_datatable_check; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_entity_datatable_check ( + id integer NOT NULL, + application_table_name character varying(200) NOT NULL, + x_registered_table_name character varying(50) NOT NULL, + status_enum integer NOT NULL, + system_defined boolean DEFAULT false NOT NULL, + product_id bigint +); + + + +-- Name: m_entity_datatable_check_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_entity_datatable_check ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_entity_datatable_check_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_entity_relation; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_entity_relation ( + id bigint NOT NULL, + from_entity_type integer NOT NULL, + to_entity_type integer NOT NULL, + code_name character varying(50) NOT NULL +); + + + +-- Name: m_entity_relation_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_entity_relation ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_entity_relation_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_entity_to_entity_access; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_entity_to_entity_access ( + id bigint NOT NULL, + entity_type character varying(50) NOT NULL, + entity_id bigint NOT NULL, + access_type_code_value_id integer NOT NULL, + second_entity_type character varying(50) NOT NULL, + second_entity_id bigint NOT NULL +); + + + +-- Name: m_entity_to_entity_access_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_entity_to_entity_access ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_entity_to_entity_access_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_entity_to_entity_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_entity_to_entity_mapping ( + id bigint NOT NULL, + rel_id bigint DEFAULT 0 NOT NULL, + from_id bigint DEFAULT 0 NOT NULL, + to_id bigint NOT NULL, + start_date date, + end_date date +); + + + +-- Name: m_entity_to_entity_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_entity_to_entity_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_entity_to_entity_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_external_event; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_external_event ( + id bigint NOT NULL, + type character varying(100) NOT NULL, + created_at timestamp(6) without time zone NOT NULL, + status character varying(100) NOT NULL, + business_date date NOT NULL, + data bytea NOT NULL, + idempotency_key character varying(100) NOT NULL, + sent_at timestamp(6) without time zone, + schema character varying(300) NOT NULL, + category character varying(100) NOT NULL, + aggregate_root_id bigint +); + + + +-- Name: m_external_event_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_external_event_configuration ( + type character varying(100) NOT NULL, + enabled boolean NOT NULL +); + + + +-- Name: m_external_event_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_external_event ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_external_event_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_family_members; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_family_members ( + id bigint NOT NULL, + client_id bigint NOT NULL, + firstname character varying(50) NOT NULL, + middlename character varying(50), + lastname character varying(50), + qualification character varying(50), + relationship_cv_id integer NOT NULL, + marital_status_cv_id integer, + gender_cv_id integer, + date_of_birth date, + age integer, + profession_cv_id integer, + mobile_number character varying(50), + is_dependent boolean +); + + + +-- Name: m_family_members_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_family_members ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_family_members_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_field_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_field_configuration ( + id bigint NOT NULL, + entity character varying(100) NOT NULL, + subentity character varying(100) NOT NULL, + field character varying(100) NOT NULL, + is_enabled boolean NOT NULL, + is_mandatory boolean NOT NULL, + validation_regex character varying(50) +); + + + +-- Name: m_field_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_field_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_field_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_floating_rates; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_floating_rates ( + id bigint NOT NULL, + name character varying(200) NOT NULL, + is_base_lending_rate boolean DEFAULT false NOT NULL, + is_active boolean DEFAULT true NOT NULL, + created_by bigint CONSTRAINT m_floating_rates_createdby_id_not_null NOT NULL, + created_date timestamp without time zone, + last_modified_by bigint CONSTRAINT m_floating_rates_lastmodifiedby_id_not_null NOT NULL, + lastmodified_date timestamp without time zone, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_floating_rates_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_floating_rates ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_floating_rates_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_floating_rates_periods; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_floating_rates_periods ( + id bigint NOT NULL, + floating_rates_id bigint NOT NULL, + from_date date NOT NULL, + interest_rate numeric(19,6) NOT NULL, + is_differential_to_base_lending_rate boolean DEFAULT false CONSTRAINT m_floating_rates_periods_is_differential_to_base_lendi_not_null NOT NULL, + is_active boolean DEFAULT true NOT NULL, + created_by bigint CONSTRAINT m_floating_rates_periods_createdby_id_not_null NOT NULL, + created_date timestamp without time zone, + last_modified_by bigint CONSTRAINT m_floating_rates_periods_lastmodifiedby_id_not_null NOT NULL, + lastmodified_date timestamp without time zone, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_floating_rates_periods_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_floating_rates_periods ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_floating_rates_periods_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_fund; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_fund ( + id bigint NOT NULL, + name character varying(255), + external_id character varying(100) +); + + + +-- Name: m_fund_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_fund ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_fund_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_group; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_group ( + id bigint NOT NULL, + external_id character varying(100), + status_enum integer DEFAULT 300 NOT NULL, + activation_date date, + office_id bigint NOT NULL, + staff_id bigint, + parent_id bigint, + level_id integer NOT NULL, + display_name character varying(100) NOT NULL, + hierarchy character varying(100), + closure_reason_cv_id integer, + closedon_date date, + activatedon_userid bigint, + submittedon_date date, + submittedon_userid bigint, + closedon_userid bigint, + account_no character varying(20) NOT NULL +); + + + +-- Name: m_group_client; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_group_client ( + group_id bigint NOT NULL, + client_id bigint NOT NULL +); + + + +-- Name: m_group_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_group ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_group_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_group_level; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_group_level ( + id integer CONSTRAINT m_group_level_id_not_null1 NOT NULL, + parent_id integer, + super_parent boolean NOT NULL, + level_name character varying(100) NOT NULL, + recursable boolean NOT NULL, + can_have_clients boolean NOT NULL +); + + + +-- Name: m_group_level_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_group_level ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_group_level_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_group_roles; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_group_roles ( + id bigint NOT NULL, + client_id bigint, + group_id bigint, + role_cv_id integer +); + + + +-- Name: m_group_roles_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_group_roles ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_group_roles_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_guarantor; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_guarantor ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + client_reln_cv_id integer, + type_enum smallint NOT NULL, + entity_id bigint, + firstname character varying(50), + lastname character varying(50), + dob date, + address_line_1 character varying(500), + address_line_2 character varying(500), + city character varying(50), + state character varying(50), + country character varying(50), + zip character varying(20), + house_phone_number character varying(20), + mobile_number character varying(20), + comment character varying(500), + is_active boolean DEFAULT true NOT NULL +); + + + +-- Name: m_guarantor_funding_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_guarantor_funding_details ( + id bigint NOT NULL, + guarantor_id bigint NOT NULL, + account_associations_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + amount_released_derived numeric(19,6) DEFAULT NULL::numeric, + amount_remaining_derived numeric(19,6) DEFAULT NULL::numeric, + amount_transfered_derived numeric(19,6) DEFAULT NULL::numeric, + status_enum smallint NOT NULL +); + + + +-- Name: m_guarantor_funding_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_guarantor_funding_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_guarantor_funding_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_guarantor_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_guarantor ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_guarantor_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_guarantor_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_guarantor_transaction ( + id bigint NOT NULL, + guarantor_fund_detail_id bigint NOT NULL, + loan_transaction_id bigint, + deposit_on_hold_transaction_id bigint NOT NULL, + is_reversed boolean DEFAULT false NOT NULL +); + + + +-- Name: m_guarantor_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_guarantor_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_guarantor_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_holiday; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_holiday ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + from_date date NOT NULL, + to_date date NOT NULL, + repayments_rescheduled_to date, + status_enum integer DEFAULT 100 NOT NULL, + processed boolean DEFAULT false NOT NULL, + description character varying(100), + rescheduling_type integer DEFAULT 2 NOT NULL +); + + + +-- Name: m_holiday_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_holiday ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_holiday_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_holiday_office; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_holiday_office ( + holiday_id bigint NOT NULL, + office_id bigint NOT NULL +); + + + +-- Name: m_hook; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_hook ( + id bigint NOT NULL, + template_id smallint NOT NULL, + is_active boolean DEFAULT true NOT NULL, + name character varying(45) NOT NULL, + createdby_id bigint, + created_date timestamp without time zone, + lastmodifiedby_id bigint, + lastmodified_date timestamp without time zone, + ugd_template_id bigint +); + + + +-- Name: m_hook_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_hook_configuration ( + id bigint NOT NULL, + hook_id bigint, + field_type character varying(45) NOT NULL, + field_name character varying(100) NOT NULL, + field_value character varying(100) NOT NULL +); + + + +-- Name: m_hook_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_hook_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_hook_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_hook_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_hook ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_hook_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_hook_registered_events; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_hook_registered_events ( + id bigint NOT NULL, + hook_id bigint NOT NULL, + entity_name character varying(45) NOT NULL, + action_name character varying(45) NOT NULL +); + + + +-- Name: m_hook_registered_events_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_hook_registered_events ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_hook_registered_events_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_hook_schema; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_hook_schema ( + id smallint NOT NULL, + hook_template_id smallint NOT NULL, + field_type character varying(45) NOT NULL, + field_name character varying(100) NOT NULL, + placeholder character varying(100), + optional boolean DEFAULT false NOT NULL +); + + + +-- Name: m_hook_schema_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_hook_schema ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_hook_schema_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_hook_templates; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_hook_templates ( + id smallint NOT NULL, + name character varying(45) NOT NULL +); + + + +-- Name: m_hook_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_hook_templates ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_hook_templates_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_image; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_image ( + id bigint NOT NULL, + location character varying(500), + storage_type_enum smallint +); + + + +-- Name: m_image_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_image ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_image_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_import_document; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_import_document ( + id bigint NOT NULL, + document_id integer NOT NULL, + import_time timestamp without time zone NOT NULL, + end_time timestamp without time zone, + entity_type smallint NOT NULL, + completed boolean DEFAULT false, + total_records bigint DEFAULT 0, + success_count bigint DEFAULT 0, + failure_count bigint DEFAULT 0, + createdby_id bigint +); + + + +-- Name: m_import_document_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_import_document ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_import_document_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_interest_incentives; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_interest_incentives ( + id bigint NOT NULL, + interest_rate_slab_id bigint NOT NULL, + entiry_type smallint NOT NULL, + attribute_name smallint NOT NULL, + condition_type smallint NOT NULL, + attribute_value character varying(50) NOT NULL, + incentive_type smallint NOT NULL, + amount numeric(19,6) NOT NULL +); + + + +-- Name: m_interest_incentives_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_interest_incentives ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_interest_incentives_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_interest_rate_chart; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_interest_rate_chart ( + id bigint NOT NULL, + name character varying(100), + description character varying(200), + from_date date NOT NULL, + end_date date, + is_primary_grouping_by_amount boolean DEFAULT false NOT NULL +); + + + +-- Name: m_interest_rate_chart_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_interest_rate_chart ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_interest_rate_chart_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_interest_rate_slab; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_interest_rate_slab ( + id bigint NOT NULL, + interest_rate_chart_id bigint NOT NULL, + description character varying(200), + period_type_enum smallint, + from_period integer, + to_period integer, + amount_range_from numeric(19,6) DEFAULT NULL::numeric, + amount_range_to numeric(19,6) DEFAULT NULL::numeric, + annual_interest_rate numeric(19,6) NOT NULL, + currency_code character varying(3) NOT NULL +); + + + +-- Name: m_interest_rate_slab_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_interest_rate_slab ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_interest_rate_slab_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_journal_entry_aggregation_summary; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_journal_entry_aggregation_summary ( + id bigint NOT NULL, + gl_account_id bigint NOT NULL, + product_id bigint NOT NULL, + office_id bigint NOT NULL, + entity_type_enum smallint NOT NULL, + aggregated_on_date date NOT NULL, + submitted_on_date date NOT NULL, + external_owner_id bigint, + debit_amount numeric(19,6), + credit_amount numeric(19,6), + manual_entry boolean DEFAULT false NOT NULL, + job_execution_id bigint NOT NULL, + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone, + originator_external_ids character varying(1000) +); + + + +-- Name: m_journal_entry_aggregation_summary_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_journal_entry_aggregation_summary ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_journal_entry_aggregation_summary_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_journal_entry_aggregation_tracking; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_journal_entry_aggregation_tracking ( + id bigint NOT NULL, + aggregated_on_date_from date CONSTRAINT m_journal_entry_aggregation_tr_aggregated_on_date_from_not_null NOT NULL, + aggregated_on_date_to date CONSTRAINT m_journal_entry_aggregation_trac_aggregated_on_date_to_not_null NOT NULL, + submitted_on_date date NOT NULL, + job_execution_id bigint NOT NULL, + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone +); + + + +-- Name: m_journal_entry_aggregation_tracking_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_journal_entry_aggregation_tracking ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_journal_entry_aggregation_tracking_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan ( + id bigint NOT NULL, + account_no character varying(20) NOT NULL, + external_id character varying(100), + client_id bigint, + group_id bigint, + glim_id bigint, + product_id bigint, + fund_id bigint, + loan_officer_id bigint, + loanpurpose_cv_id integer, + loan_status_id smallint NOT NULL, + loan_type_enum smallint NOT NULL, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + principal_amount_proposed numeric(19,6) NOT NULL, + principal_amount numeric(19,6) NOT NULL, + approved_principal numeric(19,6) NOT NULL, + net_disbursal_amount numeric(19,6) NOT NULL, + arrearstolerance_amount numeric(19,6) DEFAULT NULL::numeric, + is_floating_interest_rate boolean DEFAULT false, + interest_rate_differential numeric(19,6) DEFAULT 0, + nominal_interest_rate_per_period numeric(19,6) DEFAULT NULL::numeric, + interest_period_frequency_enum smallint, + annual_nominal_interest_rate numeric(19,6) DEFAULT NULL::numeric, + interest_method_enum smallint NOT NULL, + interest_calculated_in_period_enum smallint DEFAULT 1 NOT NULL, + allow_partial_period_interest_calcualtion boolean DEFAULT false NOT NULL, + term_frequency smallint DEFAULT 0 NOT NULL, + term_period_frequency_enum smallint DEFAULT 2 NOT NULL, + repay_every smallint NOT NULL, + repayment_period_frequency_enum smallint NOT NULL, + number_of_repayments smallint NOT NULL, + grace_on_principal_periods smallint, + recurring_moratorium_principal_periods smallint, + grace_on_interest_periods smallint, + grace_interest_free_periods smallint, + amortization_method_enum smallint NOT NULL, + submittedon_date date, + approvedon_date date, + approvedon_userid bigint, + expected_disbursedon_date date, + expected_firstrepaymenton_date date, + interest_calculated_from_date date, + disbursedon_date date, + disbursedon_userid bigint, + expected_maturedon_date date, + maturedon_date date, + closedon_date date, + closedon_userid bigint, + total_charges_due_at_disbursement_derived numeric(19,6) DEFAULT NULL::numeric, + principal_disbursed_derived numeric(19,6) DEFAULT 0 NOT NULL, + principal_repaid_derived numeric(19,6) DEFAULT 0 NOT NULL, + principal_writtenoff_derived numeric(19,6) DEFAULT 0 NOT NULL, + principal_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_charged_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_repaid_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_waived_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_writtenoff_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_charged_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_repaid_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_waived_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_writtenoff_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_charged_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_repaid_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_waived_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_writtenoff_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_expected_repayment_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_repayment_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_expected_costofloan_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_costofloan_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_waived_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_writtenoff_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_overpaid_derived numeric(19,6) DEFAULT NULL::numeric, + rejectedon_date date, + rejectedon_userid bigint, + rescheduledon_date date, + rescheduledon_userid bigint, + withdrawnon_date date, + withdrawnon_userid bigint, + writtenoffon_date date, + loan_transaction_strategy_id bigint, + sync_disbursement_with_meeting boolean, + loan_counter smallint, + loan_product_counter smallint, + fixed_emi_amount numeric(19,6) DEFAULT NULL::numeric, + max_outstanding_loan_balance numeric(19,6) DEFAULT NULL::numeric, + grace_on_arrears_ageing smallint, + is_npa boolean DEFAULT false NOT NULL, + total_recovered_derived numeric(19,6) DEFAULT NULL::numeric, + accrued_till date, + interest_recalcualated_on date, + days_in_month_enum smallint DEFAULT 1 NOT NULL, + days_in_year_enum smallint DEFAULT 1 NOT NULL, + interest_recalculation_enabled boolean DEFAULT false NOT NULL, + guarantee_amount_derived numeric(19,6) DEFAULT NULL::numeric, + create_standing_instruction_at_disbursement boolean, + version integer DEFAULT 1 NOT NULL, + writeoff_reason_cv_id integer, + loan_sub_status_id smallint, + is_topup boolean DEFAULT false NOT NULL, + is_equal_amortization boolean DEFAULT false NOT NULL, + fixed_principal_percentage_per_installment numeric(5,2) DEFAULT NULL::numeric, + created_on_utc timestamp with time zone NOT NULL, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + principal_adjustments_derived numeric(19,6) DEFAULT 0 NOT NULL, + is_fraud boolean DEFAULT false NOT NULL, + loan_transaction_strategy_code character varying(100) DEFAULT '-'::character varying NOT NULL, + loan_transaction_strategy_name character varying(100) DEFAULT '-'::character varying NOT NULL, + last_closed_business_date date, + overpaidon_date date, + is_charged_off boolean DEFAULT false NOT NULL, + charged_off_on_date date, + charge_off_reason_cv_id bigint, + charged_off_by_userid bigint, + enable_down_payment boolean DEFAULT false NOT NULL, + disbursed_amount_percentage_for_down_payment numeric(9,6) DEFAULT NULL::numeric, + enable_installment_level_delinquency boolean DEFAULT false NOT NULL, + enable_accrual_activity_posting boolean DEFAULT false NOT NULL, + days_in_year_custom_strategy character varying(100), + enable_income_capitalization boolean DEFAULT false NOT NULL, + capitalized_income_calculation_type character varying(100), + capitalized_income_strategy character varying(100), + capitalized_income_type character varying(10), + capitalized_income_derived numeric(19,6) DEFAULT 0 NOT NULL, + capitalized_income_adjustment_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_principal_derived numeric(19,6) DEFAULT 0 NOT NULL, + enable_buy_down_fee boolean DEFAULT false NOT NULL, + buy_down_fee_calculation_type character varying(100), + buy_down_fee_strategy character varying(100), + buy_down_fee_income_type character varying(100), + allow_full_term_for_tranche boolean DEFAULT false NOT NULL, + repayment_start_date_type_enum smallint +); + + + +-- Name: m_loan_account_locks; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_account_locks ( + loan_id bigint NOT NULL, + lock_owner character varying(100) NOT NULL, + error character varying(255), + version bigint NOT NULL, + stacktrace text, + lock_placed_on timestamp with time zone NOT NULL, + lock_placed_on_cob_business_date date +); + + + +-- Name: m_loan_amortization_allocation_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_amortization_allocation_mapping ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + base_loan_transaction_id bigint CONSTRAINT m_loan_amortization_allocatio_base_loan_transaction_id_not_null NOT NULL, + date date NOT NULL, + amortization_loan_transaction_id bigint CONSTRAINT m_loan_amortization_allocat_amortization_loan_transact_not_null NOT NULL, + amortization_type character varying(20) CONSTRAINT m_loan_amortization_allocation_mappi_amortization_type_not_null NOT NULL, + amount numeric(19,6) NOT NULL, + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone +); + + + +-- Name: m_loan_amortization_allocation_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_amortization_allocation_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_amortization_allocation_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_approved_amount_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_approved_amount_history ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + new_approved_amount numeric(19,6) NOT NULL, + old_approved_amount numeric(19,6) NOT NULL, + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone +); + + + +-- Name: m_loan_approved_amount_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_approved_amount_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_approved_amount_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_arrears_aging; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_arrears_aging ( + loan_id bigint NOT NULL, + principal_overdue_derived numeric(19,6) DEFAULT 0 NOT NULL, + interest_overdue_derived numeric(19,6) DEFAULT 0 NOT NULL, + fee_charges_overdue_derived numeric(19,6) DEFAULT 0 NOT NULL, + penalty_charges_overdue_derived numeric(19,6) DEFAULT 0 NOT NULL, + total_overdue_derived numeric(19,6) DEFAULT 0 NOT NULL, + overdue_since_date_derived date +); + + + +-- Name: m_loan_arrears_aging_loan_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_arrears_aging ALTER COLUMN loan_id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_arrears_aging_loan_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_buy_down_fee_balance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_buy_down_fee_balance ( + id bigint NOT NULL, + version bigint NOT NULL, + loan_id bigint NOT NULL, + loan_transaction_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + date date NOT NULL, + unrecognized_amount numeric(19,6) NOT NULL, + charged_off_amount numeric(19,6), + amount_adjustment numeric(19,6), + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone, + is_deleted boolean DEFAULT false NOT NULL, + is_closed boolean DEFAULT false NOT NULL +); + + + +-- Name: m_loan_buy_down_fee_balance_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_buy_down_fee_balance ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_buy_down_fee_balance_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_capitalized_income_balance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_capitalized_income_balance ( + id bigint NOT NULL, + version bigint NOT NULL, + loan_id bigint NOT NULL, + loan_transaction_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + date date NOT NULL, + unrecognized_amount numeric(19,6) NOT NULL, + charged_off_amount numeric(19,6), + amount_adjustment numeric(19,6), + created_by bigint, + created_on_utc timestamp with time zone, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone, + is_deleted boolean DEFAULT false NOT NULL, + is_closed boolean DEFAULT false NOT NULL +); + + + +-- Name: m_loan_capitalized_income_balance_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_capitalized_income_balance ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_capitalized_income_balance_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_charge ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + charge_id bigint NOT NULL, + is_penalty boolean DEFAULT false NOT NULL, + charge_time_enum smallint NOT NULL, + due_for_collection_as_of_date date, + charge_calculation_enum smallint NOT NULL, + charge_payment_mode_enum smallint DEFAULT 0 NOT NULL, + calculation_percentage numeric(19,6) DEFAULT NULL::numeric, + calculation_on_amount numeric(19,6) DEFAULT NULL::numeric, + charge_amount_or_percentage numeric(19,6) DEFAULT NULL::numeric, + amount numeric(19,6) NOT NULL, + amount_paid_derived numeric(19,6) DEFAULT NULL::numeric, + amount_waived_derived numeric(19,6) DEFAULT NULL::numeric, + amount_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + amount_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + is_paid_derived boolean DEFAULT false NOT NULL, + waived boolean DEFAULT false NOT NULL, + min_cap numeric(19,6) DEFAULT NULL::numeric, + max_cap numeric(19,6) DEFAULT NULL::numeric, + is_active boolean DEFAULT true NOT NULL, + external_id character varying(100), + submitted_on_date date +); + + + +-- Name: m_loan_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_charge_paid_by; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_charge_paid_by ( + id bigint NOT NULL, + loan_transaction_id bigint NOT NULL, + loan_charge_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + installment_number smallint +); + + + +-- Name: m_loan_charge_paid_by_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_charge_paid_by ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_charge_paid_by_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_collateral; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_collateral ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + type_cv_id integer NOT NULL, + value numeric(19,6) DEFAULT NULL::numeric, + description character varying(500) +); + + + +-- Name: m_loan_collateral_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_collateral ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_collateral_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_collateral_management; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_collateral_management ( + id bigint NOT NULL, + quantity numeric(20,5) NOT NULL, + loan_id bigint, + client_collateral_id bigint, + is_released boolean DEFAULT false, + transaction_id bigint +); + + + +-- Name: m_loan_collateral_management_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_collateral_management ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_collateral_management_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_delinquency_tag_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_delinquency_tag_history ( + id bigint NOT NULL, + delinquency_range_id bigint NOT NULL, + loan_id bigint NOT NULL, + addedon_date date NOT NULL, + liftedon_date date, + created_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + version bigint NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_loan_delinquency_tag_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_delinquency_tag_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_delinquency_tag_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_disbursement_detail; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_disbursement_detail ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + expected_disburse_date date NOT NULL, + disbursedon_date date, + principal numeric(19,6) NOT NULL, + net_disbursal_amount numeric(19,6) DEFAULT NULL::numeric, + is_reversed boolean DEFAULT false NOT NULL +); + + + +-- Name: m_loan_disbursement_detail_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_disbursement_detail ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_disbursement_detail_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_installment_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_installment_charge ( + id bigint NOT NULL, + loan_charge_id bigint NOT NULL, + loan_schedule_id bigint NOT NULL, + due_date date, + amount numeric(19,6) NOT NULL, + amount_paid_derived numeric(19,6) DEFAULT NULL::numeric, + amount_waived_derived numeric(19,6) DEFAULT NULL::numeric, + amount_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + amount_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + is_paid_derived boolean DEFAULT false NOT NULL, + waived boolean DEFAULT false NOT NULL, + amount_through_charge_payment numeric(19,6) DEFAULT NULL::numeric +); + + + +-- Name: m_loan_installment_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_installment_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_installment_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_interest_recalculation_additional_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_interest_recalculation_additional_details ( + id bigint NOT NULL, + loan_repayment_schedule_id bigint CONSTRAINT m_loan_interest_recalculati_loan_repayment_schedule_id_not_null NOT NULL, + effective_date date CONSTRAINT m_loan_interest_recalculation_additiona_effective_date_not_null NOT NULL, + amount numeric(19,6) CONSTRAINT m_loan_interest_recalculation_additional_detail_amount_not_null NOT NULL +); + + + +-- Name: m_loan_interest_recalculation_additional_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_interest_recalculation_additional_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_interest_recalculation_additional_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_officer_assignment_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_officer_assignment_history ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + loan_officer_id bigint, + start_date date NOT NULL, + end_date date, + createdby_id bigint, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + lastmodifiedby_id bigint +); + + + +-- Name: m_loan_officer_assignment_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_officer_assignment_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_officer_assignment_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_overdue_installment_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_overdue_installment_charge ( + id bigint NOT NULL, + loan_charge_id bigint NOT NULL, + loan_schedule_id bigint NOT NULL, + frequency_number integer NOT NULL +); + + + +-- Name: m_loan_overdue_installment_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_overdue_installment_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_overdue_installment_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_rate; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_rate ( + loan_id bigint NOT NULL, + rate_id bigint NOT NULL +); + + + +-- Name: m_loan_reage_parameter; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_reage_parameter ( + id bigint NOT NULL, + frequency_type character varying(100) CONSTRAINT m_loan_reage_parameter_frequency_not_null NOT NULL, + number_of_installments smallint NOT NULL, + start_date date NOT NULL, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + loan_transaction_id bigint NOT NULL, + frequency_number smallint DEFAULT 1 NOT NULL +); + + + +-- Name: m_loan_reage_parameter_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_reage_parameter ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_reage_parameter_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_recalculation_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_recalculation_details ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + compound_type_enum smallint NOT NULL, + reschedule_strategy_enum smallint NOT NULL, + rest_frequency_type_enum smallint NOT NULL, + rest_frequency_interval smallint DEFAULT 0 NOT NULL, + compounding_frequency_type_enum smallint, + compounding_frequency_interval smallint, + rest_frequency_nth_day_enum integer, + rest_frequency_on_day integer, + rest_frequency_weekday_enum integer, + compounding_frequency_nth_day_enum integer, + compounding_frequency_on_day integer, + is_compounding_to_be_posted_as_transaction boolean DEFAULT false CONSTRAINT m_loan_recalculation_detail_is_compounding_to_be_poste_not_null NOT NULL, + compounding_frequency_weekday_enum integer, + allow_compounding_on_eod boolean DEFAULT false NOT NULL, + disallow_interest_calc_on_past_due boolean DEFAULT false CONSTRAINT m_loan_recalculation_detail_disallow_interest_calc_on__not_null NOT NULL +); + + + +-- Name: m_loan_recalculation_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_recalculation_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_recalculation_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_repayment_schedule; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_repayment_schedule ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + fromdate date, + duedate date NOT NULL, + installment smallint NOT NULL, + principal_amount numeric(19,6) DEFAULT NULL::numeric, + principal_completed_derived numeric(19,6) DEFAULT NULL::numeric, + principal_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + interest_amount numeric(19,6) DEFAULT NULL::numeric, + interest_completed_derived numeric(19,6) DEFAULT NULL::numeric, + interest_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + interest_waived_derived numeric(19,6) DEFAULT NULL::numeric, + accrual_interest_derived numeric(19,6) DEFAULT NULL::numeric, + reschedule_interest_portion numeric(19,6) DEFAULT NULL::numeric, + fee_charges_amount numeric(19,6) DEFAULT NULL::numeric, + fee_charges_completed_derived numeric(19,6) DEFAULT NULL::numeric, + fee_charges_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + fee_charges_waived_derived numeric(19,6) DEFAULT NULL::numeric, + accrual_fee_charges_derived numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_amount numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_completed_derived numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_waived_derived numeric(19,6) DEFAULT NULL::numeric, + accrual_penalty_charges_derived numeric(19,6) DEFAULT NULL::numeric, + total_paid_in_advance_derived numeric(19,6) DEFAULT NULL::numeric, + total_paid_late_derived numeric(19,6) DEFAULT NULL::numeric, + completed_derived boolean NOT NULL, + obligations_met_on_date date, + created_by bigint NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + last_modified_by bigint NOT NULL, + recalculated_interest_component boolean DEFAULT false CONSTRAINT m_loan_repayment_schedule_recalculated_interest_compon_not_null NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + is_additional boolean DEFAULT false NOT NULL, + credits_amount numeric(19,6) DEFAULT NULL::numeric, + is_down_payment boolean DEFAULT false NOT NULL, + credited_interest numeric(19,6) +); + + + +-- Name: m_loan_repayment_schedule_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_repayment_schedule_history ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + loan_reschedule_request_id bigint, + fromdate date, + duedate date NOT NULL, + installment smallint NOT NULL, + principal_amount numeric(19,6) DEFAULT NULL::numeric, + interest_amount numeric(19,6) DEFAULT NULL::numeric, + fee_charges_amount numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_amount numeric(19,6) DEFAULT NULL::numeric, + createdby_id bigint, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + lastmodifiedby_id bigint, + version integer NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_loan_repayment_schedule_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_repayment_schedule_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_repayment_schedule_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_repayment_schedule_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_repayment_schedule ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_repayment_schedule_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_reschedule_request; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_reschedule_request ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + status_enum smallint NOT NULL, + reschedule_from_installment smallint NOT NULL, + reschedule_from_date date NOT NULL, + recalculate_interest boolean, + reschedule_reason_cv_id integer, + reschedule_reason_comment character varying(500), + submitted_on_date date NOT NULL, + submitted_by_user_id bigint NOT NULL, + approved_on_date date, + approved_by_user_id bigint, + rejected_on_date date, + rejected_by_user_id bigint +); + + + +-- Name: COLUMN m_loan_reschedule_request.reschedule_from_installment; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_loan_reschedule_request.reschedule_from_installment IS 'Rescheduling will start from this installment'; + + +-- Name: COLUMN m_loan_reschedule_request.reschedule_from_date; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_loan_reschedule_request.reschedule_from_date IS 'Rescheduling will start from the installment with due date similar to this date.'; + + +-- Name: COLUMN m_loan_reschedule_request.recalculate_interest; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_loan_reschedule_request.recalculate_interest IS 'If set to 1, interest will be recalculated starting from the reschedule period.'; + + +-- Name: COLUMN m_loan_reschedule_request.reschedule_reason_cv_id; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_loan_reschedule_request.reschedule_reason_cv_id IS 'ID of code value of reason for rescheduling'; + + +-- Name: COLUMN m_loan_reschedule_request.reschedule_reason_comment; Type: COMMENT; Schema: public; Owner: - + +COMMENT ON COLUMN public.m_loan_reschedule_request.reschedule_reason_comment IS 'Text provided in addition to the reason code value'; + + +-- Name: m_loan_reschedule_request_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_reschedule_request ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_reschedule_request_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_reschedule_request_term_variations_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_reschedule_request_term_variations_mapping ( + id bigint NOT NULL, + loan_reschedule_request_id bigint CONSTRAINT m_loan_reschedule_request_t_loan_reschedule_request_id_not_null NOT NULL, + loan_term_variations_id bigint CONSTRAINT m_loan_reschedule_request_term_loan_term_variations_id_not_null NOT NULL +); + + + +-- Name: m_loan_reschedule_request_term_variations_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_reschedule_request_term_variations_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_reschedule_request_term_variations_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_term_variations; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_term_variations ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + term_type smallint NOT NULL, + applicable_date date NOT NULL, + decimal_value numeric(19,6) DEFAULT NULL::numeric, + date_value date, + is_specific_to_installment boolean DEFAULT false NOT NULL, + applied_on_loan_status smallint NOT NULL, + is_active boolean DEFAULT true NOT NULL, + parent_id bigint, + created_on_utc timestamp with time zone, + created_by bigint, + last_modified_by bigint, + last_modified_on_utc timestamp with time zone +); + + + +-- Name: m_loan_term_variations_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_term_variations ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_term_variations_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_topup; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_topup ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + closure_loan_id bigint NOT NULL, + account_transfer_details_id bigint, + topup_amount numeric(19,6) DEFAULT NULL::numeric +); + + + +-- Name: m_loan_topup_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_topup ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_topup_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_tranche_charges; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_tranche_charges ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + charge_id bigint NOT NULL +); + + + +-- Name: m_loan_tranche_charges_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_tranche_charges ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_tranche_charges_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_tranche_disbursement_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_tranche_disbursement_charge ( + id bigint NOT NULL, + loan_charge_id bigint NOT NULL, + disbursement_detail_id bigint +); + + + +-- Name: m_loan_tranche_disbursement_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_tranche_disbursement_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_tranche_disbursement_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_transaction ( + id bigint NOT NULL, + loan_id bigint NOT NULL, + office_id bigint NOT NULL, + payment_detail_id bigint, + is_reversed boolean NOT NULL, + external_id character varying(100), + transaction_type_enum smallint NOT NULL, + transaction_date date NOT NULL, + amount numeric(19,6) NOT NULL, + principal_portion_derived numeric(19,6) DEFAULT NULL::numeric, + interest_portion_derived numeric(19,6) DEFAULT NULL::numeric, + fee_charges_portion_derived numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_portion_derived numeric(19,6) DEFAULT NULL::numeric, + overpayment_portion_derived numeric(19,6) DEFAULT NULL::numeric, + unrecognized_income_portion numeric(19,6) DEFAULT NULL::numeric, + outstanding_loan_balance_derived numeric(19,6) DEFAULT NULL::numeric, + submitted_on_date date NOT NULL, + manually_adjusted_or_reversed boolean DEFAULT false, + created_date timestamp without time zone, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + charge_refund_charge_type character varying(1), + reversal_external_id character varying(100) DEFAULT NULL::character varying, + reversed_on_date date, + version bigint DEFAULT 1 NOT NULL +); + + + +-- Name: m_loan_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_transaction_relation; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_transaction_relation ( + id bigint NOT NULL, + from_loan_transaction_id bigint NOT NULL, + to_loan_transaction_id bigint, + relation_type_enum integer NOT NULL, + created_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_by bigint NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL, + to_loan_charge_id bigint +); + + + +-- Name: m_loan_transaction_relation_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_transaction_relation ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_transaction_relation_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loan_transaction_repayment_schedule_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loan_transaction_repayment_schedule_mapping ( + id bigint NOT NULL, + loan_transaction_id bigint CONSTRAINT m_loan_transaction_repayment_sched_loan_transaction_id_not_null NOT NULL, + loan_repayment_schedule_id bigint CONSTRAINT m_loan_transaction_repaymen_loan_repayment_schedule_id_not_null NOT NULL, + amount numeric(19,6) NOT NULL, + principal_portion_derived numeric(19,6) DEFAULT NULL::numeric, + interest_portion_derived numeric(19,6) DEFAULT NULL::numeric, + fee_charges_portion_derived numeric(19,6) DEFAULT NULL::numeric, + penalty_charges_portion_derived numeric(19,6) DEFAULT NULL::numeric +); + + + +-- Name: m_loan_transaction_repayment_schedule_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loan_transaction_repayment_schedule_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loan_transaction_repayment_schedule_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loanproduct_provisioning_entry; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loanproduct_provisioning_entry ( + id bigint NOT NULL, + history_id bigint NOT NULL, + criteria_id bigint NOT NULL, + currency_code character varying(3) NOT NULL, + office_id bigint NOT NULL, + product_id bigint NOT NULL, + category_id bigint NOT NULL, + overdue_in_days bigint DEFAULT 0, + reseve_amount numeric(20,6) DEFAULT 0, + liability_account bigint, + expense_account bigint +); + + + +-- Name: m_loanproduct_provisioning_entry_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loanproduct_provisioning_entry ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loanproduct_provisioning_entry_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_loanproduct_provisioning_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_loanproduct_provisioning_mapping ( + id bigint NOT NULL, + product_id bigint NOT NULL, + criteria_id bigint NOT NULL +); + + + +-- Name: m_loanproduct_provisioning_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_loanproduct_provisioning_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_loanproduct_provisioning_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_mandatory_savings_schedule; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_mandatory_savings_schedule ( + id bigint NOT NULL, + savings_account_id bigint NOT NULL, + fromdate date, + duedate date NOT NULL, + installment smallint NOT NULL, + deposit_amount numeric(19,6) DEFAULT NULL::numeric, + deposit_amount_completed_derived numeric(19,6) DEFAULT NULL::numeric, + total_paid_in_advance_derived numeric(19,6) DEFAULT NULL::numeric, + total_paid_late_derived numeric(19,6) DEFAULT NULL::numeric, + completed_derived boolean NOT NULL, + obligations_met_on_date date, + created_by bigint NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_mandatory_savings_schedule_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_mandatory_savings_schedule ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_mandatory_savings_schedule_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_meeting; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_meeting ( + id bigint NOT NULL, + calendar_instance_id bigint NOT NULL, + meeting_date date NOT NULL +); + + + +-- Name: m_meeting_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_meeting ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_meeting_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_note; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_note ( + id bigint NOT NULL, + client_id bigint, + group_id bigint, + loan_id bigint, + loan_transaction_id bigint, + savings_account_id bigint, + savings_account_transaction_id bigint, + share_account_id bigint, + note_type_enum smallint NOT NULL, + note character varying(1000), + created_date timestamp without time zone, + created_by bigint NOT NULL, + lastmodified_date timestamp without time zone, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_note_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_note ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_note_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_office; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_office ( + id bigint NOT NULL, + parent_id bigint, + hierarchy character varying(100), + external_id character varying(100), + name character varying(50) NOT NULL, + opening_date date NOT NULL +); + + + +-- Name: m_office_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_office ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_office_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_office_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_office_transaction ( + id bigint NOT NULL, + from_office_id bigint, + to_office_id bigint, + currency_code character varying(3) NOT NULL, + currency_digits integer NOT NULL, + transaction_amount numeric(19,6) NOT NULL, + transaction_date date NOT NULL, + description character varying(100) +); + + + +-- Name: m_office_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_office_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_office_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_organisation_creditbureau; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_organisation_creditbureau ( + id bigint NOT NULL, + alias character varying(50) NOT NULL, + creditbureau_id bigint NOT NULL, + is_active boolean CONSTRAINT "m_organisation_creditbureau_isActive_not_null" NOT NULL +); + + + +-- Name: m_organisation_creditbureau_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_organisation_creditbureau ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_organisation_creditbureau_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_organisation_currency; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_organisation_currency ( + id bigint NOT NULL, + code character varying(3) NOT NULL, + decimal_places smallint NOT NULL, + currency_multiplesof smallint, + name character varying(50) NOT NULL, + display_symbol character varying(10), + internationalized_name_code character varying(50) NOT NULL +); + + + +-- Name: m_organisation_currency_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_organisation_currency ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_organisation_currency_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_password_validation_policy; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_password_validation_policy ( + id integer NOT NULL, + regex text NOT NULL, + description text NOT NULL, + active boolean DEFAULT false NOT NULL, + key character varying(255) NOT NULL +); + + + +-- Name: m_password_validation_policy_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_password_validation_policy ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_password_validation_policy_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_payment_detail; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_payment_detail ( + id bigint NOT NULL, + payment_type_id integer, + account_number character varying(100), + check_number character varying(100), + receipt_number character varying(100), + bank_number character varying(100), + routing_code character varying(100) +); + + + +-- Name: m_payment_detail_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_payment_detail ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_payment_detail_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_payment_type; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_payment_type ( + id integer NOT NULL, + value character varying(100), + description character varying(500), + is_cash_payment boolean DEFAULT false, + order_position integer DEFAULT 0 NOT NULL, + code_name character varying(100), + is_system_defined boolean DEFAULT false NOT NULL +); + + + +-- Name: m_payment_type_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_payment_type ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_payment_type_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_permission; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_permission ( + id bigint NOT NULL, + "grouping" character varying(45), + code character varying(100) NOT NULL, + entity_name character varying(100), + action_name character varying(100), + can_maker_checker boolean DEFAULT true NOT NULL +); + + + +-- Name: m_permission_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_permission ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_permission_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_portfolio_account_associations; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_portfolio_account_associations ( + id bigint NOT NULL, + loan_account_id bigint, + savings_account_id bigint, + linked_loan_account_id bigint, + linked_savings_account_id bigint, + association_type_enum smallint DEFAULT 1 NOT NULL, + is_active boolean DEFAULT true NOT NULL +); + + + +-- Name: m_portfolio_account_associations_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_portfolio_account_associations ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_portfolio_account_associations_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_portfolio_command_source; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_portfolio_command_source ( + id bigint NOT NULL, + action_name character varying(50) NOT NULL, + entity_name character varying(50) NOT NULL, + office_id bigint, + group_id bigint, + client_id bigint, + loan_id bigint, + savings_account_id bigint, + api_get_url character varying(100) NOT NULL, + resource_id bigint, + subresource_id bigint, + command_as_json text NOT NULL, + maker_id bigint NOT NULL, + made_on_date timestamp without time zone, + checker_id bigint, + checked_on_date timestamp without time zone, + status smallint CONSTRAINT m_portfolio_command_source_processing_result_enum_not_null NOT NULL, + product_id bigint, + transaction_id character varying(100), + creditbureau_id bigint, + organisation_creditbureau_id bigint, + made_on_date_utc timestamp with time zone NOT NULL, + checked_on_date_utc timestamp with time zone, + job_name character varying(100), + idempotency_key character varying(50) DEFAULT NULL::character varying NOT NULL, + resource_external_id character varying(100), + subresource_external_id character varying(100), + result text, + result_status_code integer, + loan_external_id character varying(100), + is_sanitized boolean DEFAULT false NOT NULL, + client_ip character varying(100) +); + + + +-- Name: m_portfolio_command_source_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_portfolio_command_source ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_portfolio_command_source_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan ( + id bigint NOT NULL, + short_name character varying(4) NOT NULL, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + principal_amount numeric(19,6) DEFAULT NULL::numeric, + min_principal_amount numeric(19,6) DEFAULT NULL::numeric, + max_principal_amount numeric(19,6) DEFAULT NULL::numeric, + arrearstolerance_amount numeric(19,6) DEFAULT NULL::numeric, + name character varying(100) NOT NULL, + description character varying(500), + fund_id bigint, + is_linked_to_floating_interest_rates boolean DEFAULT false NOT NULL, + allow_variabe_installments boolean DEFAULT false NOT NULL, + nominal_interest_rate_per_period numeric(19,6) DEFAULT NULL::numeric, + min_nominal_interest_rate_per_period numeric(19,6) DEFAULT NULL::numeric, + max_nominal_interest_rate_per_period numeric(19,6) DEFAULT NULL::numeric, + interest_period_frequency_enum smallint, + annual_nominal_interest_rate numeric(19,6) DEFAULT NULL::numeric, + interest_method_enum smallint NOT NULL, + interest_calculated_in_period_enum smallint DEFAULT 1 NOT NULL, + allow_partial_period_interest_calcualtion boolean DEFAULT false CONSTRAINT m_product_loan_allow_partial_period_interest_calcualti_not_null NOT NULL, + repay_every smallint NOT NULL, + repayment_period_frequency_enum smallint NOT NULL, + number_of_repayments smallint NOT NULL, + min_number_of_repayments smallint, + max_number_of_repayments smallint, + grace_on_principal_periods smallint, + recurring_moratorium_principal_periods smallint, + grace_on_interest_periods smallint, + grace_interest_free_periods smallint, + amortization_method_enum smallint NOT NULL, + accounting_type smallint NOT NULL, + loan_transaction_strategy_id bigint, + external_id character varying(100), + include_in_borrower_cycle boolean DEFAULT false NOT NULL, + use_borrower_cycle boolean DEFAULT false NOT NULL, + start_date date, + close_date date, + allow_multiple_disbursals boolean DEFAULT false NOT NULL, + max_disbursals integer, + max_outstanding_loan_balance numeric(19,6) DEFAULT NULL::numeric, + grace_on_arrears_ageing smallint, + overdue_days_for_npa smallint, + days_in_month_enum smallint DEFAULT 1 NOT NULL, + days_in_year_enum smallint DEFAULT 1 NOT NULL, + interest_recalculation_enabled boolean DEFAULT false NOT NULL, + min_days_between_disbursal_and_first_repayment integer, + hold_guarantee_funds boolean DEFAULT false NOT NULL, + principal_threshold_for_last_installment numeric(5,2) DEFAULT 50 CONSTRAINT m_product_loan_principal_threshold_for_last_installmen_not_null NOT NULL, + account_moves_out_of_npa_only_on_arrears_completion boolean DEFAULT false CONSTRAINT m_product_loan_account_moves_out_of_npa_only_on_arrear_not_null NOT NULL, + can_define_fixed_emi_amount boolean DEFAULT false NOT NULL, + instalment_amount_in_multiples_of numeric(19,6) DEFAULT NULL::numeric, + can_use_for_topup boolean DEFAULT false NOT NULL, + sync_expected_with_disbursement_date boolean DEFAULT false, + is_equal_amortization boolean DEFAULT false NOT NULL, + fixed_principal_percentage_per_installment numeric(5,2) DEFAULT NULL::numeric, + disallow_expected_disbursements boolean DEFAULT false NOT NULL, + allow_approved_disbursed_amounts_over_applied boolean DEFAULT false CONSTRAINT m_product_loan_allow_approved_disbursed_amounts_over_a_not_null NOT NULL, + over_applied_calculation_type character varying(10), + over_applied_number integer, + delinquency_bucket_id bigint, + loan_transaction_strategy_code character varying(100) DEFAULT '-'::character varying NOT NULL, + loan_transaction_strategy_name character varying(100) DEFAULT '-'::character varying NOT NULL, + due_days_for_repayment_event integer, + overdue_days_for_repayment_event integer, + enable_down_payment boolean DEFAULT false NOT NULL, + disbursed_amount_percentage_for_down_payment numeric(9,6) DEFAULT NULL::numeric, + enable_installment_level_delinquency boolean DEFAULT false NOT NULL, + enable_accrual_activity_posting boolean DEFAULT false NOT NULL, + days_in_year_custom_strategy character varying(100), + enable_income_capitalization boolean DEFAULT false NOT NULL, + capitalized_income_calculation_type character varying(100), + capitalized_income_strategy character varying(100), + capitalized_income_type character varying(10), + enable_buy_down_fee boolean DEFAULT false NOT NULL, + buy_down_fee_calculation_type character varying(100), + buy_down_fee_strategy character varying(100), + buy_down_fee_income_type character varying(100), + allow_full_term_for_tranche boolean DEFAULT false NOT NULL +); + + + +-- Name: m_product_loan_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_charge ( + product_loan_id bigint NOT NULL, + charge_id bigint NOT NULL +); + + + +-- Name: m_product_loan_configurable_attributes; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_configurable_attributes ( + id bigint NOT NULL, + loan_product_id bigint NOT NULL, + amortization_method_enum boolean DEFAULT true CONSTRAINT m_product_loan_configurable_a_amortization_method_enum_not_null NOT NULL, + interest_method_enum boolean DEFAULT true CONSTRAINT m_product_loan_configurable_attri_interest_method_enum_not_null NOT NULL, + loan_transaction_strategy_code boolean DEFAULT true CONSTRAINT m_product_loan_configurable_loan_transaction_strategy__not_null NOT NULL, + interest_calculated_in_period_enum boolean DEFAULT true CONSTRAINT m_product_loan_configurable_interest_calculated_in_per_not_null NOT NULL, + arrearstolerance_amount boolean DEFAULT true CONSTRAINT m_product_loan_configurable_at_arrearstolerance_amount_not_null NOT NULL, + repay_every boolean DEFAULT true NOT NULL, + moratorium boolean DEFAULT true NOT NULL, + grace_on_arrears_ageing boolean DEFAULT true CONSTRAINT m_product_loan_configurable_at_grace_on_arrears_ageing_not_null NOT NULL +); + + + +-- Name: m_product_loan_configurable_attributes_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_configurable_attributes ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_configurable_attributes_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_floating_rates; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_floating_rates ( + id bigint NOT NULL, + loan_product_id bigint NOT NULL, + floating_rates_id bigint NOT NULL, + interest_rate_differential numeric(19,6) DEFAULT 0 CONSTRAINT m_product_loan_floating_rat_interest_rate_differential_not_null NOT NULL, + min_differential_lending_rate numeric(19,6) DEFAULT 0 CONSTRAINT m_product_loan_floating_rat_min_differential_lending_r_not_null NOT NULL, + default_differential_lending_rate numeric(19,6) DEFAULT 0 CONSTRAINT m_product_loan_floating_rat_default_differential_lendi_not_null NOT NULL, + max_differential_lending_rate numeric(19,6) DEFAULT 0 CONSTRAINT m_product_loan_floating_rat_max_differential_lending_r_not_null NOT NULL, + is_floating_interest_rate_calculation_allowed boolean DEFAULT false CONSTRAINT m_product_loan_floating_rat_is_floating_interest_rate__not_null NOT NULL +); + + + +-- Name: m_product_loan_floating_rates_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_floating_rates ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_floating_rates_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_guarantee_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_guarantee_details ( + id bigint NOT NULL, + loan_product_id bigint NOT NULL, + mandatory_guarantee numeric(19,5) NOT NULL, + minimum_guarantee_from_own_funds numeric(19,5) DEFAULT NULL::numeric, + minimum_guarantee_from_guarantor_funds numeric(19,5) DEFAULT NULL::numeric +); + + + +-- Name: m_product_loan_guarantee_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_guarantee_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_guarantee_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_rate; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_rate ( + product_loan_id bigint NOT NULL, + rate_id bigint NOT NULL +); + + + +-- Name: m_product_loan_recalculation_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_recalculation_details ( + id bigint NOT NULL, + product_id bigint NOT NULL, + compound_type_enum smallint CONSTRAINT m_product_loan_recalculation_detail_compound_type_enum_not_null NOT NULL, + reschedule_strategy_enum smallint CONSTRAINT m_product_loan_recalculation__reschedule_strategy_enum_not_null NOT NULL, + rest_frequency_type_enum smallint CONSTRAINT m_product_loan_recalculation__rest_frequency_type_enum_not_null NOT NULL, + rest_frequency_interval smallint DEFAULT 0 CONSTRAINT m_product_loan_recalculation_d_rest_frequency_interval_not_null NOT NULL, + arrears_based_on_original_schedule boolean DEFAULT false CONSTRAINT m_product_loan_recalculatio_arrears_based_on_original__not_null NOT NULL, + pre_close_interest_calculation_strategy smallint DEFAULT 1 CONSTRAINT m_product_loan_recalculatio_pre_close_interest_calcula_not_null NOT NULL, + compounding_frequency_type_enum smallint, + compounding_frequency_interval smallint, + rest_frequency_nth_day_enum integer, + rest_frequency_on_day integer, + rest_frequency_weekday_enum integer, + compounding_frequency_nth_day_enum integer, + compounding_frequency_on_day integer, + compounding_frequency_weekday_enum integer, + is_compounding_to_be_posted_as_transaction boolean DEFAULT false CONSTRAINT m_product_loan_recalculatio_is_compounding_to_be_poste_not_null NOT NULL, + allow_compounding_on_eod boolean DEFAULT false CONSTRAINT m_product_loan_recalculation__allow_compounding_on_eod_not_null NOT NULL, + disallow_interest_calc_on_past_due boolean DEFAULT false CONSTRAINT m_product_loan_recalculatio_disallow_interest_calc_on__not_null NOT NULL +); + + + +-- Name: m_product_loan_recalculation_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_recalculation_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_recalculation_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_variable_installment_config; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_variable_installment_config ( + id bigint NOT NULL, + loan_product_id bigint CONSTRAINT m_product_loan_variable_installment_co_loan_product_id_not_null NOT NULL, + minimum_gap integer NOT NULL, + maximum_gap integer NOT NULL +); + + + +-- Name: m_product_loan_variable_installment_config_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_variable_installment_config ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_variable_installment_config_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_loan_variations_borrower_cycle; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_loan_variations_borrower_cycle ( + id bigint NOT NULL, + loan_product_id bigint DEFAULT 0 CONSTRAINT m_product_loan_variations_borrower_cyc_loan_product_id_not_null NOT NULL, + borrower_cycle_number integer DEFAULT 0 CONSTRAINT m_product_loan_variations_borrow_borrower_cycle_number_not_null NOT NULL, + value_condition integer DEFAULT 0 CONSTRAINT m_product_loan_variations_borrower_cyc_value_condition_not_null NOT NULL, + param_type integer DEFAULT 0 NOT NULL, + default_value numeric(19,6) DEFAULT 0 NOT NULL, + max_value numeric(19,6) DEFAULT NULL::numeric, + min_value numeric(19,6) DEFAULT NULL::numeric +); + + + +-- Name: m_product_loan_variations_borrower_cycle_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_loan_variations_borrower_cycle ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_loan_variations_borrower_cycle_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_product_mix; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_product_mix ( + id bigint NOT NULL, + product_id bigint NOT NULL, + restricted_product_id bigint NOT NULL +); + + + +-- Name: m_product_mix_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_product_mix ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_product_mix_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_provision_category; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_provision_category ( + id bigint NOT NULL, + category_name character varying(100) NOT NULL, + description character varying(300) +); + + + +-- Name: m_provision_category_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_provision_category ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_provision_category_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_provisioning_criteria; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_provisioning_criteria ( + id bigint NOT NULL, + criteria_name character varying(200) NOT NULL, + createdby_id bigint, + created_date timestamp without time zone, + lastmodifiedby_id bigint, + lastmodified_date timestamp without time zone +); + + + +-- Name: m_provisioning_criteria_definition; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_provisioning_criteria_definition ( + id bigint NOT NULL, + criteria_id bigint NOT NULL, + category_id bigint NOT NULL, + min_age bigint NOT NULL, + max_age bigint NOT NULL, + provision_percentage numeric(5,2) CONSTRAINT m_provisioning_criteria_definitio_provision_percentage_not_null NOT NULL, + liability_account bigint, + expense_account bigint +); + + + +-- Name: m_provisioning_criteria_definition_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_provisioning_criteria_definition ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_provisioning_criteria_definition_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_provisioning_criteria_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_provisioning_criteria ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_provisioning_criteria_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_provisioning_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_provisioning_history ( + id bigint NOT NULL, + journal_entry_created boolean DEFAULT false, + createdby_id bigint, + created_date date, + lastmodifiedby_id bigint, + lastmodified_date date +); + + + +-- Name: m_provisioning_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_provisioning_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_provisioning_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_rate; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_rate ( + id bigint NOT NULL, + name character varying(250) NOT NULL, + percentage numeric(10,2) NOT NULL, + active boolean DEFAULT false, + product_apply smallint NOT NULL, + created_date timestamp without time zone, + createdby_id bigint NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone, + approve_user bigint +); + + + +-- Name: m_rate_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_rate ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_rate_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_repayment_with_post_dated_checks; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_repayment_with_post_dated_checks ( + id bigint NOT NULL, + check_no bigint NOT NULL, + amount numeric(20,5) NOT NULL, + loan_id bigint, + repayment_id bigint, + account_no bigint NOT NULL, + bank_name character varying(200) NOT NULL, + repayment_date date NOT NULL, + status smallint DEFAULT 0 +); + + + +-- Name: m_repayment_with_post_dated_checks_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_repayment_with_post_dated_checks ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_repayment_with_post_dated_checks_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_report_mailing_job; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_report_mailing_job ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + description text, + start_datetime timestamp without time zone NOT NULL, + recurrence character varying(100), + created_date date NOT NULL, + createdby_id bigint NOT NULL, + lastmodified_date date, + lastmodifiedby_id bigint, + email_recipients text NOT NULL, + email_subject character varying(100) NOT NULL, + email_message text NOT NULL, + email_attachment_file_format character varying(10) NOT NULL, + stretchy_report_id integer NOT NULL, + stretchy_report_param_map text, + previous_run_datetime timestamp without time zone, + next_run_datetime timestamp without time zone, + previous_run_status character varying(10), + previous_run_error_log text, + previous_run_error_message text, + number_of_runs integer DEFAULT 0 NOT NULL, + is_active boolean DEFAULT false NOT NULL, + is_deleted boolean DEFAULT false NOT NULL, + run_as_userid bigint NOT NULL +); + + + +-- Name: m_report_mailing_job_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_report_mailing_job_configuration ( + id integer NOT NULL, + name character varying(50) NOT NULL, + value character varying(200) NOT NULL +); + + + +-- Name: m_report_mailing_job_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_report_mailing_job_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_report_mailing_job_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_report_mailing_job_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_report_mailing_job ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_report_mailing_job_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_report_mailing_job_run_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_report_mailing_job_run_history ( + id bigint NOT NULL, + job_id bigint NOT NULL, + start_datetime timestamp without time zone NOT NULL, + end_datetime timestamp without time zone NOT NULL, + status character varying(10) NOT NULL, + error_message text, + error_log text +); + + + +-- Name: m_report_mailing_job_run_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_report_mailing_job_run_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_report_mailing_job_run_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_role; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_role ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + description character varying(500) NOT NULL, + is_disabled boolean DEFAULT false NOT NULL +); + + + +-- Name: m_role_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_role ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_role_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_role_permission; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_role_permission ( + role_id bigint NOT NULL, + permission_id bigint NOT NULL +); + + + +-- Name: m_savings_account; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account ( + id bigint NOT NULL, + account_no character varying(20) NOT NULL, + external_id character varying(100), + client_id bigint, + group_id bigint, + gsim_id bigint, + product_id bigint, + field_officer_id bigint, + status_enum smallint DEFAULT 300 NOT NULL, + sub_status_enum smallint DEFAULT 0 NOT NULL, + account_type_enum smallint DEFAULT 1 NOT NULL, + deposit_type_enum smallint DEFAULT 100 NOT NULL, + submittedon_date date NOT NULL, + submittedon_userid bigint, + approvedon_date date, + approvedon_userid bigint, + rejectedon_date date, + rejectedon_userid bigint, + withdrawnon_date date, + withdrawnon_userid bigint, + activatedon_date date, + activatedon_userid bigint, + closedon_date date, + closedon_userid bigint, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + nominal_annual_interest_rate numeric(19,6) NOT NULL, + interest_compounding_period_enum smallint NOT NULL, + interest_posting_period_enum smallint DEFAULT 4 NOT NULL, + interest_calculation_type_enum smallint NOT NULL, + interest_calculation_days_in_year_type_enum smallint CONSTRAINT m_savings_account_interest_calculation_days_in_year_ty_not_null NOT NULL, + min_required_opening_balance numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency_enum smallint, + withdrawal_fee_for_transfer boolean DEFAULT true, + allow_overdraft boolean DEFAULT false NOT NULL, + overdraft_limit numeric(19,6) DEFAULT NULL::numeric, + nominal_annual_interest_rate_overdraft numeric(19,6) DEFAULT 0, + min_overdraft_for_interest_calculation numeric(19,6) DEFAULT 0, + lockedin_until_date_derived date, + total_deposits_derived numeric(19,6) DEFAULT NULL::numeric, + total_withdrawals_derived numeric(19,6) DEFAULT NULL::numeric, + total_withdrawal_fees_derived numeric(19,6) DEFAULT NULL::numeric, + total_fees_charge_derived numeric(19,6) DEFAULT NULL::numeric, + total_penalty_charge_derived numeric(19,6) DEFAULT NULL::numeric, + total_annual_fees_derived numeric(19,6) DEFAULT NULL::numeric, + total_interest_earned_derived numeric(19,6) DEFAULT NULL::numeric, + total_interest_posted_derived numeric(19,6) DEFAULT NULL::numeric, + total_overdraft_interest_derived numeric(19,6) DEFAULT 0, + total_withhold_tax_derived numeric(19,6) DEFAULT NULL::numeric, + account_balance_derived numeric(19,6) DEFAULT 0 NOT NULL, + min_required_balance numeric(19,6) DEFAULT NULL::numeric, + enforce_min_required_balance boolean DEFAULT false NOT NULL, + min_balance_for_interest_calculation numeric(19,6) DEFAULT NULL::numeric, + start_interest_calculation_date date, + on_hold_funds_derived numeric(19,6) DEFAULT NULL::numeric, + version integer DEFAULT 1 NOT NULL, + withhold_tax boolean DEFAULT false NOT NULL, + tax_group_id bigint, + last_interest_calculation_date date, + total_savings_amount_on_hold numeric(19,6) DEFAULT NULL::numeric, + interest_posted_till_date date, + reason_for_block character varying(256), + max_allowed_lien_limit numeric(19,6) DEFAULT NULL::numeric, + is_lien_allowed boolean DEFAULT false NOT NULL, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_savings_account_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_charge ( + id bigint NOT NULL, + savings_account_id bigint NOT NULL, + charge_id bigint NOT NULL, + is_penalty boolean DEFAULT false NOT NULL, + charge_time_enum smallint NOT NULL, + charge_due_date date, + fee_on_month smallint, + fee_on_day smallint, + fee_interval smallint, + free_withdrawal_count integer DEFAULT 0, + charge_reset_date date, + charge_calculation_enum smallint NOT NULL, + calculation_percentage numeric(19,6) DEFAULT NULL::numeric, + calculation_on_amount numeric(19,6) DEFAULT NULL::numeric, + amount numeric(19,6) NOT NULL, + amount_paid_derived numeric(19,6) DEFAULT NULL::numeric, + amount_waived_derived numeric(19,6) DEFAULT NULL::numeric, + amount_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + amount_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + is_paid_derived boolean DEFAULT false NOT NULL, + waived boolean DEFAULT false NOT NULL, + is_active boolean DEFAULT true NOT NULL, + inactivated_on_date date, + created_by bigint NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_savings_account_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_charge_paid_by; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_charge_paid_by ( + id bigint NOT NULL, + savings_account_transaction_id bigint CONSTRAINT m_savings_account_charge_pa_savings_account_transactio_not_null NOT NULL, + savings_account_charge_id bigint CONSTRAINT m_savings_account_charge_pai_savings_account_charge_id_not_null NOT NULL, + amount numeric(19,6) NOT NULL +); + + + +-- Name: m_savings_account_charge_paid_by_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_charge_paid_by ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_charge_paid_by_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_interest_rate_chart; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_interest_rate_chart ( + id bigint NOT NULL, + savings_account_id bigint CONSTRAINT m_savings_account_interest_rate_cha_savings_account_id_not_null NOT NULL, + name character varying(100), + description character varying(200), + from_date date NOT NULL, + end_date date, + is_primary_grouping_by_amount boolean DEFAULT false CONSTRAINT m_savings_account_interest__is_primary_grouping_by_amo_not_null NOT NULL +); + + + +-- Name: m_savings_account_interest_rate_chart_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_interest_rate_chart ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_interest_rate_chart_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_interest_rate_slab; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_interest_rate_slab ( + id bigint NOT NULL, + savings_account_interest_rate_chart_id bigint CONSTRAINT m_savings_account_interest__savings_account_interest_r_not_null NOT NULL, + description character varying(200), + period_type_enum smallint, + from_period integer, + to_period integer, + amount_range_from numeric(19,6) DEFAULT NULL::numeric, + amount_range_to numeric(19,6) DEFAULT NULL::numeric, + annual_interest_rate numeric(19,6) CONSTRAINT m_savings_account_interest_rate_s_annual_interest_rate_not_null NOT NULL, + currency_code character varying(3) NOT NULL +); + + + +-- Name: m_savings_account_interest_rate_slab_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_interest_rate_slab ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_interest_rate_slab_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_transaction; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_transaction ( + id bigint NOT NULL, + savings_account_id bigint NOT NULL, + office_id bigint NOT NULL, + payment_detail_id bigint, + transaction_type_enum smallint NOT NULL, + is_reversed boolean NOT NULL, + transaction_date date NOT NULL, + amount numeric(19,6) NOT NULL, + overdraft_amount_derived numeric(19,6) DEFAULT NULL::numeric, + balance_end_date_derived date, + balance_number_of_days_derived integer, + running_balance_derived numeric(19,6) DEFAULT NULL::numeric, + cumulative_balance_derived numeric(19,6) DEFAULT NULL::numeric, + created_date timestamp without time zone, + created_by bigint NOT NULL, + is_manual boolean DEFAULT false, + release_id_of_hold_amount bigint, + is_loan_disbursement boolean, + ref_no character varying(128), + original_transaction_id bigint, + is_reversal boolean DEFAULT false NOT NULL, + reason_for_block character varying(256), + is_lien_transaction boolean DEFAULT false NOT NULL, + submitted_on_date date NOT NULL, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone NOT NULL +); + + + +-- Name: m_savings_account_transaction_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_transaction ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_transaction_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_account_transaction_tax_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_account_transaction_tax_details ( + id bigint NOT NULL, + savings_transaction_id bigint CONSTRAINT m_savings_account_transaction_t_savings_transaction_id_not_null NOT NULL, + tax_component_id bigint CONSTRAINT m_savings_account_transaction_tax_det_tax_component_id_not_null NOT NULL, + amount numeric(19,6) NOT NULL +); + + + +-- Name: m_savings_account_transaction_tax_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_account_transaction_tax_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_account_transaction_tax_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_interest_incentives; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_interest_incentives ( + id bigint NOT NULL, + deposit_account_interest_rate_slab_id bigint CONSTRAINT m_savings_interest_incentiv_deposit_account_interest_r_not_null NOT NULL, + entiry_type smallint NOT NULL, + attribute_name smallint NOT NULL, + condition_type smallint NOT NULL, + attribute_value character varying(50) NOT NULL, + incentive_type smallint NOT NULL, + amount numeric(19,6) NOT NULL +); + + + +-- Name: m_savings_interest_incentives_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_interest_incentives ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_interest_incentives_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_officer_assignment_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_officer_assignment_history ( + id bigint NOT NULL, + account_id bigint NOT NULL, + savings_officer_id bigint, + start_date date NOT NULL, + end_date date, + created_by bigint NOT NULL, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + last_modified_by bigint NOT NULL, + created_on_utc timestamp with time zone NOT NULL, + last_modified_on_utc timestamp with time zone CONSTRAINT m_savings_officer_assignment_hist_last_modified_on_utc_not_null NOT NULL +); + + + +-- Name: m_savings_officer_assignment_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_officer_assignment_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_officer_assignment_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_savings_product; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_product ( + id bigint NOT NULL, + name character varying(100) NOT NULL, + short_name character varying(4) NOT NULL, + description character varying(500), + deposit_type_enum smallint DEFAULT 100 NOT NULL, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + nominal_annual_interest_rate numeric(19,6) NOT NULL, + interest_compounding_period_enum smallint NOT NULL, + interest_posting_period_enum smallint DEFAULT 4 NOT NULL, + interest_calculation_type_enum smallint NOT NULL, + interest_calculation_days_in_year_type_enum smallint CONSTRAINT m_savings_product_interest_calculation_days_in_year_ty_not_null NOT NULL, + min_required_opening_balance numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency_enum smallint, + accounting_type smallint NOT NULL, + withdrawal_fee_amount numeric(19,6) DEFAULT NULL::numeric, + withdrawal_fee_type_enum smallint, + withdrawal_fee_for_transfer boolean DEFAULT true, + allow_overdraft boolean DEFAULT false NOT NULL, + overdraft_limit numeric(19,6) DEFAULT NULL::numeric, + nominal_annual_interest_rate_overdraft numeric(19,6) DEFAULT 0, + min_overdraft_for_interest_calculation numeric(19,6) DEFAULT 0, + min_required_balance numeric(19,6) DEFAULT NULL::numeric, + enforce_min_required_balance boolean DEFAULT false NOT NULL, + min_balance_for_interest_calculation numeric(19,6) DEFAULT NULL::numeric, + withhold_tax boolean DEFAULT false NOT NULL, + tax_group_id bigint, + is_dormancy_tracking_active boolean, + days_to_inactive integer, + days_to_dormancy integer, + days_to_escheat integer, + max_allowed_lien_limit numeric(19,6) DEFAULT NULL::numeric, + is_lien_allowed boolean DEFAULT false NOT NULL +); + + + +-- Name: m_savings_product_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_savings_product_charge ( + savings_product_id bigint NOT NULL, + charge_id bigint NOT NULL +); + + + +-- Name: m_savings_product_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_savings_product ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_savings_product_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_account; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_account ( + id bigint NOT NULL, + account_no character varying(50) NOT NULL, + product_id bigint NOT NULL, + client_id bigint NOT NULL, + external_id character varying(100), + status_enum smallint DEFAULT 300 NOT NULL, + total_approved_shares bigint, + total_pending_shares bigint, + submitted_date date NOT NULL, + submitted_userid bigint, + approved_date date, + approved_userid bigint, + rejected_date date, + rejected_userid bigint, + activated_date date, + activated_userid bigint, + closed_date date, + closed_userid bigint, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + savings_account_id bigint NOT NULL, + minimum_active_period_frequency numeric(19,6) DEFAULT NULL::numeric, + minimum_active_period_frequency_enum smallint, + lockin_period_frequency numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency_enum smallint, + allow_dividends_inactive_clients boolean DEFAULT false, + created_date timestamp without time zone, + lastmodifiedby_id bigint, + lastmodified_date timestamp without time zone +); + + + +-- Name: m_share_account_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_account_charge ( + id bigint NOT NULL, + account_id bigint NOT NULL, + charge_id bigint NOT NULL, + charge_time_enum smallint NOT NULL, + charge_calculation_enum smallint NOT NULL, + charge_payment_mode_enum smallint DEFAULT 0 NOT NULL, + calculation_percentage numeric(19,6) DEFAULT NULL::numeric, + calculation_on_amount numeric(19,6) DEFAULT NULL::numeric, + charge_amount_or_percentage numeric(19,6) DEFAULT NULL::numeric, + amount numeric(19,6) NOT NULL, + amount_paid_derived numeric(19,6) DEFAULT NULL::numeric, + amount_waived_derived numeric(19,6) DEFAULT NULL::numeric, + amount_writtenoff_derived numeric(19,6) DEFAULT NULL::numeric, + amount_outstanding_derived numeric(19,6) DEFAULT 0 NOT NULL, + is_paid_derived boolean DEFAULT false NOT NULL, + waived boolean DEFAULT false NOT NULL, + min_cap numeric(19,6) DEFAULT NULL::numeric, + max_cap numeric(19,6) DEFAULT NULL::numeric, + is_active boolean DEFAULT true NOT NULL +); + + + +-- Name: m_share_account_charge_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_account_charge ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_account_charge_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_account_charge_paid_by; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_account_charge_paid_by ( + id bigint NOT NULL, + share_transaction_id bigint, + charge_transaction_id bigint, + amount numeric(20,2) NOT NULL +); + + + +-- Name: m_share_account_charge_paid_by_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_account_charge_paid_by ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_account_charge_paid_by_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_account_dividend_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_account_dividend_details ( + id bigint NOT NULL, + dividend_pay_out_id bigint NOT NULL, + account_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + status smallint NOT NULL, + savings_transaction_id bigint +); + + + +-- Name: m_share_account_dividend_details_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_account_dividend_details ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_account_dividend_details_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_account_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_account ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_account_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_account_transactions; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_account_transactions ( + id bigint NOT NULL, + account_id bigint NOT NULL, + transaction_date date, + total_shares bigint, + unit_price numeric(10,2) DEFAULT NULL::numeric, + amount numeric(20,2) DEFAULT NULL::numeric, + charge_amount numeric(20,2) DEFAULT NULL::numeric, + amount_paid numeric(20,2) DEFAULT NULL::numeric, + status_enum smallint DEFAULT 300 NOT NULL, + type_enum smallint, + is_active boolean DEFAULT true NOT NULL +); + + + +-- Name: m_share_account_transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_account_transactions ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_account_transactions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_product; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_product ( + id bigint NOT NULL, + name character varying(200) NOT NULL, + short_name character varying(4) NOT NULL, + external_id character varying(100), + description character varying(500) NOT NULL, + start_date date, + end_date date, + currency_code character varying(3) NOT NULL, + currency_digits smallint NOT NULL, + currency_multiplesof smallint, + total_shares bigint NOT NULL, + issued_shares bigint, + totalsubscribed_shares bigint, + unit_price numeric(10,2) NOT NULL, + capital_amount numeric(20,2) NOT NULL, + minimum_client_shares bigint, + nominal_client_shares bigint NOT NULL, + maximum_client_shares bigint, + minimum_active_period_frequency numeric(19,6) DEFAULT NULL::numeric, + minimum_active_period_frequency_enum smallint, + lockin_period_frequency numeric(19,6) DEFAULT NULL::numeric, + lockin_period_frequency_enum smallint, + allow_dividends_inactive_clients boolean DEFAULT false, + createdby_id bigint, + created_date timestamp without time zone, + lastmodifiedby_id bigint, + lastmodified_date timestamp without time zone, + accounting_type smallint NOT NULL +); + + + +-- Name: m_share_product_charge; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_product_charge ( + product_id bigint NOT NULL, + charge_id bigint NOT NULL +); + + + +-- Name: m_share_product_dividend_pay_out; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_product_dividend_pay_out ( + id bigint NOT NULL, + product_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + dividend_period_start_date date CONSTRAINT m_share_product_dividend_pa_dividend_period_start_date_not_null NOT NULL, + dividend_period_end_date date CONSTRAINT m_share_product_dividend_pay__dividend_period_end_date_not_null NOT NULL, + status smallint NOT NULL, + createdby_id bigint, + created_date timestamp without time zone, + lastmodifiedby_id bigint, + lastmodified_date timestamp without time zone +); + + + +-- Name: m_share_product_dividend_pay_out_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_product_dividend_pay_out ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_product_dividend_pay_out_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_product_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_product ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_product_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_share_product_market_price; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_share_product_market_price ( + id bigint NOT NULL, + product_id bigint NOT NULL, + from_date date, + share_value numeric(10,2) NOT NULL +); + + + +-- Name: m_share_product_market_price_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_share_product_market_price ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_share_product_market_price_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_staff; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_staff ( + id bigint NOT NULL, + is_loan_officer boolean DEFAULT false NOT NULL, + office_id bigint, + firstname character varying(50), + lastname character varying(50), + display_name character varying(102) NOT NULL, + mobile_no character varying(50), + external_id character varying(100), + organisational_role_enum smallint, + organisational_role_parent_staff_id bigint, + is_active boolean DEFAULT true NOT NULL, + joining_date date, + image_id bigint, + email_address character varying(150) +); + + + +-- Name: m_staff_assignment_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_staff_assignment_history ( + id bigint NOT NULL, + centre_id bigint, + staff_id bigint NOT NULL, + start_date date NOT NULL, + end_date date, + createdby_id bigint, + created_date timestamp without time zone, + lastmodified_date timestamp without time zone, + lastmodifiedby_id bigint +); + + + +-- Name: m_staff_assignment_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_staff_assignment_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_staff_assignment_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_staff_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_staff ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_staff_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_survey_components; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_survey_components ( + id bigint NOT NULL, + survey_id bigint NOT NULL, + a_key character varying(32) NOT NULL, + a_text character varying(255) NOT NULL, + description character varying(4000), + sequence_no integer NOT NULL +); + + + +-- Name: m_survey_components_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_survey_components ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_survey_components_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_survey_lookup_tables; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_survey_lookup_tables ( + id bigint NOT NULL, + survey_id bigint NOT NULL, + a_key character varying(255) NOT NULL, + description integer, + value_from integer NOT NULL, + value_to integer NOT NULL, + score numeric(5,2) NOT NULL +); + + + +-- Name: m_survey_lookup_tables_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_survey_lookup_tables ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_survey_lookup_tables_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_survey_questions; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_survey_questions ( + id bigint NOT NULL, + survey_id bigint NOT NULL, + component_key character varying(32), + a_key character varying(32) NOT NULL, + a_text character varying(255) NOT NULL, + description character varying(4000), + sequence_no integer NOT NULL +); + + + +-- Name: m_survey_questions_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_survey_questions ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_survey_questions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_survey_responses; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_survey_responses ( + id bigint NOT NULL, + question_id bigint NOT NULL, + a_text character varying(255) NOT NULL, + a_value integer NOT NULL, + sequence_no integer NOT NULL +); + + + +-- Name: m_survey_responses_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_survey_responses ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_survey_responses_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_survey_scorecards; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_survey_scorecards ( + id bigint NOT NULL, + survey_id bigint NOT NULL, + question_id bigint NOT NULL, + response_id bigint NOT NULL, + user_id bigint NOT NULL, + client_id bigint NOT NULL, + created_on timestamp without time zone, + a_value integer NOT NULL +); + + + +-- Name: m_survey_scorecards_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_survey_scorecards ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_survey_scorecards_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_surveys; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_surveys ( + id bigint NOT NULL, + a_key character varying(32) NOT NULL, + a_name character varying(255) NOT NULL, + description character varying(4000), + country_code character varying(2) NOT NULL, + valid_from date, + valid_to date +); + + + +-- Name: m_surveys_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_surveys ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_surveys_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_tax_component; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_tax_component ( + id bigint NOT NULL, + name character varying(50) NOT NULL, + percentage numeric(19,6) NOT NULL, + debit_account_type_enum smallint, + debit_account_id bigint, + credit_account_type_enum smallint, + credit_account_id bigint, + start_date date NOT NULL, + createdby_id bigint NOT NULL, + created_date timestamp without time zone NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone NOT NULL +); + + + +-- Name: m_tax_component_history; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_tax_component_history ( + id bigint NOT NULL, + tax_component_id bigint NOT NULL, + percentage numeric(19,6) NOT NULL, + start_date date NOT NULL, + end_date date NOT NULL, + createdby_id bigint NOT NULL, + created_date timestamp without time zone NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone NOT NULL +); + + + +-- Name: m_tax_component_history_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_tax_component_history ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_tax_component_history_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_tax_component_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_tax_component ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_tax_component_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_tax_group; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_tax_group ( + id bigint NOT NULL, + name character varying(50) NOT NULL, + createdby_id bigint NOT NULL, + created_date timestamp without time zone NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone NOT NULL +); + + + +-- Name: m_tax_group_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_tax_group ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_tax_group_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_tax_group_mappings; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_tax_group_mappings ( + id bigint NOT NULL, + tax_group_id bigint NOT NULL, + tax_component_id bigint NOT NULL, + start_date date NOT NULL, + end_date date, + createdby_id bigint NOT NULL, + created_date timestamp without time zone NOT NULL, + lastmodifiedby_id bigint NOT NULL, + lastmodified_date timestamp without time zone NOT NULL +); + + + +-- Name: m_tax_group_mappings_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_tax_group_mappings ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_tax_group_mappings_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_tellers; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_tellers ( + id bigint NOT NULL, + office_id bigint NOT NULL, + debit_account_id bigint, + credit_account_id bigint, + name character varying(50) NOT NULL, + description character varying(100), + valid_from date, + valid_to date, + state smallint +); + + + +-- Name: m_tellers_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_tellers ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_tellers_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_template; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_template ( + id bigint NOT NULL, + name character varying(255) NOT NULL, + text text NOT NULL, + entity integer, + type integer +); + + + +-- Name: m_template_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_template ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_template_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_template_m_templatemappers; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_template_m_templatemappers ( + m_template_id bigint NOT NULL, + mappers_id bigint NOT NULL +); + + + +-- Name: m_templatemappers; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_templatemappers ( + id bigint NOT NULL, + mapperkey character varying(255), + mapperorder integer, + mappervalue character varying(255) +); + + + +-- Name: m_templatemappers_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_templatemappers ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_templatemappers_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: m_trial_balance; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_trial_balance ( + office_id bigint NOT NULL, + account_id bigint NOT NULL, + amount numeric(19,6) NOT NULL, + entry_date date NOT NULL, + created_date date, + closing_balance numeric(19,6) NOT NULL +); + + + +-- Name: m_working_days; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.m_working_days ( + id bigint NOT NULL, + recurrence character varying(100), + repayment_rescheduling_enum smallint, + extend_term_daily_repayments boolean DEFAULT false, + extend_term_holiday_repayment boolean DEFAULT false NOT NULL +); + + + +-- Name: m_working_days_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.m_working_days ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.m_working_days_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: mix_taxonomy; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.mix_taxonomy ( + id integer NOT NULL, + name character varying(100), + namespace_id integer, + dimension character varying(100), + type integer, + description character varying(1000), + need_mapping boolean +); + + + +-- Name: mix_taxonomy_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.mix_taxonomy ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.mix_taxonomy_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: mix_taxonomy_mapping; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.mix_taxonomy_mapping ( + id integer NOT NULL, + identifier character varying(50) DEFAULT ''::character varying NOT NULL, + config character varying(200), + last_update_date timestamp without time zone, + currency character varying(11) +); + + + +-- Name: mix_taxonomy_mapping_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.mix_taxonomy_mapping ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.mix_taxonomy_mapping_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: mix_xbrl_namespace; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.mix_xbrl_namespace ( + id integer NOT NULL, + prefix character varying(20) DEFAULT ''::character varying NOT NULL, + url character varying(100) +); + + + +-- Name: mix_xbrl_namespace_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.mix_xbrl_namespace ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.mix_xbrl_namespace_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: notification_generator; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.notification_generator ( + id bigint NOT NULL, + object_type text, + object_identifier bigint, + action text, + actor bigint, + is_system_generated boolean DEFAULT false, + notification_content text, + created_at timestamp without time zone +); + + + +-- Name: notification_generator_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.notification_generator ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.notification_generator_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: notification_mapper; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.notification_mapper ( + id bigint NOT NULL, + notification_id bigint, + user_id bigint, + is_read boolean DEFAULT false, + created_at timestamp without time zone +); + + + +-- Name: notification_mapper_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.notification_mapper ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.notification_mapper_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: oauth_access_token; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.oauth_access_token ( + token_id character varying(256), + token oid, + authentication_id character varying(256), + user_name character varying(256), + client_id character varying(256), + authentication oid, + refresh_token character varying(256) +); + + + +-- Name: oauth_client_details; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.oauth_client_details ( + client_id character varying(128) NOT NULL, + resource_ids character varying(256), + client_secret character varying(256), + scope character varying(256), + authorized_grant_types character varying(256), + web_server_redirect_uri character varying(256), + authorities character varying(256), + access_token_validity integer, + refresh_token_validity integer, + additional_information character varying(4096), + autoapprove boolean DEFAULT false +); + + + +-- Name: oauth_refresh_token; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.oauth_refresh_token ( + token_id character varying(256), + token oid, + authentication oid +); + + + +-- Name: ppi_likelihoods; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.ppi_likelihoods ( + id bigint NOT NULL, + code character varying(100) NOT NULL, + name character varying(250) NOT NULL +); + + + +-- Name: ppi_likelihoods_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.ppi_likelihoods ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.ppi_likelihoods_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: ppi_likelihoods_ppi; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.ppi_likelihoods_ppi ( + id bigint NOT NULL, + likelihood_id bigint NOT NULL, + ppi_name character varying(250) NOT NULL, + enabled integer DEFAULT 100 NOT NULL +); + + + +-- Name: ppi_likelihoods_ppi_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.ppi_likelihoods_ppi ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.ppi_likelihoods_ppi_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: ppi_scores; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.ppi_scores ( + id bigint NOT NULL, + score_from integer NOT NULL, + score_to integer NOT NULL +); + + + +-- Name: ppi_scores_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.ppi_scores ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.ppi_scores_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: r_enum_value; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.r_enum_value ( + enum_name character varying(100) NOT NULL, + enum_id integer NOT NULL, + enum_message_property character varying(100) NOT NULL, + enum_value character varying(100) NOT NULL, + enum_type boolean NOT NULL +); + + + +-- Name: ref_loan_transaction_processing_strategy; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.ref_loan_transaction_processing_strategy ( + id bigint NOT NULL, + code character varying(100), + name character varying(255), + sort_order integer +); + + + +-- Name: ref_loan_transaction_processing_strategy_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.ref_loan_transaction_processing_strategy ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.ref_loan_transaction_processing_strategy_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: request_audit_table; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.request_audit_table ( + id bigint NOT NULL, + lastname character varying(100) NOT NULL, + username character varying(100) NOT NULL, + mobile_number character varying(50), + firstname character varying(100) NOT NULL, + authentication_token character varying(100), + password character varying(250) NOT NULL, + email character varying(100) NOT NULL, + client_id bigint NOT NULL, + created_date date NOT NULL, + account_number character varying(100) NOT NULL +); + + + +-- Name: request_audit_table_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.request_audit_table ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.request_audit_table_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: rpt_sequence; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.rpt_sequence ( + id integer NOT NULL +); + + + +-- Name: rpt_sequence_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.rpt_sequence ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.rpt_sequence_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: scheduled_email_campaign; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.scheduled_email_campaign ( + id bigint NOT NULL, + campaign_name character varying(100) NOT NULL, + campaign_type integer NOT NULL, + business_rule_id integer CONSTRAINT "scheduled_email_campaign_businessRule_id_not_null" NOT NULL, + param_value text, + status_enum integer NOT NULL, + email_subject character varying(100) NOT NULL, + email_message text NOT NULL, + email_attachment_file_format character varying(10), + stretchy_report_id integer, + stretchy_report_param_map text, + closedon_date date, + closedon_userid bigint, + submittedon_date date, + submittedon_userid bigint, + approvedon_date date, + approvedon_userid bigint, + recurrence character varying(100), + next_trigger_date timestamp without time zone, + last_trigger_date timestamp without time zone, + recurrence_start_date timestamp without time zone, + is_visible boolean DEFAULT true, + previous_run_error_log text, + previous_run_error_message text, + previous_run_status character varying(10) +); + + + +-- Name: scheduled_email_campaign_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.scheduled_email_campaign ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.scheduled_email_campaign_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: scheduled_email_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.scheduled_email_configuration ( + id integer NOT NULL, + name character varying(50) NOT NULL, + value character varying(200) +); + + + +-- Name: scheduled_email_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.scheduled_email_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.scheduled_email_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: scheduled_email_messages_outbound; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.scheduled_email_messages_outbound ( + id bigint NOT NULL, + group_id bigint, + client_id bigint, + staff_id bigint, + email_campaign_id bigint, + status_enum integer DEFAULT 100 NOT NULL, + email_address character varying(50) NOT NULL, + email_subject character varying(50) NOT NULL, + message text NOT NULL, + campaign_name character varying(200), + submittedon_date date, + error_message text +); + + + +-- Name: scheduled_email_messages_outbound_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.scheduled_email_messages_outbound ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.scheduled_email_messages_outbound_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: scheduler_detail; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.scheduler_detail ( + id smallint NOT NULL, + is_suspended boolean DEFAULT false NOT NULL, + execute_misfired_jobs boolean DEFAULT true NOT NULL, + reset_scheduler_on_bootup boolean DEFAULT true NOT NULL +); + + + +-- Name: scheduler_detail_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.scheduler_detail ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.scheduler_detail_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: sms_campaign; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.sms_campaign ( + id bigint NOT NULL, + campaign_name character varying(100) NOT NULL, + campaign_type integer NOT NULL, + campaign_trigger_type integer NOT NULL, + report_id integer NOT NULL, + provider_id bigint, + param_value text, + status_enum integer NOT NULL, + message text NOT NULL, + submittedon_date date, + submittedon_userid bigint, + approvedon_date date, + approvedon_userid bigint, + closedon_date date, + closedon_userid bigint, + recurrence character varying(100), + next_trigger_date timestamp without time zone, + last_trigger_date timestamp without time zone, + recurrence_start_date timestamp without time zone, + is_visible boolean DEFAULT true, + is_notification boolean DEFAULT false +); + + + +-- Name: sms_campaign_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.sms_campaign ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.sms_campaign_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: sms_messages_outbound; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.sms_messages_outbound ( + id bigint NOT NULL, + group_id bigint, + client_id bigint, + staff_id bigint, + status_enum integer DEFAULT 100 NOT NULL, + mobile_no character varying(50), + message character varying(1000) NOT NULL, + campaign_id bigint, + external_id character varying(100), + submittedon_date date, + delivered_on_date timestamp without time zone, + is_notification boolean DEFAULT false NOT NULL +); + + + +-- Name: sms_messages_outbound_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.sms_messages_outbound ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.sms_messages_outbound_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: stretchy_parameter; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.stretchy_parameter ( + id integer NOT NULL, + parameter_name character varying(45) NOT NULL, + parameter_variable character varying(45), + parameter_label character varying(45) NOT NULL, + "parameter_displayType" character varying(45) NOT NULL, + "parameter_FormatType" character varying(10) NOT NULL, + parameter_default character varying(45) NOT NULL, + special character varying(1), + "selectOne" character varying(1), + "selectAll" character varying(1), + parameter_sql text, + parent_id integer +); + + + +-- Name: stretchy_parameter_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.stretchy_parameter ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.stretchy_parameter_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: stretchy_report; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.stretchy_report ( + id integer NOT NULL, + report_name character varying(100) NOT NULL, + report_type character varying(20) NOT NULL, + report_subtype character varying(20), + report_category character varying(45), + report_sql text, + description text, + core_report boolean DEFAULT false, + use_report boolean DEFAULT false, + self_service_user_report boolean DEFAULT false NOT NULL +); + + + +-- Name: stretchy_report_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.stretchy_report ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.stretchy_report_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: stretchy_report_parameter; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.stretchy_report_parameter ( + id integer NOT NULL, + report_id integer NOT NULL, + parameter_id integer NOT NULL, + report_parameter_name character varying(45) +); + + + +-- Name: stretchy_report_parameter_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.stretchy_report_parameter ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.stretchy_report_parameter_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: twofactor_access_token; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.twofactor_access_token ( + id bigint NOT NULL, + token character varying(32) NOT NULL, + appuser_id bigint NOT NULL, + valid_from timestamp without time zone NOT NULL, + valid_to timestamp without time zone NOT NULL, + enabled boolean NOT NULL +); + + + +-- Name: twofactor_access_token_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.twofactor_access_token ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.twofactor_access_token_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: twofactor_configuration; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.twofactor_configuration ( + id bigint NOT NULL, + name character varying(40) NOT NULL, + value character varying(1024) +); + + + +-- Name: twofactor_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: - + +ALTER TABLE public.twofactor_configuration ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME public.twofactor_configuration_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + +-- Name: x_registered_table; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.x_registered_table ( + registered_table_name character varying(50) NOT NULL, + application_table_name character varying(50) NOT NULL, + entity_subtype character varying(50), + category integer DEFAULT 100 NOT NULL +); + + + +-- Name: x_table_column_code_mappings; Type: TABLE; Schema: public; Owner: - + +CREATE TABLE public.x_table_column_code_mappings ( + column_alias_name character varying(50) NOT NULL, + code_id integer NOT NULL +); + + + +-- Name: acc_accounting_rule acc_accounting_rule_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_accounting_rule + ADD CONSTRAINT acc_accounting_rule_name_key UNIQUE (name); + + +-- Name: acc_accounting_rule acc_accounting_rule_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_accounting_rule + ADD CONSTRAINT acc_accounting_rule_pkey PRIMARY KEY (id); + + +-- Name: acc_gl_account acc_gl_account_gl_code_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_account + ADD CONSTRAINT acc_gl_account_gl_code_key UNIQUE (gl_code); + + +-- Name: acc_gl_account acc_gl_account_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_account + ADD CONSTRAINT acc_gl_account_pkey PRIMARY KEY (id); + + +-- Name: acc_gl_closure acc_gl_closure_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_closure + ADD CONSTRAINT acc_gl_closure_pkey PRIMARY KEY (id); + + +-- Name: acc_gl_financial_activity_account acc_gl_financial_activity_account_financial_activity_type_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_financial_activity_account + ADD CONSTRAINT acc_gl_financial_activity_account_financial_activity_type_key UNIQUE (financial_activity_type); + + +-- Name: acc_gl_financial_activity_account acc_gl_financial_activity_account_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_financial_activity_account + ADD CONSTRAINT acc_gl_financial_activity_account_pkey PRIMARY KEY (id); + + +-- Name: acc_gl_journal_entry acc_gl_journal_entry_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT acc_gl_journal_entry_pkey PRIMARY KEY (id); + + +-- Name: acc_product_mapping acc_product_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT acc_product_mapping_pkey PRIMARY KEY (id); + + +-- Name: acc_rule_tags acc_rule_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_rule_tags + ADD CONSTRAINT acc_rule_tags_pkey PRIMARY KEY (id); + + +-- Name: batch_custom_job_parameters batch_custom_job_parameters_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_custom_job_parameters + ADD CONSTRAINT batch_custom_job_parameters_pkey PRIMARY KEY (id); + + +-- Name: batch_job_execution_context batch_job_execution_context_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_execution_context + ADD CONSTRAINT batch_job_execution_context_pkey PRIMARY KEY (job_execution_id); + + +-- Name: batch_job_execution batch_job_execution_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_execution + ADD CONSTRAINT batch_job_execution_pkey PRIMARY KEY (job_execution_id); + + +-- Name: batch_job_instance batch_job_instance_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_instance + ADD CONSTRAINT batch_job_instance_pkey PRIMARY KEY (job_instance_id); + + +-- Name: batch_step_execution_context batch_step_execution_context_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_step_execution_context + ADD CONSTRAINT batch_step_execution_context_pkey PRIMARY KEY (step_execution_id); + + +-- Name: batch_step_execution batch_step_execution_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_step_execution + ADD CONSTRAINT batch_step_execution_pkey PRIMARY KEY (step_execution_id); + + +-- Name: c_account_number_format c_account_number_format_account_type_enum_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_account_number_format + ADD CONSTRAINT c_account_number_format_account_type_enum_key UNIQUE (account_type_enum); + + +-- Name: c_account_number_format c_account_number_format_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_account_number_format + ADD CONSTRAINT c_account_number_format_pkey PRIMARY KEY (id); + + +-- Name: c_cache c_cache_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_cache + ADD CONSTRAINT c_cache_pkey PRIMARY KEY (id); + + +-- Name: c_configuration c_configuration_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_configuration + ADD CONSTRAINT c_configuration_name_key UNIQUE (name); + + +-- Name: c_configuration c_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_configuration + ADD CONSTRAINT c_configuration_pkey PRIMARY KEY (id); + + +-- Name: c_external_service c_external_service_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_external_service + ADD CONSTRAINT c_external_service_name_key UNIQUE (name); + + +-- Name: c_external_service c_external_service_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_external_service + ADD CONSTRAINT c_external_service_pkey PRIMARY KEY (id); + + +-- Name: sms_campaign campaign_name_UNIQUE; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_campaign + ADD CONSTRAINT "campaign_name_UNIQUE" UNIQUE (campaign_name); + + +-- Name: m_creditbureau_loanproduct_mapping cblpunique_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_loanproduct_mapping + ADD CONSTRAINT cblpunique_key UNIQUE (organisation_creditbureau_id, loan_product_id); + + +-- Name: m_code_value code_value; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_code_value + ADD CONSTRAINT code_value UNIQUE (code_id, code_value); + + + +-- Name: m_deposit_product_interest_rate_chart deposit_product_id_interest_rate_chart_id; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_interest_rate_chart + ADD CONSTRAINT deposit_product_id_interest_rate_chart_id UNIQUE (deposit_product_id, interest_rate_chart_id); + + +-- Name: r_enum_value enum_message_property; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.r_enum_value + ADD CONSTRAINT enum_message_property UNIQUE (enum_name, enum_message_property); + + +-- Name: r_enum_value enum_value; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.r_enum_value + ADD CONSTRAINT enum_value UNIQUE (enum_name, enum_value); + + +-- Name: m_entity_relation from_entity_type_to_entity_type_code_name; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_relation + ADD CONSTRAINT from_entity_type_to_entity_type_code_name UNIQUE (from_entity_type, to_entity_type, code_name); + + +-- Name: glim_accounts glim_accounts_account_number_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.glim_accounts + ADD CONSTRAINT glim_accounts_account_number_key UNIQUE (account_number); + + +-- Name: glim_accounts glim_accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.glim_accounts + ADD CONSTRAINT glim_accounts_pkey PRIMARY KEY (id); + + +-- Name: gsim_accounts gsim_accounts_account_number_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.gsim_accounts + ADD CONSTRAINT gsim_accounts_account_number_key UNIQUE (account_number); + + +-- Name: gsim_accounts gsim_accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.gsim_accounts + ADD CONSTRAINT gsim_accounts_pkey PRIMARY KEY (id); + + +-- Name: m_holiday holiday_name; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_holiday + ADD CONSTRAINT holiday_name UNIQUE (name, from_date); + + +-- Name: m_entity_to_entity_access id_uniq_m_entity_to_entity_access; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_access + ADD CONSTRAINT id_uniq_m_entity_to_entity_access UNIQUE (entity_type, entity_id, access_type_code_value_id, second_entity_type, second_entity_id); + + +-- Name: interop_identifier interop_identifier_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.interop_identifier + ADD CONSTRAINT interop_identifier_pkey PRIMARY KEY (id); + + +-- Name: batch_job_instance job_inst_un; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_instance + ADD CONSTRAINT job_inst_un UNIQUE (job_name, job_key); + + +-- Name: job_parameters job_parameters_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.job_parameters + ADD CONSTRAINT job_parameters_pkey PRIMARY KEY (id); + + +-- Name: job job_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.job + ADD CONSTRAINT job_pkey PRIMARY KEY (id); + + +-- Name: job_run_history job_run_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.job_run_history + ADD CONSTRAINT job_run_history_pkey PRIMARY KEY (id); + + +-- Name: job job_short_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.job + ADD CONSTRAINT job_short_name_key UNIQUE (short_name); + + +-- Name: m_account_transfer_details m_account_transfer_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT m_account_transfer_details_pkey PRIMARY KEY (id); + + +-- Name: m_account_transfer_standing_instructions_history m_account_transfer_standing_instructions_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_standing_instructions_history + ADD CONSTRAINT m_account_transfer_standing_instructions_history_pkey PRIMARY KEY (id); + + +-- Name: m_account_transfer_standing_instructions m_account_transfer_standing_instructions_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_standing_instructions + ADD CONSTRAINT m_account_transfer_standing_instructions_name_key UNIQUE (name); + + +-- Name: m_account_transfer_standing_instructions m_account_transfer_standing_instructions_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_standing_instructions + ADD CONSTRAINT m_account_transfer_standing_instructions_pkey PRIMARY KEY (id); + + +-- Name: m_account_transfer_transaction m_account_transfer_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT m_account_transfer_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_address m_address_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_address + ADD CONSTRAINT m_address_pkey PRIMARY KEY (id); + + +-- Name: m_adhoc m_adhoc_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_adhoc + ADD CONSTRAINT m_adhoc_pkey PRIMARY KEY (id); + + +-- Name: m_appuser m_appuser_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser + ADD CONSTRAINT m_appuser_pkey PRIMARY KEY (id); + + +-- Name: m_appuser_previous_password m_appuser_previous_password_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser_previous_password + ADD CONSTRAINT m_appuser_previous_password_pkey PRIMARY KEY (id); + + +-- Name: m_appuser_role m_appuser_role_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser_role + ADD CONSTRAINT m_appuser_role_pkey PRIMARY KEY (appuser_id, role_id); + + +-- Name: m_batch_business_steps m_batch_business_steps_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_batch_business_steps + ADD CONSTRAINT m_batch_business_steps_pkey PRIMARY KEY (id); + + +-- Name: m_business_date m_business_date_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_business_date + ADD CONSTRAINT m_business_date_pkey PRIMARY KEY (id); + + +-- Name: m_business_date m_business_date_type_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_business_date + ADD CONSTRAINT m_business_date_type_key UNIQUE (type); + + +-- Name: m_calendar_history m_calendar_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar_history + ADD CONSTRAINT m_calendar_history_pkey PRIMARY KEY (id); + + +-- Name: m_calendar_instance m_calendar_instance_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar_instance + ADD CONSTRAINT m_calendar_instance_pkey PRIMARY KEY (id); + + +-- Name: m_calendar m_calendar_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar + ADD CONSTRAINT m_calendar_pkey PRIMARY KEY (id); + + +-- Name: m_cashier_transactions m_cashier_transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_cashier_transactions + ADD CONSTRAINT m_cashier_transactions_pkey PRIMARY KEY (id); + + +-- Name: m_cashiers m_cashiers_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_cashiers + ADD CONSTRAINT m_cashiers_pkey PRIMARY KEY (id); + + +-- Name: m_charge m_charge_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_charge + ADD CONSTRAINT m_charge_name_key UNIQUE (name); + + +-- Name: m_charge m_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_charge + ADD CONSTRAINT m_charge_pkey PRIMARY KEY (id); + + +-- Name: m_client m_client_account_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT m_client_account_no_key UNIQUE (account_no); + + +-- Name: m_client_address m_client_address_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_address + ADD CONSTRAINT m_client_address_pkey PRIMARY KEY (id); + + +-- Name: m_client_attendance m_client_attendance_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_attendance + ADD CONSTRAINT m_client_attendance_pkey PRIMARY KEY (id); + + +-- Name: m_client_charge_paid_by m_client_charge_paid_by_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge_paid_by + ADD CONSTRAINT m_client_charge_paid_by_pkey PRIMARY KEY (id); + + +-- Name: m_client_charge m_client_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge + ADD CONSTRAINT m_client_charge_pkey PRIMARY KEY (id); + + +-- Name: m_client_collateral_management m_client_collateral_management_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_collateral_management + ADD CONSTRAINT m_client_collateral_management_pkey PRIMARY KEY (id); + + +-- Name: m_client m_client_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT m_client_external_id_key UNIQUE (external_id); + + +-- Name: m_client_identifier m_client_identifier_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT m_client_identifier_pkey PRIMARY KEY (id); + + +-- Name: m_client m_client_mobile_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT m_client_mobile_no_key UNIQUE (mobile_no); + + +-- Name: m_client_non_person m_client_non_person_client_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_non_person + ADD CONSTRAINT m_client_non_person_client_id_key UNIQUE (client_id); + + +-- Name: m_client_non_person m_client_non_person_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_non_person + ADD CONSTRAINT m_client_non_person_pkey PRIMARY KEY (id); + + +-- Name: m_client m_client_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT m_client_pkey PRIMARY KEY (id); + + +-- Name: m_client_transaction m_client_transaction_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transaction + ADD CONSTRAINT m_client_transaction_external_id_key UNIQUE (external_id); + + +-- Name: m_client_transaction m_client_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transaction + ADD CONSTRAINT m_client_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_client_transfer_details m_client_transfer_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transfer_details + ADD CONSTRAINT m_client_transfer_details_pkey PRIMARY KEY (id); + + +-- Name: m_code m_code_code_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_code + ADD CONSTRAINT m_code_code_name_key UNIQUE (code_name); + + +-- Name: m_code m_code_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_code + ADD CONSTRAINT m_code_pkey PRIMARY KEY (id); + + +-- Name: m_code_value m_code_value_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_code_value + ADD CONSTRAINT m_code_value_pkey PRIMARY KEY (id); + + +-- Name: m_collateral_management m_collateral_management_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_collateral_management + ADD CONSTRAINT m_collateral_management_pkey PRIMARY KEY (id); + + +-- Name: m_creditbureau_configuration m_creditbureau_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_configuration + ADD CONSTRAINT m_creditbureau_configuration_pkey PRIMARY KEY (id); + + +-- Name: m_creditbureau_loanproduct_mapping m_creditbureau_loanproduct_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_loanproduct_mapping + ADD CONSTRAINT m_creditbureau_loanproduct_mapping_pkey PRIMARY KEY (id); + + +-- Name: m_creditbureau m_creditbureau_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau + ADD CONSTRAINT m_creditbureau_pkey PRIMARY KEY (id); + + +-- Name: m_creditbureau_token m_creditbureau_token_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_token + ADD CONSTRAINT m_creditbureau_token_pkey PRIMARY KEY (id); + + +-- Name: m_creditreport m_creditreport_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditreport + ADD CONSTRAINT m_creditreport_pkey PRIMARY KEY (id); + + +-- Name: m_currency m_currency_code_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_currency + ADD CONSTRAINT m_currency_code_key UNIQUE (code); + + +-- Name: m_currency m_currency_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_currency + ADD CONSTRAINT m_currency_pkey PRIMARY KEY (id); + + +-- Name: m_delinquency_bucket_mappings m_delinquency_bucket_mappings_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_bucket_mappings + ADD CONSTRAINT m_delinquency_bucket_mappings_pkey PRIMARY KEY (id); + + +-- Name: m_delinquency_bucket m_delinquency_bucket_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_bucket + ADD CONSTRAINT m_delinquency_bucket_name_key UNIQUE (name); + + +-- Name: m_delinquency_bucket m_delinquency_bucket_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_bucket + ADD CONSTRAINT m_delinquency_bucket_pkey PRIMARY KEY (id); + + +-- Name: m_delinquency_range m_delinquency_range_classification_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_range + ADD CONSTRAINT m_delinquency_range_classification_key UNIQUE (classification); + + +-- Name: m_delinquency_range m_delinquency_range_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_range + ADD CONSTRAINT m_delinquency_range_pkey PRIMARY KEY (id); + + +-- Name: m_deposit_account_on_hold_transaction m_deposit_account_on_hold_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_on_hold_transaction + ADD CONSTRAINT m_deposit_account_on_hold_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_deposit_account_recurring_detail m_deposit_account_recurring_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_recurring_detail + ADD CONSTRAINT m_deposit_account_recurring_detail_pkey PRIMARY KEY (id); + + +-- Name: m_deposit_account_term_and_preclosure m_deposit_account_term_and_preclosure_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_term_and_preclosure + ADD CONSTRAINT m_deposit_account_term_and_preclosure_pkey PRIMARY KEY (id); + + +-- Name: m_deposit_product_recurring_detail m_deposit_product_recurring_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_recurring_detail + ADD CONSTRAINT m_deposit_product_recurring_detail_pkey PRIMARY KEY (id); + + +-- Name: m_deposit_product_term_and_preclosure m_deposit_product_term_and_preclosure_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_term_and_preclosure + ADD CONSTRAINT m_deposit_product_term_and_preclosure_pkey PRIMARY KEY (id); + + +-- Name: m_document m_document_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_document + ADD CONSTRAINT m_document_pkey PRIMARY KEY (id); + + +-- Name: m_entity_datatable_check m_entity_datatable_check_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_datatable_check + ADD CONSTRAINT m_entity_datatable_check_pkey PRIMARY KEY (id); + + +-- Name: m_entity_relation m_entity_relation_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_relation + ADD CONSTRAINT m_entity_relation_pkey PRIMARY KEY (id); + + +-- Name: m_entity_to_entity_access m_entity_to_entity_access_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_access + ADD CONSTRAINT m_entity_to_entity_access_pkey PRIMARY KEY (id); + + +-- Name: m_entity_to_entity_mapping m_entity_to_entity_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_mapping + ADD CONSTRAINT m_entity_to_entity_mapping_pkey PRIMARY KEY (id); + + +-- Name: m_external_event_configuration m_external_event_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_external_event_configuration + ADD CONSTRAINT m_external_event_configuration_pkey PRIMARY KEY (type); + + +-- Name: m_external_event m_external_event_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_external_event + ADD CONSTRAINT m_external_event_pkey PRIMARY KEY (id); + + +-- Name: m_family_members m_family_members_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT m_family_members_pkey PRIMARY KEY (id); + + +-- Name: m_field_configuration m_field_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_field_configuration + ADD CONSTRAINT m_field_configuration_pkey PRIMARY KEY (id); + + +-- Name: m_floating_rates m_floating_rates_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates + ADD CONSTRAINT m_floating_rates_name_key UNIQUE (name); + + +-- Name: m_floating_rates_periods m_floating_rates_periods_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates_periods + ADD CONSTRAINT m_floating_rates_periods_pkey PRIMARY KEY (id); + + +-- Name: m_floating_rates m_floating_rates_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates + ADD CONSTRAINT m_floating_rates_pkey PRIMARY KEY (id); + + +-- Name: m_fund m_fund_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_fund + ADD CONSTRAINT m_fund_external_id_key UNIQUE (external_id); + + +-- Name: m_fund m_fund_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_fund + ADD CONSTRAINT m_fund_name_key UNIQUE (name); + + +-- Name: m_fund m_fund_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_fund + ADD CONSTRAINT m_fund_pkey PRIMARY KEY (id); + + +-- Name: m_group_client m_group_client_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_client + ADD CONSTRAINT m_group_client_pkey PRIMARY KEY (group_id, client_id); + + +-- Name: m_group m_group_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT m_group_external_id_key UNIQUE (external_id); + + +-- Name: m_group_level m_group_level_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_level + ADD CONSTRAINT m_group_level_pkey PRIMARY KEY (id); + + +-- Name: m_group m_group_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT m_group_pkey PRIMARY KEY (id); + + +-- Name: m_group_roles m_group_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_roles + ADD CONSTRAINT m_group_roles_pkey PRIMARY KEY (id); + + +-- Name: m_guarantor_funding_details m_guarantor_funding_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_funding_details + ADD CONSTRAINT m_guarantor_funding_details_pkey PRIMARY KEY (id); + + +-- Name: m_guarantor m_guarantor_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor + ADD CONSTRAINT m_guarantor_pkey PRIMARY KEY (id); + + +-- Name: m_guarantor_transaction m_guarantor_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_transaction + ADD CONSTRAINT m_guarantor_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_holiday_office m_holiday_office_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_holiday_office + ADD CONSTRAINT m_holiday_office_pkey PRIMARY KEY (holiday_id, office_id); + + +-- Name: m_holiday m_holiday_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_holiday + ADD CONSTRAINT m_holiday_pkey PRIMARY KEY (id); + + +-- Name: m_hook_configuration m_hook_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_configuration + ADD CONSTRAINT m_hook_configuration_pkey PRIMARY KEY (id); + + +-- Name: m_hook m_hook_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook + ADD CONSTRAINT m_hook_pkey PRIMARY KEY (id); + + +-- Name: m_hook_registered_events m_hook_registered_events_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_registered_events + ADD CONSTRAINT m_hook_registered_events_pkey PRIMARY KEY (id); + + +-- Name: m_hook_schema m_hook_schema_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_schema + ADD CONSTRAINT m_hook_schema_pkey PRIMARY KEY (id); + + +-- Name: m_hook_templates m_hook_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_templates + ADD CONSTRAINT m_hook_templates_pkey PRIMARY KEY (id); + + +-- Name: m_image m_image_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_image + ADD CONSTRAINT m_image_pkey PRIMARY KEY (id); + + +-- Name: m_import_document m_import_document_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_import_document + ADD CONSTRAINT m_import_document_pkey PRIMARY KEY (id); + + +-- Name: m_interest_incentives m_interest_incentives_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_interest_incentives + ADD CONSTRAINT m_interest_incentives_pkey PRIMARY KEY (id); + + +-- Name: m_interest_rate_chart m_interest_rate_chart_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_interest_rate_chart + ADD CONSTRAINT m_interest_rate_chart_pkey PRIMARY KEY (id); + + +-- Name: m_interest_rate_slab m_interest_rate_slab_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_interest_rate_slab + ADD CONSTRAINT m_interest_rate_slab_pkey PRIMARY KEY (id); + + +-- Name: m_loan_account_locks m_loan_account_locks_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_account_locks + ADD CONSTRAINT m_loan_account_locks_pkey PRIMARY KEY (loan_id); + + +-- Name: m_loan m_loan_account_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT m_loan_account_no_key UNIQUE (account_no); + + +-- Name: m_loan_arrears_aging m_loan_arrears_aging_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_arrears_aging + ADD CONSTRAINT m_loan_arrears_aging_pkey PRIMARY KEY (loan_id); + + +-- Name: m_loan_charge m_loan_charge_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge + ADD CONSTRAINT m_loan_charge_external_id_key UNIQUE (external_id); + + +-- Name: m_loan_charge_paid_by m_loan_charge_paid_by_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge_paid_by + ADD CONSTRAINT m_loan_charge_paid_by_pkey PRIMARY KEY (id); + + +-- Name: m_loan_charge m_loan_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge + ADD CONSTRAINT m_loan_charge_pkey PRIMARY KEY (id); + + +-- Name: m_loan_collateral_management m_loan_collateral_management_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral_management + ADD CONSTRAINT m_loan_collateral_management_pkey PRIMARY KEY (id); + + +-- Name: m_loan_collateral m_loan_collateral_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral + ADD CONSTRAINT m_loan_collateral_pkey PRIMARY KEY (id); + + +-- Name: m_loan_delinquency_tag_history m_loan_delinquency_tag_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_delinquency_tag_history + ADD CONSTRAINT m_loan_delinquency_tag_history_pkey PRIMARY KEY (id); + + +-- Name: m_loan_disbursement_detail m_loan_disbursement_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_disbursement_detail + ADD CONSTRAINT m_loan_disbursement_detail_pkey PRIMARY KEY (id); + + +-- Name: m_loan m_loan_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT m_loan_external_id_key UNIQUE (external_id); + + +-- Name: m_loan_installment_charge m_loan_installment_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_installment_charge + ADD CONSTRAINT m_loan_installment_charge_pkey PRIMARY KEY (id); + + +-- Name: m_loan_interest_recalculation_additional_details m_loan_interest_recalculation_additional_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_interest_recalculation_additional_details + ADD CONSTRAINT m_loan_interest_recalculation_additional_details_pkey PRIMARY KEY (id); + + +-- Name: m_loan_officer_assignment_history m_loan_officer_assignment_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_officer_assignment_history + ADD CONSTRAINT m_loan_officer_assignment_history_pkey PRIMARY KEY (id); + + +-- Name: m_loan_overdue_installment_charge m_loan_overdue_installment_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_overdue_installment_charge + ADD CONSTRAINT m_loan_overdue_installment_charge_pkey PRIMARY KEY (id); + + +-- Name: m_loan m_loan_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT m_loan_pkey PRIMARY KEY (id); + + +-- Name: m_loan_rate m_loan_rate_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_rate + ADD CONSTRAINT m_loan_rate_pkey PRIMARY KEY (loan_id, rate_id); + + +-- Name: m_loan_reage_parameter m_loan_reage_parameter_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reage_parameter + ADD CONSTRAINT m_loan_reage_parameter_pkey PRIMARY KEY (id); + + +-- Name: m_loan_recalculation_details m_loan_recalculation_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_recalculation_details + ADD CONSTRAINT m_loan_recalculation_details_pkey PRIMARY KEY (id); + + +-- Name: m_loan_repayment_schedule_history m_loan_repayment_schedule_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule_history + ADD CONSTRAINT m_loan_repayment_schedule_history_pkey PRIMARY KEY (id); + + +-- Name: m_loan_repayment_schedule m_loan_repayment_schedule_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule + ADD CONSTRAINT m_loan_repayment_schedule_pkey PRIMARY KEY (id); + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_pkey PRIMARY KEY (id); + + +-- Name: m_loan_reschedule_request_term_variations_mapping m_loan_reschedule_request_term_variations_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request_term_variations_mapping + ADD CONSTRAINT m_loan_reschedule_request_term_variations_mapping_pkey PRIMARY KEY (id); + + +-- Name: m_loan_term_variations m_loan_term_variations_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_term_variations + ADD CONSTRAINT m_loan_term_variations_pkey PRIMARY KEY (id); + + +-- Name: m_loan_topup m_loan_topup_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_topup + ADD CONSTRAINT m_loan_topup_pkey PRIMARY KEY (id); + + +-- Name: m_loan_tranche_charges m_loan_tranche_charges_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_charges + ADD CONSTRAINT m_loan_tranche_charges_pkey PRIMARY KEY (id); + + +-- Name: m_loan_tranche_disbursement_charge m_loan_tranche_disbursement_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_disbursement_charge + ADD CONSTRAINT m_loan_tranche_disbursement_charge_pkey PRIMARY KEY (id); + + +-- Name: m_loan_transaction m_loan_transaction_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT m_loan_transaction_external_id_key UNIQUE (external_id); + + +-- Name: m_loan_transaction m_loan_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT m_loan_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_loan_transaction_relation m_loan_transaction_relation_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_relation + ADD CONSTRAINT m_loan_transaction_relation_pkey PRIMARY KEY (id); + + +-- Name: m_loan_transaction_repayment_schedule_mapping m_loan_transaction_repayment_schedule_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_repayment_schedule_mapping + ADD CONSTRAINT m_loan_transaction_repayment_schedule_mapping_pkey PRIMARY KEY (id); + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_pkey PRIMARY KEY (id); + + +-- Name: m_loanproduct_provisioning_mapping m_loanproduct_provisioning_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_mapping + ADD CONSTRAINT m_loanproduct_provisioning_mapping_pkey PRIMARY KEY (id); + + +-- Name: m_loanproduct_provisioning_mapping m_loanproduct_provisioning_mapping_product_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_mapping + ADD CONSTRAINT m_loanproduct_provisioning_mapping_product_id_key UNIQUE (product_id); + + +-- Name: m_mandatory_savings_schedule m_mandatory_savings_schedule_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_mandatory_savings_schedule + ADD CONSTRAINT m_mandatory_savings_schedule_pkey PRIMARY KEY (id); + + +-- Name: m_meeting m_meeting_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_meeting + ADD CONSTRAINT m_meeting_pkey PRIMARY KEY (id); + + +-- Name: m_note m_note_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT m_note_pkey PRIMARY KEY (id); + + +-- Name: m_office m_office_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office + ADD CONSTRAINT m_office_external_id_key UNIQUE (external_id); + + +-- Name: m_office m_office_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office + ADD CONSTRAINT m_office_name_key UNIQUE (name); + + +-- Name: m_office m_office_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office + ADD CONSTRAINT m_office_pkey PRIMARY KEY (id); + + +-- Name: m_office_transaction m_office_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office_transaction + ADD CONSTRAINT m_office_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_organisation_creditbureau m_organisation_creditbureau_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_organisation_creditbureau + ADD CONSTRAINT m_organisation_creditbureau_pkey PRIMARY KEY (id); + + +-- Name: m_organisation_currency m_organisation_currency_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_organisation_currency + ADD CONSTRAINT m_organisation_currency_pkey PRIMARY KEY (id); + + +-- Name: m_password_validation_policy m_password_validation_policy_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_password_validation_policy + ADD CONSTRAINT m_password_validation_policy_pkey PRIMARY KEY (id); + + +-- Name: m_payment_detail m_payment_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_payment_detail + ADD CONSTRAINT m_payment_detail_pkey PRIMARY KEY (id); + + +-- Name: m_payment_type m_payment_type_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_payment_type + ADD CONSTRAINT m_payment_type_pkey PRIMARY KEY (id); + + +-- Name: m_permission m_permission_code_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_permission + ADD CONSTRAINT m_permission_code_key UNIQUE (code); + + +-- Name: m_permission m_permission_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_permission + ADD CONSTRAINT m_permission_pkey PRIMARY KEY (id); + + +-- Name: m_portfolio_account_associations m_portfolio_account_associations_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_account_associations + ADD CONSTRAINT m_portfolio_account_associations_pkey PRIMARY KEY (id); + + +-- Name: m_portfolio_command_source m_portfolio_command_source_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_command_source + ADD CONSTRAINT m_portfolio_command_source_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan_charge m_product_loan_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_charge + ADD CONSTRAINT m_product_loan_charge_pkey PRIMARY KEY (product_loan_id, charge_id); + + +-- Name: m_product_loan_configurable_attributes m_product_loan_configurable_attributes_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_configurable_attributes + ADD CONSTRAINT m_product_loan_configurable_attributes_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan m_product_loan_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT m_product_loan_external_id_key UNIQUE (external_id); + + +-- Name: m_product_loan_floating_rates m_product_loan_floating_rates_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_floating_rates + ADD CONSTRAINT m_product_loan_floating_rates_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan_guarantee_details m_product_loan_guarantee_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_guarantee_details + ADD CONSTRAINT m_product_loan_guarantee_details_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan m_product_loan_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT m_product_loan_name_key UNIQUE (name); + + +-- Name: m_product_loan m_product_loan_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT m_product_loan_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan_rate m_product_loan_rate_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_rate + ADD CONSTRAINT m_product_loan_rate_pkey PRIMARY KEY (product_loan_id, rate_id); + + +-- Name: m_product_loan_recalculation_details m_product_loan_recalculation_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_recalculation_details + ADD CONSTRAINT m_product_loan_recalculation_details_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan m_product_loan_short_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT m_product_loan_short_name_key UNIQUE (short_name); + + +-- Name: m_product_loan_variable_installment_config m_product_loan_variable_installment_config_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_variable_installment_config + ADD CONSTRAINT m_product_loan_variable_installment_config_pkey PRIMARY KEY (id); + + +-- Name: m_product_loan_variations_borrower_cycle m_product_loan_variations_borrower_cycle_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_variations_borrower_cycle + ADD CONSTRAINT m_product_loan_variations_borrower_cycle_pkey PRIMARY KEY (id); + + +-- Name: m_product_mix m_product_mix_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_mix + ADD CONSTRAINT m_product_mix_pkey PRIMARY KEY (id); + + +-- Name: m_provision_category m_provision_category_category_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provision_category + ADD CONSTRAINT m_provision_category_category_name_key UNIQUE (category_name); + + +-- Name: m_provision_category m_provision_category_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provision_category + ADD CONSTRAINT m_provision_category_pkey PRIMARY KEY (id); + + +-- Name: m_provisioning_criteria m_provisioning_criteria_criteria_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria + ADD CONSTRAINT m_provisioning_criteria_criteria_name_key UNIQUE (criteria_name); + + +-- Name: m_provisioning_criteria_definition m_provisioning_criteria_definition_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria_definition + ADD CONSTRAINT m_provisioning_criteria_definition_pkey PRIMARY KEY (id); + + +-- Name: m_provisioning_criteria m_provisioning_criteria_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria + ADD CONSTRAINT m_provisioning_criteria_pkey PRIMARY KEY (id); + + +-- Name: m_provisioning_history m_provisioning_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_history + ADD CONSTRAINT m_provisioning_history_pkey PRIMARY KEY (id); + + +-- Name: m_rate m_rate_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_rate + ADD CONSTRAINT m_rate_pkey PRIMARY KEY (id); + + +-- Name: m_repayment_with_post_dated_checks m_repayment_with_post_dated_checks_check_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_repayment_with_post_dated_checks + ADD CONSTRAINT m_repayment_with_post_dated_checks_check_no_key UNIQUE (check_no); + + +-- Name: m_repayment_with_post_dated_checks m_repayment_with_post_dated_checks_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_repayment_with_post_dated_checks + ADD CONSTRAINT m_repayment_with_post_dated_checks_pkey PRIMARY KEY (id); + + +-- Name: m_report_mailing_job_configuration m_report_mailing_job_configuration_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job_configuration + ADD CONSTRAINT m_report_mailing_job_configuration_name_key UNIQUE (name); + + +-- Name: m_report_mailing_job_configuration m_report_mailing_job_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job_configuration + ADD CONSTRAINT m_report_mailing_job_configuration_pkey PRIMARY KEY (id); + + +-- Name: m_report_mailing_job m_report_mailing_job_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_name_key UNIQUE (name); + + +-- Name: m_report_mailing_job m_report_mailing_job_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_pkey PRIMARY KEY (id); + + +-- Name: m_report_mailing_job_run_history m_report_mailing_job_run_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job_run_history + ADD CONSTRAINT m_report_mailing_job_run_history_pkey PRIMARY KEY (id); + + +-- Name: m_role m_role_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_role + ADD CONSTRAINT m_role_name_key UNIQUE (name); + + +-- Name: m_role_permission m_role_permission_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_role_permission + ADD CONSTRAINT m_role_permission_pkey PRIMARY KEY (role_id, permission_id); + + +-- Name: m_role m_role_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_role + ADD CONSTRAINT m_role_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account m_savings_account_account_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT m_savings_account_account_no_key UNIQUE (account_no); + + +-- Name: m_savings_account_charge_paid_by m_savings_account_charge_paid_by_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge_paid_by + ADD CONSTRAINT m_savings_account_charge_paid_by_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account_charge m_savings_account_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge + ADD CONSTRAINT m_savings_account_charge_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account m_savings_account_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT m_savings_account_external_id_key UNIQUE (external_id); + + +-- Name: m_savings_account_interest_rate_chart m_savings_account_interest_rate_chart_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_interest_rate_chart + ADD CONSTRAINT m_savings_account_interest_rate_chart_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account_interest_rate_slab m_savings_account_interest_rate_slab_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_interest_rate_slab + ADD CONSTRAINT m_savings_account_interest_rate_slab_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account m_savings_account_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT m_savings_account_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account_transaction m_savings_account_transaction_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT m_savings_account_transaction_pkey PRIMARY KEY (id); + + +-- Name: m_savings_account_transaction_tax_details m_savings_account_transaction_tax_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction_tax_details + ADD CONSTRAINT m_savings_account_transaction_tax_details_pkey PRIMARY KEY (id); + + +-- Name: m_savings_interest_incentives m_savings_interest_incentives_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_interest_incentives + ADD CONSTRAINT m_savings_interest_incentives_pkey PRIMARY KEY (id); + + +-- Name: m_savings_officer_assignment_history m_savings_officer_assignment_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_officer_assignment_history + ADD CONSTRAINT m_savings_officer_assignment_history_pkey PRIMARY KEY (id); + + +-- Name: m_savings_product_charge m_savings_product_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product_charge + ADD CONSTRAINT m_savings_product_charge_pkey PRIMARY KEY (savings_product_id, charge_id); + + +-- Name: m_savings_product m_savings_product_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product + ADD CONSTRAINT m_savings_product_name_key UNIQUE (name); + + +-- Name: m_savings_product m_savings_product_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product + ADD CONSTRAINT m_savings_product_pkey PRIMARY KEY (id); + + +-- Name: m_savings_product m_savings_product_short_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product + ADD CONSTRAINT m_savings_product_short_name_key UNIQUE (short_name); + + +-- Name: m_share_account_charge_paid_by m_share_account_charge_paid_by_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge_paid_by + ADD CONSTRAINT m_share_account_charge_paid_by_pkey PRIMARY KEY (id); + + +-- Name: m_share_account_charge m_share_account_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge + ADD CONSTRAINT m_share_account_charge_pkey PRIMARY KEY (id); + + +-- Name: m_share_account_dividend_details m_share_account_dividend_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_dividend_details + ADD CONSTRAINT m_share_account_dividend_details_pkey PRIMARY KEY (id); + + +-- Name: m_share_account m_share_account_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_pkey PRIMARY KEY (id); + + +-- Name: m_share_account_transactions m_share_account_transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_transactions + ADD CONSTRAINT m_share_account_transactions_pkey PRIMARY KEY (id); + + +-- Name: m_share_product_charge m_share_product_charge_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_charge + ADD CONSTRAINT m_share_product_charge_pkey PRIMARY KEY (product_id, charge_id); + + +-- Name: m_share_product_dividend_pay_out m_share_product_dividend_pay_out_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_dividend_pay_out + ADD CONSTRAINT m_share_product_dividend_pay_out_pkey PRIMARY KEY (id); + + +-- Name: m_share_product_market_price m_share_product_market_price_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_market_price + ADD CONSTRAINT m_share_product_market_price_pkey PRIMARY KEY (id); + + +-- Name: m_share_product m_share_product_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product + ADD CONSTRAINT m_share_product_name_key UNIQUE (name); + + +-- Name: m_share_product m_share_product_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product + ADD CONSTRAINT m_share_product_pkey PRIMARY KEY (id); + + +-- Name: m_staff_assignment_history m_staff_assignment_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff_assignment_history + ADD CONSTRAINT m_staff_assignment_history_pkey PRIMARY KEY (id); + + +-- Name: m_staff m_staff_display_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT m_staff_display_name_key UNIQUE (display_name); + + +-- Name: m_staff m_staff_external_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT m_staff_external_id_key UNIQUE (external_id); + + +-- Name: m_staff m_staff_mobile_no_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT m_staff_mobile_no_key UNIQUE (mobile_no); + + +-- Name: m_staff m_staff_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT m_staff_pkey PRIMARY KEY (id); + + +-- Name: m_survey_components m_survey_components_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_components + ADD CONSTRAINT m_survey_components_pkey PRIMARY KEY (id); + + +-- Name: m_survey_lookup_tables m_survey_lookup_tables_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_lookup_tables + ADD CONSTRAINT m_survey_lookup_tables_pkey PRIMARY KEY (id); + + +-- Name: m_survey_questions m_survey_questions_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_questions + ADD CONSTRAINT m_survey_questions_pkey PRIMARY KEY (id); + + +-- Name: m_survey_responses m_survey_responses_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_responses + ADD CONSTRAINT m_survey_responses_pkey PRIMARY KEY (id); + + +-- Name: m_survey_scorecards m_survey_scorecards_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_pkey PRIMARY KEY (id); + + +-- Name: m_surveys m_surveys_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_surveys + ADD CONSTRAINT m_surveys_pkey PRIMARY KEY (id); + + +-- Name: m_tax_component_history m_tax_component_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component_history + ADD CONSTRAINT m_tax_component_history_pkey PRIMARY KEY (id); + + +-- Name: m_tax_component m_tax_component_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component + ADD CONSTRAINT m_tax_component_pkey PRIMARY KEY (id); + + +-- Name: m_tax_group_mappings m_tax_group_mappings_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group_mappings + ADD CONSTRAINT m_tax_group_mappings_pkey PRIMARY KEY (id); + + +-- Name: m_tax_group m_tax_group_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group + ADD CONSTRAINT m_tax_group_pkey PRIMARY KEY (id); + + +-- Name: m_tellers m_tellers_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tellers + ADD CONSTRAINT m_tellers_name_key UNIQUE (name); + + +-- Name: m_tellers m_tellers_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tellers + ADD CONSTRAINT m_tellers_pkey PRIMARY KEY (id); + + +-- Name: m_template_m_templatemappers m_template_m_templatemappers_mappers_id_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_template_m_templatemappers + ADD CONSTRAINT m_template_m_templatemappers_mappers_id_key UNIQUE (mappers_id); + + +-- Name: m_template m_template_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_template + ADD CONSTRAINT m_template_name_key UNIQUE (name); + + +-- Name: m_template m_template_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_template + ADD CONSTRAINT m_template_pkey PRIMARY KEY (id); + + +-- Name: m_templatemappers m_templatemappers_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_templatemappers + ADD CONSTRAINT m_templatemappers_pkey PRIMARY KEY (id); + + +-- Name: m_working_days m_working_days_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_working_days + ADD CONSTRAINT m_working_days_pkey PRIMARY KEY (id); + + +-- Name: m_creditbureau_configuration mcbconfig; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_configuration + ADD CONSTRAINT mcbconfig UNIQUE (configkey, organisation_creditbureau_id); + + +-- Name: mix_taxonomy_mapping mix_taxonomy_mapping_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.mix_taxonomy_mapping + ADD CONSTRAINT mix_taxonomy_mapping_pkey PRIMARY KEY (id); + + +-- Name: mix_taxonomy mix_taxonomy_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.mix_taxonomy + ADD CONSTRAINT mix_taxonomy_pkey PRIMARY KEY (id); + + +-- Name: mix_xbrl_namespace mix_xbrl_namespace_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.mix_xbrl_namespace + ADD CONSTRAINT mix_xbrl_namespace_pkey PRIMARY KEY (id); + + +-- Name: mix_xbrl_namespace mix_xbrl_namespace_prefix_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.mix_xbrl_namespace + ADD CONSTRAINT mix_xbrl_namespace_prefix_key UNIQUE (prefix); + + +-- Name: m_organisation_creditbureau morgcb; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_organisation_creditbureau + ADD CONSTRAINT morgcb UNIQUE (alias, creditbureau_id); + + +-- Name: m_group name; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT name UNIQUE (display_name, level_id); + + +-- Name: notification_generator notification_generator_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.notification_generator + ADD CONSTRAINT notification_generator_pkey PRIMARY KEY (id); + + +-- Name: notification_mapper notification_mapper_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.notification_mapper + ADD CONSTRAINT notification_mapper_pkey PRIMARY KEY (id); + + +-- Name: oauth_client_details oauth_client_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.oauth_client_details + ADD CONSTRAINT oauth_client_details_pkey PRIMARY KEY (client_id); + + +-- Name: acc_gl_closure office_id_closing_date; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_closure + ADD CONSTRAINT office_id_closing_date UNIQUE (office_id, closing_date); + + +-- Name: acc_gl_journal_entry_annual_summary pk_acc_gl_journal_entry_annual_summary; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry_annual_summary + ADD CONSTRAINT pk_acc_gl_journal_entry_annual_summary PRIMARY KEY (id); + + +-- Name: m_journal_entry_aggregation_summary pk_journal_entry_aggregation_summary; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT pk_journal_entry_aggregation_summary PRIMARY KEY (id); + + +-- Name: m_journal_entry_aggregation_tracking pk_journal_entry_aggregation_tracking; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_tracking + ADD CONSTRAINT pk_journal_entry_aggregation_tracking PRIMARY KEY (id); + + +-- Name: m_loan_amortization_allocation_mapping pk_m_loan_amortization_allocation_mapping; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT pk_m_loan_amortization_allocation_mapping PRIMARY KEY (id); + + +-- Name: m_loan_approved_amount_history pk_m_loan_approved_amount_history; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_approved_amount_history + ADD CONSTRAINT pk_m_loan_approved_amount_history PRIMARY KEY (id); + + +-- Name: m_loan_buy_down_fee_balance pk_m_loan_buy_down_fee_balance; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_buy_down_fee_balance + ADD CONSTRAINT pk_m_loan_buy_down_fee_balance PRIMARY KEY (id); + + +-- Name: m_loan_capitalized_income_balance pk_m_loan_capitalized_income_balance; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_capitalized_income_balance + ADD CONSTRAINT pk_m_loan_capitalized_income_balance PRIMARY KEY (id); + + +-- Name: ppi_likelihoods ppi_likelihoods_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.ppi_likelihoods + ADD CONSTRAINT ppi_likelihoods_pkey PRIMARY KEY (id); + + +-- Name: ppi_likelihoods_ppi ppi_likelihoods_ppi_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.ppi_likelihoods_ppi + ADD CONSTRAINT ppi_likelihoods_ppi_pkey PRIMARY KEY (id); + + +-- Name: ppi_scores ppi_scores_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.ppi_scores + ADD CONSTRAINT ppi_scores_pkey PRIMARY KEY (id); + + +-- Name: r_enum_value r_enum_value_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.r_enum_value + ADD CONSTRAINT r_enum_value_pkey PRIMARY KEY (enum_name, enum_id); + + +-- Name: ref_loan_transaction_processing_strategy ref_loan_transaction_processing_strategy_code_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.ref_loan_transaction_processing_strategy + ADD CONSTRAINT ref_loan_transaction_processing_strategy_code_key UNIQUE (code); + + +-- Name: ref_loan_transaction_processing_strategy ref_loan_transaction_processing_strategy_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.ref_loan_transaction_processing_strategy + ADD CONSTRAINT ref_loan_transaction_processing_strategy_pkey PRIMARY KEY (id); + + +-- Name: m_entity_to_entity_mapping rel_id_from_id_to_id; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_mapping + ADD CONSTRAINT rel_id_from_id_to_id UNIQUE (rel_id, from_id, to_id); + + +-- Name: stretchy_report_parameter report_parameter_unique; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report_parameter + ADD CONSTRAINT report_parameter_unique UNIQUE (report_id, parameter_id); + + +-- Name: request_audit_table request_audit_table_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.request_audit_table + ADD CONSTRAINT request_audit_table_pkey PRIMARY KEY (id); + + +-- Name: rpt_sequence rpt_sequence_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.rpt_sequence + ADD CONSTRAINT rpt_sequence_pkey PRIMARY KEY (id); + + +-- Name: scheduled_email_campaign scheduled_email_campaign_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_campaign + ADD CONSTRAINT scheduled_email_campaign_pkey PRIMARY KEY (id); + + +-- Name: scheduled_email_configuration scheduled_email_configuration_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_configuration + ADD CONSTRAINT scheduled_email_configuration_name_key UNIQUE (name); + + +-- Name: scheduled_email_configuration scheduled_email_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_configuration + ADD CONSTRAINT scheduled_email_configuration_pkey PRIMARY KEY (id); + + +-- Name: scheduled_email_messages_outbound scheduled_email_messages_outbound_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_messages_outbound + ADD CONSTRAINT scheduled_email_messages_outbound_pkey PRIMARY KEY (id); + + +-- Name: scheduler_detail scheduler_detail_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduler_detail + ADD CONSTRAINT scheduler_detail_pkey PRIMARY KEY (id); + + +-- Name: sms_campaign sms_campaign_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_campaign + ADD CONSTRAINT sms_campaign_pkey PRIMARY KEY (id); + + +-- Name: sms_messages_outbound sms_messages_outbound_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_messages_outbound + ADD CONSTRAINT sms_messages_outbound_pkey PRIMARY KEY (id); + + +-- Name: stretchy_parameter stretchy_parameter_parameter_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_parameter + ADD CONSTRAINT stretchy_parameter_parameter_name_key UNIQUE (parameter_name); + + +-- Name: stretchy_parameter stretchy_parameter_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_parameter + ADD CONSTRAINT stretchy_parameter_pkey PRIMARY KEY (id); + + +-- Name: stretchy_report_parameter stretchy_report_parameter_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report_parameter + ADD CONSTRAINT stretchy_report_parameter_pkey PRIMARY KEY (id); + + +-- Name: stretchy_report stretchy_report_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report + ADD CONSTRAINT stretchy_report_pkey PRIMARY KEY (id); + + +-- Name: stretchy_report stretchy_report_report_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report + ADD CONSTRAINT stretchy_report_report_name_key UNIQUE (report_name); + + +-- Name: twofactor_access_token token_appuser_UNIQUE; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.twofactor_access_token + ADD CONSTRAINT "token_appuser_UNIQUE" UNIQUE (token, appuser_id); + + +-- Name: twofactor_access_token twofactor_access_token_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.twofactor_access_token + ADD CONSTRAINT twofactor_access_token_pkey PRIMARY KEY (id); + + +-- Name: twofactor_configuration twofactor_configuration_name_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.twofactor_configuration + ADD CONSTRAINT twofactor_configuration_name_key UNIQUE (name); + + +-- Name: twofactor_configuration twofactor_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.twofactor_configuration + ADD CONSTRAINT twofactor_configuration_pkey PRIMARY KEY (id); + + +-- Name: interop_identifier uk_interop_identifier_account; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.interop_identifier + ADD CONSTRAINT uk_interop_identifier_account UNIQUE (account_id, type); + + +-- Name: interop_identifier uk_interop_identifier_value; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.interop_identifier + ADD CONSTRAINT uk_interop_identifier_value UNIQUE (type, a_value, sub_value_or_type); + + +-- Name: m_group uk_m_group_external_id; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT uk_m_group_external_id UNIQUE (external_id, level_id); + + +-- Name: m_creditbureau unique impl; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau + ADD CONSTRAINT "unique impl" UNIQUE (name, product, country, implementation_key); + + +-- Name: acc_rule_tags unique_account_rule_tags; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_rule_tags + ADD CONSTRAINT unique_account_rule_tags UNIQUE (acc_rule_id, tag_id, acc_type_enum); + + +-- Name: m_client_identifier unique_active_client_identifier; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT unique_active_client_identifier UNIQUE (client_id, document_type_id, active); + + +-- Name: m_meeting unique_calendar_instance_id_meeting_date; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_meeting + ADD CONSTRAINT unique_calendar_instance_id_meeting_date UNIQUE (calendar_instance_id, meeting_date); + + +-- Name: m_client_attendance unique_client_meeting_attendance; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_attendance + ADD CONSTRAINT unique_client_meeting_attendance UNIQUE (client_id, meeting_id); + + +-- Name: m_entity_datatable_check unique_entity_check; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_datatable_check + ADD CONSTRAINT unique_entity_check UNIQUE (application_table_name, x_registered_table_name, status_enum, product_id); + + +-- Name: m_group_roles unique_group_roles; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_roles + ADD CONSTRAINT unique_group_roles UNIQUE (client_id, group_id, role_cv_id); + + +-- Name: m_client_identifier unique_identifier_key; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT unique_identifier_key UNIQUE (document_type_id, document_key); + + +-- Name: m_portfolio_command_source unique_portfolio_command_source; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_command_source + ADD CONSTRAINT unique_portfolio_command_source UNIQUE (action_name, entity_name, idempotency_key); + + +-- Name: m_loan_transaction unique_reversal_external_id_loan_transaction; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT unique_reversal_external_id_loan_transaction UNIQUE (reversal_external_id); + + +-- Name: m_appuser username_org; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser + ADD CONSTRAINT username_org UNIQUE (username); + + +-- Name: x_registered_table x_registered_table_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.x_registered_table + ADD CONSTRAINT x_registered_table_pkey PRIMARY KEY (registered_table_name); + + +-- Name: x_table_column_code_mappings x_table_column_code_mappings_pkey; Type: CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.x_table_column_code_mappings + ADD CONSTRAINT x_table_column_code_mappings_pkey PRIMARY KEY (column_alias_name); + + +-- Name: FK1_m_client_gender_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK1_m_client_gender_m_code_value" ON public.m_client USING btree (gender_cv_id); + + +-- Name: FK1_request_audit_table_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK1_request_audit_table_m_client" ON public.request_audit_table USING btree (client_id); + + +-- Name: FKGroupRoleClientId; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FKGroupRoleClientId" ON public.m_group_roles USING btree (client_id); + + +-- Name: FKGroupRoleGroupId; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FKGroupRoleGroupId" ON public.m_group_roles USING btree (group_id); + + +-- Name: FK__m_loan_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_loan_charge" ON public.m_loan_charge_paid_by USING btree (loan_charge_id); + + +-- Name: FK__m_loan_reschedule_request; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_loan_reschedule_request" ON public.m_loan_reschedule_request_term_variations_mapping USING btree (loan_reschedule_request_id); + + +-- Name: FK__m_loan_term_variations; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_loan_term_variations" ON public.m_loan_reschedule_request_term_variations_mapping USING btree (loan_term_variations_id); + + +-- Name: FK__m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_loan_transaction" ON public.m_loan_charge_paid_by USING btree (loan_transaction_id); + + +-- Name: FK__m_savings_account_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_savings_account_charge" ON public.m_savings_account_charge_paid_by USING btree (savings_account_charge_id); + + +-- Name: FK__m_savings_account_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK__m_savings_account_transaction" ON public.m_savings_account_charge_paid_by USING btree (savings_account_transaction_id); + + +-- Name: FK_acc_accounting_rule_acc_gl_account_credit; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_accounting_rule_acc_gl_account_credit" ON public.acc_accounting_rule USING btree (credit_account_id); + + +-- Name: FK_acc_accounting_rule_acc_gl_account_debit; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_accounting_rule_acc_gl_account_debit" ON public.acc_accounting_rule USING btree (debit_account_id); + + +-- Name: FK_acc_accounting_rule_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_accounting_rule_id" ON public.acc_rule_tags USING btree (acc_rule_id); + + +-- Name: FK_acc_accounting_rule_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_accounting_rule_m_office" ON public.acc_accounting_rule USING btree (office_id); + + +-- Name: FK_acc_gl_closure_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_closure_m_appuser" ON public.acc_gl_closure USING btree (createdby_id); + + +-- Name: FK_acc_gl_closure_m_appuser_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_closure_m_appuser_2" ON public.acc_gl_closure USING btree (lastmodifiedby_id); + + +-- Name: FK_acc_gl_closure_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_closure_m_office" ON public.acc_gl_closure USING btree (office_id); + + +-- Name: FK_acc_gl_journal_entry_acc_gl_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_acc_gl_account" ON public.acc_gl_journal_entry USING btree (account_id); + + +-- Name: FK_acc_gl_journal_entry_acc_gl_journal_entry; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_acc_gl_journal_entry" ON public.acc_gl_journal_entry USING btree (reversal_id); + + +-- Name: FK_acc_gl_journal_entry_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_appuser" ON public.acc_gl_journal_entry USING btree (created_by); + + +-- Name: FK_acc_gl_journal_entry_m_appuser_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_appuser_2" ON public.acc_gl_journal_entry USING btree (last_modified_by); + + +-- Name: FK_acc_gl_journal_entry_m_client_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_client_transaction" ON public.acc_gl_journal_entry USING btree (client_transaction_id); + + +-- Name: FK_acc_gl_journal_entry_m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_loan_transaction" ON public.acc_gl_journal_entry USING btree (loan_transaction_id); + + +-- Name: FK_acc_gl_journal_entry_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_office" ON public.acc_gl_journal_entry USING btree (office_id); + + +-- Name: FK_acc_gl_journal_entry_m_payment_detail; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_payment_detail" ON public.acc_gl_journal_entry USING btree (payment_details_id); + + +-- Name: FK_acc_gl_journal_entry_m_savings_account_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_savings_account_transaction" ON public.acc_gl_journal_entry USING btree (savings_transaction_id); + + +-- Name: FK_acc_gl_journal_entry_m_share_account_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_m_share_account_transaction" ON public.acc_gl_journal_entry USING btree (share_transaction_id); + + +-- Name: FK_acc_gl_journal_entry_submitted_on_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_gl_journal_entry_submitted_on_date" ON public.acc_gl_journal_entry USING btree (submitted_on_date); + + +-- Name: FK_acc_product_mapping_m_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_product_mapping_m_charge" ON public.acc_product_mapping USING btree (charge_id); + + +-- Name: FK_acc_product_mapping_m_payment_type; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_acc_product_mapping_m_payment_type" ON public.acc_product_mapping USING btree (payment_type); + + +-- Name: FK_access_type_code_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_access_type_code_m_code_value" ON public.m_entity_to_entity_access USING btree (access_type_code_value_id); + + +-- Name: FK_additional_details_repayment_schedule_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_additional_details_repayment_schedule_id" ON public.m_loan_interest_recalculation_additional_details USING btree (loan_repayment_schedule_id); + + +-- Name: FK_approvedon_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_approvedon_userid" ON public.m_loan USING btree (approvedon_userid); + + +-- Name: FK_c_external_service_properties_c_external_service; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_c_external_service_properties_c_external_service" ON public.c_external_service_properties USING btree (external_service_id); + + +-- Name: FK_client_transaction_submitted_on_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_client_transaction_submitted_on_date" ON public.m_client_transaction USING btree (submitted_on_date); + + +-- Name: FK_closedon_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_closedon_userid" ON public.m_loan USING btree (closedon_userid); + + +-- Name: FK_collateral_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_collateral_code_value" ON public.m_loan_collateral USING btree (type_cv_id); + + +-- Name: FK_collateral_m_loan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_collateral_m_loan" ON public.m_loan_collateral USING btree (loan_id); + + +-- Name: FK_deposit_on_hold_transaction_m_savings_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_deposit_on_hold_transaction_m_savings_account" ON public.m_deposit_account_on_hold_transaction USING btree (savings_account_id); + + +-- Name: FK_disbursedon_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_disbursedon_userid" ON public.m_loan USING btree (disbursedon_userid); + + +-- Name: FK_glim_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_glim_id" ON public.m_loan USING btree (glim_id); + + +-- Name: FK_group_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_group_id" ON public.glim_accounts USING btree (group_id); + + +-- Name: FK_grouprole_m_codevalue; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_grouprole_m_codevalue" ON public.m_group_roles USING btree (role_cv_id); + + +-- Name: FK_gsim_group_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_gsim_group_id" ON public.gsim_accounts USING btree (group_id); + + +-- Name: FK_gsim_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_gsim_id" ON public.m_savings_account USING btree (gsim_id); + + +-- Name: FK_guarantee_details_loan_product; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_guarantee_details_loan_product" ON public.m_product_loan_guarantee_details USING btree (loan_product_id); + + +-- Name: FK_guarantor_transaction_guarantor_fund_detail; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_guarantor_transaction_guarantor_fund_detail" ON public.m_guarantor_transaction USING btree (guarantor_fund_detail_id); + + +-- Name: FK_guarantor_transaction_m_deposit_account_on_hold_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_guarantor_transaction_m_deposit_account_on_hold_transaction" ON public.m_guarantor_transaction USING btree (deposit_on_hold_transaction_id); + + +-- Name: FK_guarantor_transaction_m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_guarantor_transaction_m_loan_transaction" ON public.m_guarantor_transaction USING btree (loan_transaction_id); + + +-- Name: FK_job_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_job_id" ON public.job_parameters USING btree (job_id); + + +-- Name: FK_loan_charge_id_charge_schedule; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_charge_id_charge_schedule" ON public.m_loan_installment_charge USING btree (loan_charge_id); + + +-- Name: FK_loan_disbursement_detail_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_disbursement_detail_loan_id" ON public.m_loan_disbursement_detail USING btree (loan_id); + + +-- Name: FK_loan_expected_maturedon_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_expected_maturedon_date" ON public.m_loan USING btree (expected_maturedon_date); + + +-- Name: FK_loan_id_m_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_id_m_loan_id" ON public.m_loan_term_variations USING btree (loan_id); + + +-- Name: FK_loan_last_closed_business_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_last_closed_business_date" ON public.m_loan USING btree (last_closed_business_date); + + +-- Name: FK_loan_ltp_strategy; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_ltp_strategy" ON public.m_loan USING btree (loan_transaction_strategy_id); + + +-- Name: FK_loan_overpaidon_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_overpaidon_date" ON public.m_loan USING btree (overpaidon_date); + + +-- Name: FK_loan_schedule_id_charge_schedule; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_schedule_id_charge_schedule" ON public.m_loan_installment_charge USING btree (loan_schedule_id); + + +-- Name: FK_loan_status_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_loan_status_id" ON public.m_loan USING btree (loan_status_id); + + +-- Name: FK_ltp_strategy; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_ltp_strategy" ON public.m_product_loan USING btree (loan_transaction_strategy_id); + + +-- Name: FK_m_account_transfer_details_from_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_from_client" ON public.m_account_transfer_details USING btree (from_client_id); + + +-- Name: FK_m_account_transfer_details_from_loan_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_from_loan_account" ON public.m_account_transfer_details USING btree (from_loan_account_id); + + +-- Name: FK_m_account_transfer_details_from_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_from_office" ON public.m_account_transfer_details USING btree (from_office_id); + + +-- Name: FK_m_account_transfer_details_from_savings_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_from_savings_account" ON public.m_account_transfer_details USING btree (from_savings_account_id); + + +-- Name: FK_m_account_transfer_details_to_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_to_client" ON public.m_account_transfer_details USING btree (to_client_id); + + +-- Name: FK_m_account_transfer_details_to_loan_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_to_loan_account" ON public.m_account_transfer_details USING btree (to_loan_account_id); + + +-- Name: FK_m_account_transfer_details_to_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_to_office" ON public.m_account_transfer_details USING btree (to_office_id); + + +-- Name: FK_m_account_transfer_details_to_savings_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_details_to_savings_account" ON public.m_account_transfer_details USING btree (to_savings_account_id); + + +-- Name: FK_m_account_transfer_standing_instructions_history; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_standing_instructions_history" ON public.m_account_transfer_standing_instructions_history USING btree (standing_instruction_id); + + +-- Name: FK_m_account_transfer_transaction_account_detail; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_transaction_account_detail" ON public.m_account_transfer_transaction USING btree (account_transfer_details_id); + + +-- Name: FK_m_account_transfer_transaction_from_m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_transaction_from_m_loan_transaction" ON public.m_account_transfer_transaction USING btree (from_loan_transaction_id); + + +-- Name: FK_m_account_transfer_transaction_from_m_savings_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_transaction_from_m_savings_transaction" ON public.m_account_transfer_transaction USING btree (from_savings_transaction_id); + + +-- Name: FK_m_account_transfer_transaction_to_m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_transaction_to_m_loan_transaction" ON public.m_account_transfer_transaction USING btree (to_loan_transaction_id); + + +-- Name: FK_m_account_transfer_transaction_to_m_savings_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_account_transfer_transaction_to_m_savings_transaction" ON public.m_account_transfer_transaction USING btree (to_savings_transaction_id); + + +-- Name: FK_m_calendar_m_calendar_history; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_calendar_m_calendar_history" ON public.m_calendar_history USING btree (calendar_id); + + +-- Name: FK_m_calendar_m_calendar_instance; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_calendar_m_calendar_instance" ON public.m_calendar_instance USING btree (calendar_id); + + +-- Name: FK_m_charge_acc_gl_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_charge_acc_gl_account" ON public.m_charge USING btree (income_or_liability_account_id); + + +-- Name: FK_m_charge_m_tax_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_charge_m_tax_group" ON public.m_charge USING btree (tax_group_id); + + +-- Name: FK_m_checker_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_checker_m_appuser" ON public.m_portfolio_command_source USING btree (checker_id); + + +-- Name: FK_m_client_charge_m_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_charge_m_charge" ON public.m_client_charge USING btree (charge_id); + + +-- Name: FK_m_client_charge_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_charge_m_client" ON public.m_client_charge USING btree (client_id); + + +-- Name: FK_m_client_charge_paid_by_m_client_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_charge_paid_by_m_client_charge" ON public.m_client_charge_paid_by USING btree (client_charge_id); + + +-- Name: FK_m_client_charge_paid_by_m_client_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_charge_paid_by_m_client_transaction" ON public.m_client_charge_paid_by USING btree (client_transaction_id); + + +-- Name: FK_m_client_classification_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_classification_m_code_value" ON public.m_client USING btree (client_classification_cv_id); + + +-- Name: FK_m_client_document_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_document_m_client" ON public.m_client_identifier USING btree (client_id); + + +-- Name: FK_m_client_document_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_document_m_code_value" ON public.m_client_identifier USING btree (document_type_id); + + +-- Name: FK_m_client_m_code; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_m_code" ON public.m_client USING btree (closure_reason_cv_id); + + +-- Name: FK_m_client_m_image; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_m_image" ON public.m_client USING btree (image_id); + + +-- Name: FK_m_client_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_m_office" ON public.m_client USING btree (transfer_to_office_id); + + +-- Name: FK_m_client_m_savings_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_m_savings_account" ON public.m_client USING btree (default_savings_account); + + +-- Name: FK_m_client_m_savings_product; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_m_savings_product" ON public.m_client USING btree (default_savings_product); + + +-- Name: FK_m_client_substatus_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_substatus_m_code_value" ON public.m_client USING btree (sub_status); + + +-- Name: FK_m_client_transaction_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_transaction_m_client" ON public.m_client_transaction USING btree (client_id); + + +-- Name: FK_m_client_transfer_details_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_transfer_details_m_appuser" ON public.m_client_transfer_details USING btree (submitted_by); + + +-- Name: FK_m_client_transfer_details_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_transfer_details_m_client" ON public.m_client_transfer_details USING btree (client_id); + + +-- Name: FK_m_client_transfer_details_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_transfer_details_m_office" ON public.m_client_transfer_details USING btree (from_office_id); + + +-- Name: FK_m_client_transfer_details_m_office_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_transfer_details_m_office_2" ON public.m_client_transfer_details USING btree (to_office_id); + + +-- Name: FK_m_client_type_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_type_m_code_value" ON public.m_client USING btree (client_type_cv_id); + + +-- Name: FK_m_client_type_m_code_value_withdraw; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_type_m_code_value_withdraw" ON public.m_client USING btree (withdraw_reason_cv_id); + + +-- Name: FK_m_client_type_mcode_value_reject; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_client_type_mcode_value_reject" ON public.m_client USING btree (reject_reason_cv_id); + + +-- Name: FK_m_code_value_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_code_value_id" ON public.acc_rule_tags USING btree (tag_id); + + +-- Name: FK_m_family_members_client_id_m_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_family_members_client_id_m_client" ON public.m_family_members USING btree (client_id); + + +-- Name: FK_m_family_members_gender_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_family_members_gender_m_code_value" ON public.m_family_members USING btree (gender_cv_id); + + +-- Name: FK_m_family_members_marital_status_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_family_members_marital_status_m_code_value" ON public.m_family_members USING btree (marital_status_cv_id); + + +-- Name: FK_m_family_members_profession_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_family_members_profession_m_code_value" ON public.m_family_members USING btree (profession_cv_id); + + +-- Name: FK_m_family_members_relationship_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_family_members_relationship_m_code_value" ON public.m_family_members USING btree (relationship_cv_id); + + +-- Name: FK_m_group_level; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_group_level" ON public.m_group USING btree (level_id); + + +-- Name: FK_m_group_m_code; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_group_m_code" ON public.m_group USING btree (closure_reason_cv_id); + + +-- Name: FK_m_guarantor_fund_details_account_associations_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_guarantor_fund_details_account_associations_id" ON public.m_guarantor_funding_details USING btree (account_associations_id); + + +-- Name: FK_m_guarantor_fund_details_m_guarantor; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_guarantor_fund_details_m_guarantor" ON public.m_guarantor_funding_details USING btree (guarantor_id); + + +-- Name: FK_m_guarantor_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_guarantor_m_code_value" ON public.m_guarantor USING btree (client_reln_cv_id); + + +-- Name: FK_m_guarantor_m_loan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_guarantor_m_loan" ON public.m_guarantor USING btree (loan_id); + + +-- Name: FK_m_import_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_import_m_appuser" ON public.m_import_document USING btree (createdby_id); + + +-- Name: FK_m_interest_incentives_m_interest_rate_slab; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_interest_incentives_m_interest_rate_slab" ON public.m_interest_incentives USING btree (interest_rate_slab_id); + + +-- Name: FK_m_loan_m_loan_recalculation_details; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_m_loan_recalculation_details" ON public.m_loan_recalculation_details USING btree (loan_id); + + +-- Name: FK_m_loan_m_staff; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_m_staff" ON public.m_loan USING btree (loan_officer_id); + + +-- Name: FK_m_loan_overdue_installment_charge_m_loan_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_overdue_installment_charge_m_loan_charge" ON public.m_loan_overdue_installment_charge USING btree (loan_charge_id); + + +-- Name: FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule" ON public.m_loan_overdue_installment_charge USING btree (loan_schedule_id); + + +-- Name: FK_m_loan_tranche_charges_m_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_tranche_charges_m_charge" ON public.m_loan_tranche_charges USING btree (charge_id); + + +-- Name: FK_m_loan_tranche_charges_m_loan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_tranche_charges_m_loan" ON public.m_loan_tranche_charges USING btree (loan_id); + + +-- Name: FK_m_loan_tranche_disbursement_charge_m_loan_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_tranche_disbursement_charge_m_loan_charge" ON public.m_loan_tranche_disbursement_charge USING btree (loan_charge_id); + + +-- Name: FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detai; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detai" ON public.m_loan_tranche_disbursement_charge USING btree (disbursement_detail_id); + + +-- Name: FK_m_loan_transaction_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_transaction_m_office" ON public.m_loan_transaction USING btree (office_id); + + +-- Name: FK_m_loan_transaction_m_payment_detail; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loan_transaction_m_payment_detail" ON public.m_loan_transaction USING btree (payment_detail_id); + + +-- Name: FK_m_loanpurpose_codevalue; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_loanpurpose_codevalue" ON public.m_loan USING btree (loanpurpose_cv_id); + + +-- Name: FK_m_maker_m_appuser; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_maker_m_appuser" ON public.m_portfolio_command_source USING btree (maker_id); + + +-- Name: FK_m_meeting_m_client_attendance; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_meeting_m_client_attendance" ON public.m_client_attendance USING btree (meeting_id); + + +-- Name: FK_m_note_m_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_note_m_group" ON public.m_note USING btree (group_id); + + +-- Name: FK_m_payment_detail_m_payment_type; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_payment_detail_m_payment_type" ON public.m_payment_detail USING btree (payment_type_id); + + +-- Name: FK_m_payment_detail_m_payment_types; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_payment_detail_m_payment_types" ON public.m_charge USING btree (payment_type_id); + + +-- Name: FK_m_product_loan_m_product_loan_recalculation_details; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_product_loan_m_product_loan_recalculation_details" ON public.m_product_loan_recalculation_details USING btree (product_id); + + +-- Name: FK_m_product_mix_product_id_to_m_product_loan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_product_mix_product_id_to_m_product_loan" ON public.m_product_mix USING btree (product_id); + + +-- Name: FK_m_product_mix_restricted_product_id_to_m_product_loan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_product_mix_restricted_product_id_to_m_product_loan" ON public.m_product_mix USING btree (restricted_product_id); + + +-- Name: FK_m_savings_account_transaction_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_savings_account_transaction_m_office" ON public.m_savings_account_transaction USING btree (office_id); + + +-- Name: FK_m_savings_account_transaction_m_payment_detail; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_savings_account_transaction_m_payment_detail" ON public.m_savings_account_transaction USING btree (payment_detail_id); + + +-- Name: FK_m_savings_interest_incentives_m_savings_interest_rate_slab; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_savings_interest_incentives_m_savings_interest_rate_slab" ON public.m_savings_interest_incentives USING btree (deposit_account_interest_rate_slab_id); + + +-- Name: FK_m_share_account_dividend_details_account_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_share_account_dividend_details_account_id" ON public.m_share_account_dividend_details USING btree (account_id); + + +-- Name: FK_m_share_account_dividend_details_dividend_pay_out_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_share_account_dividend_details_dividend_pay_out_id" ON public.m_share_account_dividend_details USING btree (dividend_pay_out_id); + + +-- Name: FK_m_share_product_dividend_pay_out_createdby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_share_product_dividend_pay_out_createdby_id" ON public.m_share_product_dividend_pay_out USING btree (createdby_id); + + +-- Name: FK_m_share_product_dividend_pay_out_lastmodifiedby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_share_product_dividend_pay_out_lastmodifiedby_id" ON public.m_share_product_dividend_pay_out USING btree (lastmodifiedby_id); + + +-- Name: FK_m_share_product_dividend_pay_out_product_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_share_product_dividend_pay_out_product_id" ON public.m_share_product_dividend_pay_out USING btree (product_id); + + +-- Name: FK_m_staff_assignment_history_centre_id_m_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_staff_assignment_history_centre_id_m_group" ON public.m_staff_assignment_history USING btree (centre_id); + + +-- Name: FK_m_staff_assignment_history_m_staff; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_staff_assignment_history_m_staff" ON public.m_staff_assignment_history USING btree (staff_id); + + +-- Name: FK_m_staff_m_image; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_staff_m_image" ON public.m_staff USING btree (image_id); + + +-- Name: FK_m_staff_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_staff_m_office" ON public.m_staff USING btree (office_id); + + +-- Name: FK_m_standing_instructions_account_transfer_details; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_standing_instructions_account_transfer_details" ON public.m_account_transfer_standing_instructions USING btree (account_transfer_details_id); + + +-- Name: FK_m_tellers_gl_account_credit_account_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_tellers_gl_account_credit_account_id" ON public.m_tellers USING btree (credit_account_id); + + +-- Name: FK_m_tellers_gl_account_debit_account_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_m_tellers_gl_account_debit_account_id" ON public.m_tellers USING btree (debit_account_id); + + +-- Name: FK_mappings_m_floating_rates; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_floating_rates" ON public.m_floating_rates_periods USING btree (floating_rates_id); + + +-- Name: FK_mappings_m_floating_rates_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_floating_rates_id" ON public.m_product_loan_floating_rates USING btree (floating_rates_id); + + +-- Name: FK_mappings_m_loan_repayment_schedule; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_loan_repayment_schedule" ON public.m_loan_transaction_repayment_schedule_mapping USING btree (loan_repayment_schedule_id); + + +-- Name: FK_mappings_m_loan_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_loan_transaction" ON public.m_loan_transaction_repayment_schedule_mapping USING btree (loan_transaction_id); + + +-- Name: FK_mappings_m_product_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_product_loan_id" ON public.m_product_loan_floating_rates USING btree (loan_product_id); + + +-- Name: FK_mappings_m_variable_product_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_mappings_m_variable_product_loan_id" ON public.m_product_loan_variable_installment_config USING btree (loan_product_id); + + +-- Name: FK_office_mapping_acc_gl_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_office_mapping_acc_gl_account" ON public.acc_gl_financial_activity_account USING btree (gl_account_id); + + +-- Name: FK_rejectedon_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_rejectedon_userid" ON public.m_loan USING btree (rejectedon_userid); + + +-- Name: FK_savings_account_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_savings_account_id" ON public.m_note USING btree (savings_account_id); + + +-- Name: FK_savings_account_tax_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_savings_account_tax_group" ON public.m_savings_account USING btree (tax_group_id); + + +-- Name: FK_savings_account_transaction_tax_details_savings_transaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_savings_account_transaction_tax_details_savings_transaction" ON public.m_savings_account_transaction_tax_details USING btree (savings_transaction_id); + + +-- Name: FK_savings_account_transaction_tax_details_tax_component; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_savings_account_transaction_tax_details_tax_component" ON public.m_savings_account_transaction_tax_details USING btree (tax_component_id); + + +-- Name: FK_savings_product_tax_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_savings_product_tax_group" ON public.m_savings_product USING btree (tax_group_id); + + +-- Name: FK_tax_component_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_createdby" ON public.m_tax_component USING btree (createdby_id); + + +-- Name: FK_tax_component_credit_gl_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_credit_gl_account" ON public.m_tax_component USING btree (credit_account_id); + + +-- Name: FK_tax_component_debit_gl_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_debit_gl_account" ON public.m_tax_component USING btree (debit_account_id); + + +-- Name: FK_tax_component_history_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_history_createdby" ON public.m_tax_component_history USING btree (createdby_id); + + +-- Name: FK_tax_component_history_lastmodifiedby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_history_lastmodifiedby" ON public.m_tax_component_history USING btree (lastmodifiedby_id); + + +-- Name: FK_tax_component_history_tax_component_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_history_tax_component_id" ON public.m_tax_component_history USING btree (tax_component_id); + + +-- Name: FK_tax_component_lastmodifiedby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_component_lastmodifiedby" ON public.m_tax_component USING btree (lastmodifiedby_id); + + +-- Name: FK_tax_group_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_createdby" ON public.m_tax_group USING btree (createdby_id); + + +-- Name: FK_tax_group_lastmodifiedby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_lastmodifiedby" ON public.m_tax_group USING btree (lastmodifiedby_id); + + +-- Name: FK_tax_group_mappings_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_mappings_createdby" ON public.m_tax_group_mappings USING btree (createdby_id); + + +-- Name: FK_tax_group_mappings_lastmodifiedby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_mappings_lastmodifiedby" ON public.m_tax_group_mappings USING btree (lastmodifiedby_id); + + +-- Name: FK_tax_group_mappings_tax_component; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_mappings_tax_component" ON public.m_tax_group_mappings USING btree (tax_component_id); + + +-- Name: FK_tax_group_mappings_tax_group; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_tax_group_mappings_tax_group" ON public.m_tax_group_mappings USING btree (tax_group_id); + + +-- Name: FK_withdrawnon_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_withdrawnon_userid" ON public.m_loan USING btree (withdrawnon_userid); + + +-- Name: FK_writeoffreason_m_loan_m_code_value; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_writeoffreason_m_loan_m_code_value" ON public.m_loan USING btree (writeoff_reason_cv_id); + + +-- Name: FK_x_code_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "FK_x_code_id" ON public.x_table_column_code_mappings USING btree (code_id); + + +-- Name: IK_m_cashiers_m_staff; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "IK_m_cashiers_m_staff" ON public.m_cashiers USING btree (staff_id); + + +-- Name: IK_m_cashiers_m_teller; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "IK_m_cashiers_m_teller" ON public.m_cashiers USING btree (teller_id); + + +-- Name: IK_m_teller_transactions_m_cashier; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "IK_m_teller_transactions_m_cashier" ON public.m_cashier_transactions USING btree (cashier_id); + + +-- Name: IK_m_tellers_m_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "IK_m_tellers_m_office" ON public.m_tellers USING btree (office_id); + + +-- Name: IND_acc_product_mapping_product_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "IND_acc_product_mapping_product_id" ON public.acc_product_mapping USING btree (product_id); + + +-- Name: Parent_Id_reference; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "Parent_Id_reference" ON public.m_group USING btree (parent_id); + + +-- Name: Parent_levelId_reference; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "Parent_levelId_reference" ON public.m_group_level USING btree (parent_id); + + +-- Name: acc_gl_journal_entry_annual_summary_idx_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX acc_gl_journal_entry_annual_summary_idx_1 ON public.acc_gl_journal_entry_annual_summary USING btree (gl_code, product_id); + + +-- Name: account_association_loan_fk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX account_association_loan_fk ON public.m_portfolio_account_associations USING btree (loan_account_id); + + +-- Name: account_association_savings_fk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX account_association_savings_fk ON public.m_portfolio_account_associations USING btree (savings_account_id); + + +-- Name: action_name; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX action_name ON public.m_portfolio_command_source USING btree (action_name); + + +-- Name: addressIdFk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "addressIdFk" ON public.m_client_address USING btree (address_id); + + +-- Name: address_codefk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX address_codefk ON public.m_client_address USING btree (address_type_id); + + +-- Name: address_fields_codefk1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX address_fields_codefk1 ON public.m_address USING btree (state_province_id); + + +-- Name: address_fields_codefk2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX address_fields_codefk2 ON public.m_address USING btree (country_id); + + +-- Name: approved_by_user_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX approved_by_user_id ON public.m_loan_reschedule_request USING btree (approved_by_user_id); + + +-- Name: borrower_cycle_loan_product_FK; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "borrower_cycle_loan_product_FK" ON public.m_product_loan_variations_borrower_cycle USING btree (loan_product_id); + + +-- Name: category_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX category_id ON public.m_loanproduct_provisioning_entry USING btree (category_id); + + +-- Name: cbConfigfk1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "cbConfigfk1" ON public.m_creditbureau_configuration USING btree (organisation_creditbureau_id); + + +-- Name: cbId; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "cbId" ON public.m_creditreport USING btree (credit_bureau_id); + + +-- Name: charge_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX charge_id ON public.m_loan_charge USING btree (charge_id); + + +-- Name: checked_on_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX checked_on_date ON public.m_portfolio_command_source USING btree (checked_on_date); + + +-- Name: client_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX client_id ON public.m_group_client USING btree (client_id); + + +-- Name: client_staff_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX client_staff_id ON public.m_client USING btree (staff_id); + + +-- Name: clientaddressfk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX clientaddressfk ON public.m_client_address USING btree (client_id); + + +-- Name: createdby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX createdby_id ON public.m_adhoc USING btree (createdby_id); + + +-- Name: entity_name; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX entity_name ON public.m_portfolio_command_source USING btree (entity_name, resource_id); + + +-- Name: expense_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX expense_account ON public.m_loanproduct_provisioning_entry USING btree (expense_account); + + +-- Name: fk1e37728b783c5c25; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk1e37728b783c5c25 ON public.m_office_transaction USING btree (from_office_id); + + +-- Name: fk1e37728b93c6c1b6; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk1e37728b93c6c1b6 ON public.m_office_transaction USING btree (to_office_id); + + +-- Name: fk2291c477e2551dcc; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk2291c477e2551dcc ON public.m_office USING btree (parent_id); + + +-- Name: fk488b92aa40be0710; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk488b92aa40be0710 ON public.m_loan_repayment_schedule USING btree (loan_id); + + +-- Name: fk7662ce5915cec7ab; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7662ce5915cec7ab ON public.m_appuser_role USING btree (role_id); + + +-- Name: fk7662ce59b4100309; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7662ce59b4100309 ON public.m_appuser_role USING btree (appuser_id); + + +-- Name: fk7c885877240145; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c885877240145 ON public.m_loan USING btree (fund_id); + + +-- Name: fk7c9708924d26803; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c9708924d26803 ON public.m_note USING btree (loan_transaction_id); + + +-- Name: fk7c9708940be0710; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c9708940be0710 ON public.m_note USING btree (loan_id); + + +-- Name: fk7c97089541f0a56; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c97089541f0a56 ON public.m_note USING btree (created_by); + + +-- Name: fk7c970897179a0cb; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c970897179a0cb ON public.m_note USING btree (client_id); + + +-- Name: fk7c970898f889c3f; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk7c970898f889c3f ON public.m_note USING btree (last_modified_by); + + +-- Name: fk8dedb048103b544b; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk8dedb048103b544b ON public.m_role_permission USING btree (permission_id); + + +-- Name: fk8dedb04815cec7ab; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk8dedb04815cec7ab ON public.m_role_permission USING btree (role_id); + + +-- Name: fkClient; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkClient" ON public.m_client_collateral_management USING btree (client_id); + + +-- Name: fkClientCollateral; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkClientCollateral" ON public.m_loan_collateral_management USING btree (client_collateral_id); + + +-- Name: fkCollateral; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkCollateral" ON public.m_client_collateral_management USING btree (collateral_id); + + +-- Name: fkCurrencyCode; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkCurrencyCode" ON public.m_collateral_management USING btree (currency); + + +-- Name: fkLoan; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkLoan" ON public.m_loan_collateral_management USING btree (loan_id); + + +-- Name: fkTransaction; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "fkTransaction" ON public.m_loan_collateral_management USING btree (transaction_id); + + +-- Name: fk_acc_0000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_acc_0000000001 ON public.acc_gl_account USING btree (parent_id); + + +-- Name: fk_cb_lp2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_cb_lp2 ON public.m_creditbureau_loanproduct_mapping USING btree (loan_product_id); + + +-- Name: fk_hook_configuration_hook; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_hook_configuration_hook ON public.m_hook_configuration USING btree (hook_id); + + +-- Name: fk_hook_id_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_hook_id_idx ON public.m_hook_registered_events USING btree (hook_id); + + +-- Name: fk_hook_template_id_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_hook_template_id_idx ON public.m_hook_schema USING btree (hook_template_id); + + +-- Name: fk_interop_identifier_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_interop_identifier_account ON public.interop_identifier USING btree (account_id); + + +-- Name: fk_loanproduct_criteria_definition_criteria; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_loanproduct_criteria_definition_criteria ON public.m_provisioning_criteria_definition USING btree (criteria_id); + + +-- Name: fk_loanproduct_provisioning_entry_criteria; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_loanproduct_provisioning_entry_criteria ON public.m_loanproduct_provisioning_entry USING btree (criteria_id); + + +-- Name: fk_loanproduct_provisioning_mapping_criteria; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_loanproduct_provisioning_mapping_criteria ON public.m_loanproduct_provisioning_mapping USING btree (criteria_id); + + +-- Name: fk_m_appuser_002x; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_appuser_002x ON public.m_appuser USING btree (staff_id); + + +-- Name: fk_m_group_client_001_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_group_client_001_idx ON public.m_loan USING btree (group_id, client_id); + + +-- Name: fk_m_loan_officer_assignment_history_0001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_loan_officer_assignment_history_0001 ON public.m_loan_officer_assignment_history USING btree (loan_id); + + +-- Name: fk_m_loan_officer_assignment_history_0002; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_loan_officer_assignment_history_0002 ON public.m_loan_officer_assignment_history USING btree (loan_officer_id); + + +-- Name: fk_m_loan_rate_rate; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_loan_rate_rate ON public.m_loan_rate USING btree (rate_id); + + +-- Name: fk_m_product_loan_configurable_attributes_0001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_product_loan_configurable_attributes_0001 ON public.m_product_loan_configurable_attributes USING btree (loan_product_id); + + +-- Name: fk_m_product_loan_rate_rate; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_product_loan_rate_rate ON public.m_product_loan_rate USING btree (rate_id); + + +-- Name: fk_m_rate_approve_user; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_rate_approve_user ON public.m_rate USING btree (approve_user); + + +-- Name: fk_m_rate_create_user; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_rate_create_user ON public.m_rate USING btree (createdby_id); + + +-- Name: fk_m_savings_officer_assignment_history_0001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_savings_officer_assignment_history_0001 ON public.m_savings_officer_assignment_history USING btree (account_id); + + +-- Name: fk_m_savings_officer_assignment_history_0002; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_m_savings_officer_assignment_history_0002 ON public.m_savings_officer_assignment_history USING btree (savings_officer_id); + + +-- Name: fk_product_loan_charge_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_product_loan_charge_charge ON public.m_product_loan_charge USING btree (charge_id); + + +-- Name: fk_provisioning_criteria_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_provisioning_criteria_createdby ON public.m_provisioning_criteria USING btree (createdby_id); + + +-- Name: fk_provisioning_criteria_definition_category; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_provisioning_criteria_definition_category ON public.m_provisioning_criteria_definition USING btree (category_id); + + +-- Name: fk_provisioning_criteria_definition_expense_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_provisioning_criteria_definition_expense_account ON public.m_provisioning_criteria_definition USING btree (expense_account); + + +-- Name: fk_provisioning_history_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_provisioning_history_createdby ON public.m_provisioning_history USING btree (createdby_id); + + +-- Name: fk_report_mailing_job_createdby; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_report_mailing_job_createdby ON public.m_report_mailing_job USING btree (createdby_id); + + +-- Name: fk_report_parameter_001_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_report_parameter_001_idx ON public.stretchy_report_parameter USING btree (report_id); + + +-- Name: fk_report_parameter_002_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_report_parameter_002_idx ON public.stretchy_report_parameter USING btree (parameter_id); + + +-- Name: fk_savings_account_charge_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_savings_account_charge_charge ON public.m_savings_account_charge USING btree (charge_id); + + +-- Name: fk_savings_product_charge_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_savings_product_charge_charge ON public.m_savings_product_charge USING btree (charge_id); + + +-- Name: fk_schedule_email_campign1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_schedule_email_campign1 ON public.scheduled_email_messages_outbound USING btree (email_campaign_id); + + +-- Name: fk_share_account_charge_charge; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_share_account_charge_charge ON public.m_share_account_charge USING btree (charge_id); + + +-- Name: fk_stretchy_parameter_001_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_stretchy_parameter_001_idx ON public.stretchy_parameter USING btree (parent_id); + + +-- Name: fk_survey_scorecards_client; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_survey_scorecards_client ON public.m_survey_scorecards USING btree (client_id); + + +-- Name: fk_template_id_idx; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_template_id_idx ON public.m_hook USING btree (template_id); + + +-- Name: fk_ugd_template_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fk_ugd_template_id ON public.m_hook USING btree (ugd_template_id); + + +-- Name: fka6a8a7d77240145; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fka6a8a7d77240145 ON public.m_product_loan USING btree (fund_id); + + +-- Name: fkb3d587ce0dd567a; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkb3d587ce0dd567a ON public.m_appuser USING btree (office_id); + + +-- Name: fkb6f935d87179a0cb; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkb6f935d87179a0cb ON public.m_loan USING btree (client_id); + + +-- Name: fkb6f935d8c8d4b434; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkb6f935d8c8d4b434 ON public.m_loan USING btree (product_id); + + +-- Name: fkcampaign00000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkcampaign00000001 ON public.sms_messages_outbound USING btree (campaign_id); + + +-- Name: fkce00cab3e0dd567a; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkce00cab3e0dd567a ON public.m_client USING btree (office_id); + + +-- Name: fkcfcea42640be0710; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkcfcea42640be0710 ON public.m_loan_transaction USING btree (loan_id); + + +-- Name: fkcfcea42640be071z; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkcfcea42640be071z ON public.m_code_value USING btree (code_id); + + +-- Name: fkclient00000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkclient00000001 ON public.sms_messages_outbound USING btree (client_id); + + +-- Name: fkdard00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkdard00000000000001 ON public.m_deposit_account_recurring_detail USING btree (savings_account_id); + + +-- Name: fkdatp00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkdatp00000000000001 ON public.m_deposit_account_term_and_preclosure USING btree (savings_account_id); + + +-- Name: fkdpirc00000000000002; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkdpirc00000000000002 ON public.m_deposit_product_interest_rate_chart USING btree (interest_rate_chart_id); + + +-- Name: fkdprd00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkdprd00000000000001 ON public.m_deposit_product_recurring_detail USING btree (savings_product_id); + + +-- Name: fkdptp00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkdptp00000000000001 ON public.m_deposit_product_term_and_preclosure USING btree (savings_product_id); + + +-- Name: fkglacc000000002; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkglacc000000002 ON public.acc_gl_account USING btree (tag_id); + + +-- Name: fkgroup000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkgroup000000001 ON public.sms_messages_outbound USING btree (group_id); + + +-- Name: fkirs00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkirs00000000000001 ON public.m_interest_rate_slab USING btree (interest_rate_chart_id); + + +-- Name: fkloanrepayment; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkloanrepayment ON public.m_repayment_with_post_dated_checks USING btree (loan_id); + + +-- Name: fkmss0000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkmss0000000001 ON public.m_mandatory_savings_schedule USING btree (savings_account_id); + + +-- Name: fkrepaymentwithpostdated; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkrepaymentwithpostdated ON public.m_repayment_with_post_dated_checks USING btree (repayment_id); + + +-- Name: fksa00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksa00000000000001 ON public.m_savings_account USING btree (client_id); + + +-- Name: fksa00000000000002; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksa00000000000002 ON public.m_savings_account USING btree (group_id); + + +-- Name: fksa00000000000003; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksa00000000000003 ON public.m_savings_account USING btree (product_id); + + +-- Name: fksairc00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksairc00000000000001 ON public.m_savings_account_interest_rate_chart USING btree (savings_account_id); + + +-- Name: fksairs00000000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksairs00000000000001 ON public.m_savings_account_interest_rate_slab USING btree (savings_account_interest_rate_chart_id); + + +-- Name: fksat0000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fksat0000000001 ON public.m_savings_account_transaction USING btree (savings_account_id); + + +-- Name: fkstaff000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX fkstaff000000001 ON public.sms_messages_outbound USING btree (staff_id); + + +-- Name: group_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX group_id ON public.m_loan USING btree (group_id); + + +-- Name: group_office_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX group_office_id ON public.m_group USING btree (office_id); + + +-- Name: history_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX history_id ON public.m_loanproduct_provisioning_entry USING btree (history_id); + + +-- Name: idx2_m_journal_entry_aggregation_tracking; Type: INDEX; Schema: public; Owner: - + +CREATE UNIQUE INDEX idx2_m_journal_entry_aggregation_tracking ON public.m_journal_entry_aggregation_tracking USING btree (aggregated_on_date_to); + + +-- Name: idx_acc_gl_journal_entry_transaction_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_acc_gl_journal_entry_transaction_id ON public.acc_gl_journal_entry USING btree (transaction_id); + + +-- Name: idx_batch_job_execution_job_instance_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_batch_job_execution_job_instance_id ON public.batch_job_execution USING btree (job_instance_id); + + +-- Name: idx_batch_step_execution_step_name_job_execution_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_batch_step_execution_step_name_job_execution_id ON public.batch_step_execution USING btree (job_execution_id, step_name, start_time); + + +-- Name: idx_journal_entry_aggregation_summary; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_journal_entry_aggregation_summary ON public.m_journal_entry_aggregation_summary USING btree (submitted_on_date, gl_account_id); + + +-- Name: idx_m_calendar_instance_entity_id_entity_type; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_calendar_instance_entity_id_entity_type ON public.m_calendar_instance USING btree (entity_id, entity_type_enum); + + +-- Name: idx_m_jour_ent_aggr_sum_aggr_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_jour_ent_aggr_sum_aggr_date ON public.m_journal_entry_aggregation_summary USING btree (aggregated_on_date); + + +-- Name: idx_m_jour_ent_aggr_sum_job_exec_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_jour_ent_aggr_sum_job_exec_id ON public.m_journal_entry_aggregation_summary USING btree (job_execution_id); + + +-- Name: idx_m_jour_ent_aggr_sum_office_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_jour_ent_aggr_sum_office_id ON public.m_journal_entry_aggregation_summary USING btree (office_id); + + +-- Name: idx_m_jour_ent_aggr_sum_prod_id_entity_type; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_jour_ent_aggr_sum_prod_id_entity_type ON public.m_journal_entry_aggregation_summary USING btree (product_id, entity_type_enum); + + +-- Name: idx_m_jour_ent_aggr_trac_job_exec_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_jour_ent_aggr_trac_job_exec_id ON public.m_journal_entry_aggregation_tracking USING btree (job_execution_id); + + +-- Name: idx_m_journal_entry_aggregation_tracking; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_journal_entry_aggregation_tracking ON public.m_journal_entry_aggregation_tracking USING btree (submitted_on_date); + + +-- Name: idx_m_loan_am_all_map_amort_loan_txn_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_am_all_map_amort_loan_txn_id ON public.m_loan_amortization_allocation_mapping USING btree (amortization_loan_transaction_id); + + +-- Name: idx_m_loan_am_all_map_base_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_am_all_map_base_loan_id ON public.m_loan_amortization_allocation_mapping USING btree (loan_id); + + +-- Name: idx_m_loan_am_all_map_base_loan_txn_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_am_all_map_base_loan_txn_id ON public.m_loan_amortization_allocation_mapping USING btree (base_loan_transaction_id); + + +-- Name: idx_m_loan_transaction_relation_from_loan_transaction_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_transaction_relation_from_loan_transaction_id ON public.m_loan_transaction_relation USING btree (from_loan_transaction_id); + + +-- Name: idx_m_loan_transaction_relation_to_loan_charge_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_transaction_relation_to_loan_charge_id ON public.m_loan_transaction_relation USING btree (to_loan_charge_id); + + +-- Name: idx_m_loan_transaction_relation_to_loan_transaction_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_m_loan_transaction_relation_to_loan_transaction_id ON public.m_loan_transaction_relation USING btree (to_loan_transaction_id); + + +-- Name: idx_office; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX idx_office ON public.m_entity_to_entity_access USING btree (entity_type, entity_id); + + +-- Name: import_document_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX import_document_id ON public.m_import_document USING btree (document_id); + + +-- Name: ind_batch_job_execution_params; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX ind_batch_job_execution_params ON public.batch_job_execution_params USING btree (job_execution_id); + + +-- Name: ind_m_loan_delinquency_tag_history_liftedon_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX ind_m_loan_delinquency_tag_history_liftedon_date ON public.m_loan_delinquency_tag_history USING btree (liftedon_date); + + +-- Name: ind_m_loan_delinquency_tag_history_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX ind_m_loan_delinquency_tag_history_loan_id ON public.m_loan_delinquency_tag_history USING btree (loan_id); + + +-- Name: job_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX job_id ON public.m_report_mailing_job_run_history USING btree (job_id); + + +-- Name: last_time_password_updated; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX last_time_password_updated ON public.m_appuser USING btree (last_time_password_updated); + + +-- Name: lastmodifiedby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX lastmodifiedby_id ON public.m_adhoc USING btree (lastmodifiedby_id); + + +-- Name: linked_loan_fk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX linked_loan_fk ON public.m_portfolio_account_associations USING btree (linked_loan_account_id); + + +-- Name: linked_savings_fk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX linked_savings_fk ON public.m_portfolio_account_associations USING btree (linked_savings_account_id); + + +-- Name: loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loan_id ON public.m_loan_repayment_schedule_history USING btree (loan_id); + + +-- Name: loan_reschedule_request_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loan_reschedule_request_id ON public.m_loan_repayment_schedule_history USING btree (loan_reschedule_request_id); + + +-- Name: loan_reschedule_request_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loan_reschedule_request_loan_id ON public.m_loan_reschedule_request USING btree (loan_id); + + +-- Name: loanproduct_provisioning_entry_liability_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loanproduct_provisioning_entry_liability_account ON public.m_loanproduct_provisioning_entry USING btree (liability_account); + + +-- Name: loanproduct_provisioning_entry_office_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loanproduct_provisioning_entry_office_id ON public.m_loanproduct_provisioning_entry USING btree (office_id); + + +-- Name: loanproduct_provisioning_entry_product_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX loanproduct_provisioning_entry_product_id ON public.m_loanproduct_provisioning_entry USING btree (product_id); + + +-- Name: m_external_event_business_date_index; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_external_event_business_date_index ON public.m_external_event USING btree (business_date); + + +-- Name: m_external_event_status_index; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_external_event_status_index ON public.m_external_event USING btree (status); + + +-- Name: m_holiday_id_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_holiday_id_ibfk_1 ON public.m_holiday_office USING btree (holiday_id); + + +-- Name: m_loan_buy_down_fee_balance_idx_1; Type: INDEX; Schema: public; Owner: - + +CREATE UNIQUE INDEX m_loan_buy_down_fee_balance_idx_1 ON public.m_loan_buy_down_fee_balance USING btree (loan_id, loan_transaction_id); + + +-- Name: m_loan_buy_down_fee_balance_idx_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_loan_buy_down_fee_balance_idx_2 ON public.m_loan_buy_down_fee_balance USING btree (loan_id); + + +-- Name: m_loan_capitalized_income_balance_idx_1; Type: INDEX; Schema: public; Owner: - + +CREATE UNIQUE INDEX m_loan_capitalized_income_balance_idx_1 ON public.m_loan_capitalized_income_balance USING btree (loan_id, loan_transaction_id); + + +-- Name: m_loan_capitalized_income_balance_idx_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_loan_capitalized_income_balance_idx_2 ON public.m_loan_capitalized_income_balance USING btree (loan_id); + + +-- Name: m_loan_charge_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_loan_charge_ibfk_2 ON public.m_loan_charge USING btree (loan_id); + + +-- Name: m_loan_topup_FK_account_transfer_details_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "m_loan_topup_FK_account_transfer_details_id" ON public.m_loan_topup USING btree (account_transfer_details_id); + + +-- Name: m_loan_topup_FK_closure_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "m_loan_topup_FK_closure_loan_id" ON public.m_loan_topup USING btree (closure_loan_id); + + +-- Name: m_loan_topup_FK_loan_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "m_loan_topup_FK_loan_id" ON public.m_loan_topup USING btree (loan_id); + + +-- Name: m_office_id_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_office_id_ibfk_2 ON public.m_holiday_office USING btree (office_id); + + +-- Name: m_savings_account_charge_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_savings_account_charge_ibfk_2 ON public.m_savings_account_charge USING btree (savings_account_id); + + +-- Name: m_share_account_charge_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_charge_ibfk_2 ON public.m_share_account_charge USING btree (account_id); + + +-- Name: m_share_account_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_1 ON public.m_share_account USING btree (product_id); + + +-- Name: m_share_account_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_2 ON public.m_share_account USING btree (savings_account_id); + + +-- Name: m_share_account_ibfk_3; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_3 ON public.m_share_account USING btree (submitted_userid); + + +-- Name: m_share_account_ibfk_4; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_4 ON public.m_share_account USING btree (approved_userid); + + +-- Name: m_share_account_ibfk_5; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_5 ON public.m_share_account USING btree (rejected_userid); + + +-- Name: m_share_account_ibfk_6; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_6 ON public.m_share_account USING btree (activated_userid); + + +-- Name: m_share_account_ibfk_7; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_7 ON public.m_share_account USING btree (closed_userid); + + +-- Name: m_share_account_ibfk_8; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_8 ON public.m_share_account USING btree (lastmodifiedby_id); + + +-- Name: m_share_account_ibfk_9; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_ibfk_9 ON public.m_share_account USING btree (client_id); + + +-- Name: m_share_account_purchased_shares_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_purchased_shares_ibfk_1 ON public.m_share_account_transactions USING btree (account_id); + + +-- Name: m_share_account_transactions_charge_mapping_ibfk1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_transactions_charge_mapping_ibfk1 ON public.m_share_account_charge_paid_by USING btree (share_transaction_id); + + +-- Name: m_share_account_transactions_charge_mapping_ibfk2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_account_transactions_charge_mapping_ibfk2 ON public.m_share_account_charge_paid_by USING btree (charge_transaction_id); + + +-- Name: m_share_product_charge_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_product_charge_ibfk_1 ON public.m_share_product_charge USING btree (charge_id); + + +-- Name: m_share_product_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_product_ibfk_1 ON public.m_share_product USING btree (createdby_id); + + +-- Name: m_share_product_ibfk_2; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_product_ibfk_2 ON public.m_share_product USING btree (lastmodifiedby_id); + + +-- Name: m_share_product_market_price_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_share_product_market_price_ibfk_1 ON public.m_share_product_market_price USING btree (product_id); + + +-- Name: m_template_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX m_template_id ON public.m_template_m_templatemappers USING btree (m_template_id); + + +-- Name: made_on_date; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX made_on_date ON public.m_portfolio_command_source USING btree (made_on_date); + + +-- Name: notification_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX notification_id ON public.notification_mapper USING btree (notification_id); + + +-- Name: notification_mapper_user; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX notification_mapper_user ON public.notification_mapper USING btree (user_id); + + +-- Name: orgcb_cbfk; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX orgcb_cbfk ON public.m_organisation_creditbureau USING btree (creditbureau_id); + + +-- Name: portfolio_command_source_composite_index; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX portfolio_command_source_composite_index ON public.m_portfolio_command_source USING btree (action_name, entity_name, idempotency_key); + + +-- Name: portfolio_command_source_office_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX portfolio_command_source_office_id ON public.m_portfolio_command_source USING btree (office_id); + + +-- Name: processing_result_enum; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX processing_result_enum ON public.m_portfolio_command_source USING btree (status); + + +-- Name: product_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX product_id ON public.m_entity_datatable_check USING btree (product_id); + + +-- Name: provisioning_criteria_definition_liability_account; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX provisioning_criteria_definition_liability_account ON public.m_provisioning_criteria_definition USING btree (liability_account); + + +-- Name: provisioning_criteria_lastmodifiedby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX provisioning_criteria_lastmodifiedby_id ON public.m_provisioning_criteria USING btree (lastmodifiedby_id); + + +-- Name: provisioning_history_lastmodifiedby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX provisioning_history_lastmodifiedby_id ON public.m_provisioning_history USING btree (lastmodifiedby_id); + + +-- Name: rejected_by_user_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX rejected_by_user_id ON public.m_loan_reschedule_request USING btree (rejected_by_user_id); + + +-- Name: report_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX report_id ON public.sms_campaign USING btree (report_id); + + +-- Name: report_mailing_job_lastmodifiedby_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX report_mailing_job_lastmodifiedby_id ON public.m_report_mailing_job USING btree (lastmodifiedby_id); + + +-- Name: reschedule_reason_cv_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX reschedule_reason_cv_id ON public.m_loan_reschedule_request USING btree (reschedule_reason_cv_id); + + +-- Name: response_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX response_id ON public.m_survey_scorecards USING btree (response_id); + + +-- Name: run_as_userid; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX run_as_userid ON public.m_report_mailing_job USING btree (run_as_userid); + + +-- Name: savings_account_transaction_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX savings_account_transaction_id ON public.m_note USING btree (savings_account_transaction_id); + + +-- Name: scheduled_email_campaign_ibfk_1; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX scheduled_email_campaign_ibfk_1 ON public.scheduled_email_campaign USING btree (stretchy_report_id); + + +-- Name: scheduledjobsFK; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "scheduledjobsFK" ON public.job_run_history USING btree (job_id); + + +-- Name: sefkclient00000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX sefkclient00000001 ON public.scheduled_email_messages_outbound USING btree (client_id); + + +-- Name: sefkgroup000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX sefkgroup000000001 ON public.scheduled_email_messages_outbound USING btree (group_id); + + +-- Name: sefkstaff000000001; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX sefkstaff000000001 ON public.scheduled_email_messages_outbound USING btree (staff_id); + + +-- Name: staff_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX staff_id ON public.m_group USING btree (staff_id); + + +-- Name: stretchy_report_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX stretchy_report_id ON public.m_report_mailing_job USING btree (stretchy_report_id); + + +-- Name: submitted_by_user_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX submitted_by_user_id ON public.m_loan_reschedule_request USING btree (submitted_by_user_id); + + +-- Name: survey_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_id ON public.m_survey_components USING btree (survey_id); + + +-- Name: survey_lookup_tables_survey_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_lookup_tables_survey_id ON public.m_survey_lookup_tables USING btree (survey_id); + + +-- Name: survey_questions_survey_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_questions_survey_id ON public.m_survey_questions USING btree (survey_id); + + +-- Name: survey_responses_question_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_responses_question_id ON public.m_survey_responses USING btree (question_id); + + +-- Name: survey_scorecards_question_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_scorecards_question_id ON public.m_survey_scorecards USING btree (question_id); + + +-- Name: survey_scorecards_survey_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_scorecards_survey_id ON public.m_survey_scorecards USING btree (survey_id); + + +-- Name: survey_scorecards_user_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX survey_scorecards_user_id ON public.m_survey_scorecards USING btree (user_id); + + +-- Name: token; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX token ON public.twofactor_access_token USING btree (token); + + +-- Name: transaction_date_index; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX transaction_date_index ON public.acc_gl_journal_entry USING btree (transaction_date); + + +-- Name: transfer_to_savings_account_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX transfer_to_savings_account_id ON public.m_deposit_account_term_and_preclosure USING btree (transfer_to_savings_account_id); + + +-- Name: user; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX "user" ON public.twofactor_access_token USING btree (appuser_id); + + +-- Name: user_id; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX user_id ON public.m_appuser_previous_password USING btree (user_id); + + +-- Name: x_registered_table_name; Type: INDEX; Schema: public; Owner: - + +CREATE INDEX x_registered_table_name ON public.m_entity_datatable_check USING btree (x_registered_table_name); + + +-- Name: m_client FK1_m_client_gender_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK1_m_client_gender_m_code_value" FOREIGN KEY (gender_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: request_audit_table FK1_request_audit_table_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.request_audit_table + ADD CONSTRAINT "FK1_request_audit_table_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_roles FKGroupRoleClientId; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_roles + ADD CONSTRAINT "FKGroupRoleClientId" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_roles FKGroupRoleGroupId; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_roles + ADD CONSTRAINT "FKGroupRoleGroupId" FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_charge_paid_by FK__m_loan_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge_paid_by + ADD CONSTRAINT "FK__m_loan_charge" FOREIGN KEY (loan_charge_id) REFERENCES public.m_loan_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request_term_variations_mapping FK__m_loan_reschedule_request; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request_term_variations_mapping + ADD CONSTRAINT "FK__m_loan_reschedule_request" FOREIGN KEY (loan_reschedule_request_id) REFERENCES public.m_loan_reschedule_request(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request_term_variations_mapping FK__m_loan_term_variations; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request_term_variations_mapping + ADD CONSTRAINT "FK__m_loan_term_variations" FOREIGN KEY (loan_term_variations_id) REFERENCES public.m_loan_term_variations(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_charge_paid_by FK__m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge_paid_by + ADD CONSTRAINT "FK__m_loan_transaction" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge_paid_by FK__m_savings_account_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge_paid_by + ADD CONSTRAINT "FK__m_savings_account_charge" FOREIGN KEY (savings_account_charge_id) REFERENCES public.m_savings_account_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge_paid_by FK__m_savings_account_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge_paid_by + ADD CONSTRAINT "FK__m_savings_account_transaction" FOREIGN KEY (savings_account_transaction_id) REFERENCES public.m_savings_account_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_entity_to_entity_mapping FK__rel_id_m_entity_relation_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_mapping + ADD CONSTRAINT "FK__rel_id_m_entity_relation_id" FOREIGN KEY (rel_id) REFERENCES public.m_entity_relation(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_accounting_rule FK_acc_accounting_rule_acc_gl_account_credit; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_accounting_rule + ADD CONSTRAINT "FK_acc_accounting_rule_acc_gl_account_credit" FOREIGN KEY (credit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_accounting_rule FK_acc_accounting_rule_acc_gl_account_debit; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_accounting_rule + ADD CONSTRAINT "FK_acc_accounting_rule_acc_gl_account_debit" FOREIGN KEY (debit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_rule_tags FK_acc_accounting_rule_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_rule_tags + ADD CONSTRAINT "FK_acc_accounting_rule_id" FOREIGN KEY (acc_rule_id) REFERENCES public.acc_accounting_rule(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_accounting_rule FK_acc_accounting_rule_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_accounting_rule + ADD CONSTRAINT "FK_acc_accounting_rule_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_closure FK_acc_gl_closure_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_closure + ADD CONSTRAINT "FK_acc_gl_closure_m_appuser" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_closure FK_acc_gl_closure_m_appuser_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_closure + ADD CONSTRAINT "FK_acc_gl_closure_m_appuser_2" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_closure FK_acc_gl_closure_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_closure + ADD CONSTRAINT "FK_acc_gl_closure_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_acc_gl_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_acc_gl_account" FOREIGN KEY (account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_acc_gl_journal_entry; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_acc_gl_journal_entry" FOREIGN KEY (reversal_id) REFERENCES public.acc_gl_journal_entry(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_appuser" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_appuser_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_appuser_2" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_client_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_client_transaction" FOREIGN KEY (client_transaction_id) REFERENCES public.m_client_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_loan_transaction" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_payment_detail; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_payment_detail" FOREIGN KEY (payment_details_id) REFERENCES public.m_payment_detail(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_savings_account_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_savings_account_transaction" FOREIGN KEY (savings_transaction_id) REFERENCES public.m_savings_account_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_acc_gl_journal_entry_m_share_account_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_acc_gl_journal_entry_m_share_account_transaction" FOREIGN KEY (share_transaction_id) REFERENCES public.m_share_account_transactions(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_product_mapping FK_acc_product_mapping_gl_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT "FK_acc_product_mapping_gl_account_id" FOREIGN KEY (gl_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_product_mapping FK_acc_product_mapping_m_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT "FK_acc_product_mapping_m_charge" FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_product_mapping FK_acc_product_mapping_m_payment_type; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT "FK_acc_product_mapping_m_payment_type" FOREIGN KEY (payment_type) REFERENCES public.m_payment_type(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_entity_to_entity_access FK_access_type_code_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_to_entity_access + ADD CONSTRAINT "FK_access_type_code_m_code_value" FOREIGN KEY (access_type_code_value_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_interest_recalculation_additional_details FK_additional_details_repayment_schedule_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_interest_recalculation_additional_details + ADD CONSTRAINT "FK_additional_details_repayment_schedule_id" FOREIGN KEY (loan_repayment_schedule_id) REFERENCES public.m_loan_repayment_schedule(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry_annual_summary FK_annual_report_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry_annual_summary + ADD CONSTRAINT "FK_annual_report_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry_annual_summary FK_annual_report_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry_annual_summary + ADD CONSTRAINT "FK_annual_report_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_approvedon_userid; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_approvedon_userid" FOREIGN KEY (approvedon_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_business_date FK_business_date_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_business_date + ADD CONSTRAINT "FK_business_date_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_business_date FK_business_date_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_business_date + ADD CONSTRAINT "FK_business_date_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: c_external_service_properties FK_c_external_service_properties_c_external_service; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.c_external_service_properties + ADD CONSTRAINT "FK_c_external_service_properties_c_external_service" FOREIGN KEY (external_service_id) REFERENCES public.c_external_service(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_calendar FK_calendar_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar + ADD CONSTRAINT "FK_calendar_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_calendar FK_calendar_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar + ADD CONSTRAINT "FK_calendar_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_client_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_client_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_non_person FK_client_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_non_person + ADD CONSTRAINT "FK_client_id" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_identifier FK_client_identifier_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT "FK_client_identifier_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_identifier FK_client_identifier_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT "FK_client_identifier_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_client_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_client_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transaction FK_client_transaction_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transaction + ADD CONSTRAINT "FK_client_transaction_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transaction FK_client_transaction_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transaction + ADD CONSTRAINT "FK_client_transaction_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_closedon_userid; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_closedon_userid" FOREIGN KEY (closedon_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_collateral FK_collateral_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral + ADD CONSTRAINT "FK_collateral_code_value" FOREIGN KEY (type_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_collateral FK_collateral_m_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral + ADD CONSTRAINT "FK_collateral_m_loan" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_on_hold_transaction FK_deposit_account_on_hold_transaction_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_on_hold_transaction + ADD CONSTRAINT "FK_deposit_account_on_hold_transaction_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_on_hold_transaction FK_deposit_account_on_hold_transaction_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_on_hold_transaction + ADD CONSTRAINT "FK_deposit_account_on_hold_transaction_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_on_hold_transaction FK_deposit_on_hold_transaction_m_savings_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_on_hold_transaction + ADD CONSTRAINT "FK_deposit_on_hold_transaction_m_savings_account" FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_disbursedon_userid; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_disbursedon_userid" FOREIGN KEY (disbursedon_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_floating_rates FK_floating_rates_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates + ADD CONSTRAINT "FK_floating_rates_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_floating_rates FK_floating_rates_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates + ADD CONSTRAINT "FK_floating_rates_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_floating_rates_periods FK_floating_rates_period_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates_periods + ADD CONSTRAINT "FK_floating_rates_period_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_floating_rates_periods FK_floating_rates_period_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates_periods + ADD CONSTRAINT "FK_floating_rates_period_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_glim_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_glim_id" FOREIGN KEY (glim_id) REFERENCES public.glim_accounts(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: glim_accounts FK_group_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.glim_accounts + ADD CONSTRAINT "FK_group_id" FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_roles FK_grouprole_m_codevalue; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_roles + ADD CONSTRAINT "FK_grouprole_m_codevalue" FOREIGN KEY (role_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: gsim_accounts FK_gsim_group_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.gsim_accounts + ADD CONSTRAINT "FK_gsim_group_id" FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account FK_gsim_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT "FK_gsim_id" FOREIGN KEY (gsim_id) REFERENCES public.gsim_accounts(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_guarantee_details FK_guarantee_details_loan_product; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_guarantee_details + ADD CONSTRAINT "FK_guarantee_details_loan_product" FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor_transaction FK_guarantor_transaction_guarantor_fund_detail; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_transaction + ADD CONSTRAINT "FK_guarantor_transaction_guarantor_fund_detail" FOREIGN KEY (guarantor_fund_detail_id) REFERENCES public.m_guarantor_funding_details(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor_transaction FK_guarantor_transaction_m_deposit_account_on_hold_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_transaction + ADD CONSTRAINT "FK_guarantor_transaction_m_deposit_account_on_hold_transaction" FOREIGN KEY (deposit_on_hold_transaction_id) REFERENCES public.m_deposit_account_on_hold_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor_transaction FK_guarantor_transaction_m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_transaction + ADD CONSTRAINT "FK_guarantor_transaction_m_loan_transaction" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: job_parameters FK_job_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.job_parameters + ADD CONSTRAINT "FK_job_id" FOREIGN KEY (job_id) REFERENCES public.job(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_journal_entry_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_journal_entry_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_journal_entry FK_journal_entry_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_journal_entry + ADD CONSTRAINT "FK_journal_entry_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_amortization_allocation_mapping FK_laam_amortization_transaction_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT "FK_laam_amortization_transaction_id" FOREIGN KEY (amortization_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_amortization_allocation_mapping FK_laam_base_transaction_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT "FK_laam_base_transaction_id" FOREIGN KEY (base_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_amortization_allocation_mapping FK_laam_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT "FK_laam_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_amortization_allocation_mapping FK_laam_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT "FK_laam_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_amortization_allocation_mapping FK_laam_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_amortization_allocation_mapping + ADD CONSTRAINT "FK_laam_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_approved_amount_history FK_loan_approved_amount_history_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_approved_amount_history + ADD CONSTRAINT "FK_loan_approved_amount_history_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_approved_amount_history FK_loan_approved_amount_history_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_approved_amount_history + ADD CONSTRAINT "FK_loan_approved_amount_history_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_approved_amount_history FK_loan_approved_amount_history_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_approved_amount_history + ADD CONSTRAINT "FK_loan_approved_amount_history_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_buy_down_fee_balance FK_loan_buy_down_fees_balance_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_buy_down_fee_balance + ADD CONSTRAINT "FK_loan_buy_down_fees_balance_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_buy_down_fee_balance FK_loan_buy_down_fees_balance_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_buy_down_fee_balance + ADD CONSTRAINT "FK_loan_buy_down_fees_balance_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_buy_down_fee_balance FK_loan_buy_down_fees_balance_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_buy_down_fee_balance + ADD CONSTRAINT "FK_loan_buy_down_fees_balance_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_buy_down_fee_balance FK_loan_buy_down_fees_balance_transaction_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_buy_down_fee_balance + ADD CONSTRAINT "FK_loan_buy_down_fees_balance_transaction_id" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_capitalized_income_balance FK_loan_capitalized_income_balance_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_capitalized_income_balance + ADD CONSTRAINT "FK_loan_capitalized_income_balance_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_capitalized_income_balance FK_loan_capitalized_income_balance_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_capitalized_income_balance + ADD CONSTRAINT "FK_loan_capitalized_income_balance_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_capitalized_income_balance FK_loan_capitalized_income_balance_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_capitalized_income_balance + ADD CONSTRAINT "FK_loan_capitalized_income_balance_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_capitalized_income_balance FK_loan_capitalized_income_balance_transaction_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_capitalized_income_balance + ADD CONSTRAINT "FK_loan_capitalized_income_balance_transaction_id" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_installment_charge FK_loan_charge_id_charge_schedule; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_installment_charge + ADD CONSTRAINT "FK_loan_charge_id_charge_schedule" FOREIGN KEY (loan_charge_id) REFERENCES public.m_loan_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_loan_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_loan_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_disbursement_detail FK_loan_disbursement_detail_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_disbursement_detail + ADD CONSTRAINT "FK_loan_disbursement_detail_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_term_variations FK_loan_id_m_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_term_variations + ADD CONSTRAINT "FK_loan_id_m_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_loan_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_loan_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_repayment_schedule FK_loan_repayment_schedule_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule + ADD CONSTRAINT "FK_loan_repayment_schedule_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_repayment_schedule FK_loan_repayment_schedule_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule + ADD CONSTRAINT "FK_loan_repayment_schedule_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_installment_charge FK_loan_schedule_id_charge_schedule; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_installment_charge + ADD CONSTRAINT "FK_loan_schedule_id_charge_schedule" FOREIGN KEY (loan_schedule_id) REFERENCES public.m_loan_repayment_schedule(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_term_variations FK_loan_term_variations_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_term_variations + ADD CONSTRAINT "FK_loan_term_variations_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_term_variations FK_loan_term_variations_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_term_variations + ADD CONSTRAINT "FK_loan_term_variations_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction FK_loan_transaction_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT "FK_loan_transaction_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction FK_loan_transaction_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT "FK_loan_transaction_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_from_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_from_client" FOREIGN KEY (from_client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_from_loan_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_from_loan_account" FOREIGN KEY (from_loan_account_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_from_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_from_office" FOREIGN KEY (from_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_from_savings_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_from_savings_account" FOREIGN KEY (from_savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_to_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_to_client" FOREIGN KEY (to_client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_to_loan_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_to_loan_account" FOREIGN KEY (to_loan_account_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_to_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_to_office" FOREIGN KEY (to_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_details FK_m_account_transfer_details_to_savings_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_details + ADD CONSTRAINT "FK_m_account_transfer_details_to_savings_account" FOREIGN KEY (to_savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_standing_instructions_history FK_m_account_transfer_standing_instructions_m_history; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_standing_instructions_history + ADD CONSTRAINT "FK_m_account_transfer_standing_instructions_m_history" FOREIGN KEY (standing_instruction_id) REFERENCES public.m_account_transfer_standing_instructions(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_transaction FK_m_account_transfer_transaction_account_detail; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT "FK_m_account_transfer_transaction_account_detail" FOREIGN KEY (account_transfer_details_id) REFERENCES public.m_account_transfer_details(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_transaction FK_m_account_transfer_transaction_from_m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT "FK_m_account_transfer_transaction_from_m_loan_transaction" FOREIGN KEY (from_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_transaction FK_m_account_transfer_transaction_from_m_savings_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT "FK_m_account_transfer_transaction_from_m_savings_transaction" FOREIGN KEY (from_savings_transaction_id) REFERENCES public.m_savings_account_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_transaction FK_m_account_transfer_transaction_to_m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT "FK_m_account_transfer_transaction_to_m_loan_transaction" FOREIGN KEY (to_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_transaction FK_m_account_transfer_transaction_to_m_savings_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_transaction + ADD CONSTRAINT "FK_m_account_transfer_transaction_to_m_savings_transaction" FOREIGN KEY (to_savings_transaction_id) REFERENCES public.m_savings_account_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_meeting FK_m_calendar_instance_m_meeting; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_meeting + ADD CONSTRAINT "FK_m_calendar_instance_m_meeting" FOREIGN KEY (calendar_instance_id) REFERENCES public.m_calendar_instance(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_calendar_history FK_m_calendar_m_calendar_history; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar_history + ADD CONSTRAINT "FK_m_calendar_m_calendar_history" FOREIGN KEY (calendar_id) REFERENCES public.m_calendar(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_calendar_instance FK_m_calendar_m_calendar_instance; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_calendar_instance + ADD CONSTRAINT "FK_m_calendar_m_calendar_instance" FOREIGN KEY (calendar_id) REFERENCES public.m_calendar(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_cashiers FK_m_cashiers_m_staff; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_cashiers + ADD CONSTRAINT "FK_m_cashiers_m_staff" FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_cashiers FK_m_cashiers_m_teller; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_cashiers + ADD CONSTRAINT "FK_m_cashiers_m_teller" FOREIGN KEY (teller_id) REFERENCES public.m_tellers(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_charge FK_m_charge_acc_gl_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_charge + ADD CONSTRAINT "FK_m_charge_acc_gl_account" FOREIGN KEY (income_or_liability_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_charge FK_m_charge_m_tax_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_charge + ADD CONSTRAINT "FK_m_charge_m_tax_group" FOREIGN KEY (tax_group_id) REFERENCES public.m_tax_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_command_source FK_m_checker_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_command_source + ADD CONSTRAINT "FK_m_checker_m_appuser" FOREIGN KEY (checker_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_charge FK_m_client_charge_m_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge + ADD CONSTRAINT "FK_m_client_charge_m_charge" FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_charge FK_m_client_charge_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge + ADD CONSTRAINT "FK_m_client_charge_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_charge_paid_by FK_m_client_charge_paid_by_m_client_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge_paid_by + ADD CONSTRAINT "FK_m_client_charge_paid_by_m_client_charge" FOREIGN KEY (client_charge_id) REFERENCES public.m_client_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_charge_paid_by FK_m_client_charge_paid_by_m_client_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_charge_paid_by + ADD CONSTRAINT "FK_m_client_charge_paid_by_m_client_transaction" FOREIGN KEY (client_transaction_id) REFERENCES public.m_client_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_classification_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_classification_m_code_value" FOREIGN KEY (client_classification_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_identifier FK_m_client_document_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT "FK_m_client_document_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_identifier FK_m_client_document_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_identifier + ADD CONSTRAINT "FK_m_client_document_m_code_value" FOREIGN KEY (document_type_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_attendance FK_m_client_m_client_attendance; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_attendance + ADD CONSTRAINT "FK_m_client_m_client_attendance" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_code; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_code" FOREIGN KEY (closure_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_image; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_image" FOREIGN KEY (image_id) REFERENCES public.m_image(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_office" FOREIGN KEY (transfer_to_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_savings_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_savings_account" FOREIGN KEY (default_savings_account) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_savings_product; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_savings_product" FOREIGN KEY (default_savings_product) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_m_staff; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_m_staff" FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_substatus_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_substatus_m_code_value" FOREIGN KEY (sub_status) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transaction FK_m_client_transaction_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transaction + ADD CONSTRAINT "FK_m_client_transaction_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transfer_details FK_m_client_transfer_details_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transfer_details + ADD CONSTRAINT "FK_m_client_transfer_details_m_appuser" FOREIGN KEY (submitted_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transfer_details FK_m_client_transfer_details_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transfer_details + ADD CONSTRAINT "FK_m_client_transfer_details_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transfer_details FK_m_client_transfer_details_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transfer_details + ADD CONSTRAINT "FK_m_client_transfer_details_m_office" FOREIGN KEY (from_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_transfer_details FK_m_client_transfer_details_m_office_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_transfer_details + ADD CONSTRAINT "FK_m_client_transfer_details_m_office_2" FOREIGN KEY (to_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_type_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_type_m_code_value" FOREIGN KEY (client_type_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_type_m_code_value_withdraw; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_type_m_code_value_withdraw" FOREIGN KEY (withdraw_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client FK_m_client_type_mcode_value_reject; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT "FK_m_client_type_mcode_value_reject" FOREIGN KEY (reject_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_rule_tags FK_m_code_value_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_rule_tags + ADD CONSTRAINT "FK_m_code_value_id" FOREIGN KEY (tag_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_delinquency_bucket_mappings FK_m_delinquency_bucket_mapping; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_bucket_mappings + ADD CONSTRAINT "FK_m_delinquency_bucket_mapping" FOREIGN KEY (delinquency_bucket_id) REFERENCES public.m_delinquency_bucket(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_delinquency_bucket_mappings FK_m_delinquency_range_mapping; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_delinquency_bucket_mappings + ADD CONSTRAINT "FK_m_delinquency_range_mapping" FOREIGN KEY (delinquency_range_id) REFERENCES public.m_delinquency_range(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_delinquency_tag_history FK_m_delinquency_tags_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_delinquency_tag_history + ADD CONSTRAINT "FK_m_delinquency_tags_loan" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_delinquency_tag_history FK_m_delinquency_tags_range; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_delinquency_tag_history + ADD CONSTRAINT "FK_m_delinquency_tags_range" FOREIGN KEY (delinquency_range_id) REFERENCES public.m_delinquency_range(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_family_members FK_m_family_members_client_id_m_client; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT "FK_m_family_members_client_id_m_client" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_family_members FK_m_family_members_gender_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT "FK_m_family_members_gender_m_code_value" FOREIGN KEY (gender_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_family_members FK_m_family_members_marital_status_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT "FK_m_family_members_marital_status_m_code_value" FOREIGN KEY (marital_status_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_family_members FK_m_family_members_profession_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT "FK_m_family_members_profession_m_code_value" FOREIGN KEY (profession_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_family_members FK_m_family_members_relationship_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_family_members + ADD CONSTRAINT "FK_m_family_members_relationship_m_code_value" FOREIGN KEY (relationship_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group FK_m_group_level; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT "FK_m_group_level" FOREIGN KEY (level_id) REFERENCES public.m_group_level(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group FK_m_group_m_code; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT "FK_m_group_m_code" FOREIGN KEY (closure_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group FK_m_group_m_staff; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT "FK_m_group_m_staff" FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor_funding_details FK_m_guarantor_fund_details_account_associations_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_funding_details + ADD CONSTRAINT "FK_m_guarantor_fund_details_account_associations_id" FOREIGN KEY (account_associations_id) REFERENCES public.m_portfolio_account_associations(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor_funding_details FK_m_guarantor_fund_details_m_guarantor; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor_funding_details + ADD CONSTRAINT "FK_m_guarantor_fund_details_m_guarantor" FOREIGN KEY (guarantor_id) REFERENCES public.m_guarantor(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor FK_m_guarantor_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor + ADD CONSTRAINT "FK_m_guarantor_m_code_value" FOREIGN KEY (client_reln_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_guarantor FK_m_guarantor_m_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_guarantor + ADD CONSTRAINT "FK_m_guarantor_m_loan" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_import_document FK_m_import_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_import_document + ADD CONSTRAINT "FK_m_import_m_appuser" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_import_document FK_m_import_m_document; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_import_document + ADD CONSTRAINT "FK_m_import_m_document" FOREIGN KEY (document_id) REFERENCES public.m_document(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_interest_incentives FK_m_interest_incentives_m_interest_rate_slab; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_interest_incentives + ADD CONSTRAINT "FK_m_interest_incentives_m_interest_rate_slab" FOREIGN KEY (interest_rate_slab_id) REFERENCES public.m_interest_rate_slab(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction_relation FK_m_loan_charge_to_relation; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_relation + ADD CONSTRAINT "FK_m_loan_charge_to_relation" FOREIGN KEY (to_loan_charge_id) REFERENCES public.m_loan_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_recalculation_details FK_m_loan_m_loan_recalculation_details; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_recalculation_details + ADD CONSTRAINT "FK_m_loan_m_loan_recalculation_details" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_m_loan_m_staff; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_m_loan_m_staff" FOREIGN KEY (loan_officer_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_overdue_installment_charge FK_m_loan_overdue_installment_charge_m_loan_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_overdue_installment_charge + ADD CONSTRAINT "FK_m_loan_overdue_installment_charge_m_loan_charge" FOREIGN KEY (loan_charge_id) REFERENCES public.m_loan_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_overdue_installment_charge FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_overdue_installment_charge + ADD CONSTRAINT "FK_m_loan_overdue_installment_charge_m_loan_repayment_schedule" FOREIGN KEY (loan_schedule_id) REFERENCES public.m_loan_repayment_schedule(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_tranche_charges FK_m_loan_tranche_charges_m_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_charges + ADD CONSTRAINT "FK_m_loan_tranche_charges_m_charge" FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_tranche_charges FK_m_loan_tranche_charges_m_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_charges + ADD CONSTRAINT "FK_m_loan_tranche_charges_m_loan" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_tranche_disbursement_charge FK_m_loan_tranche_disbursement_charge_m_loan_charge; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_disbursement_charge + ADD CONSTRAINT "FK_m_loan_tranche_disbursement_charge_m_loan_charge" FOREIGN KEY (loan_charge_id) REFERENCES public.m_loan_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_tranche_disbursement_charge FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detai; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_tranche_disbursement_charge + ADD CONSTRAINT "FK_m_loan_tranche_disbursement_charge_m_loan_disbursement_detai" FOREIGN KEY (disbursement_detail_id) REFERENCES public.m_loan_disbursement_detail(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction_relation FK_m_loan_transaction_from_relation; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_relation + ADD CONSTRAINT "FK_m_loan_transaction_from_relation" FOREIGN KEY (from_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction FK_m_loan_transaction_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT "FK_m_loan_transaction_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction FK_m_loan_transaction_m_payment_detail; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT "FK_m_loan_transaction_m_payment_detail" FOREIGN KEY (payment_detail_id) REFERENCES public.m_payment_detail(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction_relation FK_m_loan_transaction_to_relation; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_relation + ADD CONSTRAINT "FK_m_loan_transaction_to_relation" FOREIGN KEY (to_loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_m_loanpurpose_codevalue; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_m_loanpurpose_codevalue" FOREIGN KEY (loanpurpose_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_command_source FK_m_maker_m_appuser; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_command_source + ADD CONSTRAINT "FK_m_maker_m_appuser" FOREIGN KEY (maker_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_attendance FK_m_meeting_m_client_attendance; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_attendance + ADD CONSTRAINT "FK_m_meeting_m_client_attendance" FOREIGN KEY (meeting_id) REFERENCES public.m_meeting(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note FK_m_note_m_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT "FK_m_note_m_group" FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_payment_detail FK_m_payment_detail_m_payment_type; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_payment_detail + ADD CONSTRAINT "FK_m_payment_detail_m_payment_type" FOREIGN KEY (payment_type_id) REFERENCES public.m_payment_type(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_charge FK_m_payment_detail_m_payment_types; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_charge + ADD CONSTRAINT "FK_m_payment_detail_m_payment_types" FOREIGN KEY (payment_type_id) REFERENCES public.m_payment_type(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan FK_m_product_loan_m_delinquency_bucket; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT "FK_m_product_loan_m_delinquency_bucket" FOREIGN KEY (delinquency_bucket_id) REFERENCES public.m_delinquency_bucket(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_recalculation_details FK_m_product_loan_m_product_loan_recalculation_details; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_recalculation_details + ADD CONSTRAINT "FK_m_product_loan_m_product_loan_recalculation_details" FOREIGN KEY (product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_mix FK_m_product_mix_product_id_to_m_product_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_mix + ADD CONSTRAINT "FK_m_product_mix_product_id_to_m_product_loan" FOREIGN KEY (product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_mix FK_m_product_mix_restricted_product_id_to_m_product_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_mix + ADD CONSTRAINT "FK_m_product_mix_restricted_product_id_to_m_product_loan" FOREIGN KEY (restricted_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction FK_m_savings_account_transaction_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT "FK_m_savings_account_transaction_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction FK_m_savings_account_transaction_m_payment_detail; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT "FK_m_savings_account_transaction_m_payment_detail" FOREIGN KEY (payment_detail_id) REFERENCES public.m_payment_detail(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_interest_incentives FK_m_savings_interest_incentives_m_savings_interest_rate_slab; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_interest_incentives + ADD CONSTRAINT "FK_m_savings_interest_incentives_m_savings_interest_rate_slab" FOREIGN KEY (deposit_account_interest_rate_slab_id) REFERENCES public.m_savings_account_interest_rate_slab(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_dividend_details FK_m_share_account_dividend_details_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_dividend_details + ADD CONSTRAINT "FK_m_share_account_dividend_details_account_id" FOREIGN KEY (account_id) REFERENCES public.m_share_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_dividend_details FK_m_share_account_dividend_details_dividend_pay_out_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_dividend_details + ADD CONSTRAINT "FK_m_share_account_dividend_details_dividend_pay_out_id" FOREIGN KEY (dividend_pay_out_id) REFERENCES public.m_share_product_dividend_pay_out(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_dividend_pay_out FK_m_share_product_dividend_pay_out_createdby_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_dividend_pay_out + ADD CONSTRAINT "FK_m_share_product_dividend_pay_out_createdby_id" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_dividend_pay_out FK_m_share_product_dividend_pay_out_lastmodifiedby_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_dividend_pay_out + ADD CONSTRAINT "FK_m_share_product_dividend_pay_out_lastmodifiedby_id" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_dividend_pay_out FK_m_share_product_dividend_pay_out_product_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_dividend_pay_out + ADD CONSTRAINT "FK_m_share_product_dividend_pay_out_product_id" FOREIGN KEY (product_id) REFERENCES public.m_share_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_staff_assignment_history FK_m_staff_assignment_history_centre_id_m_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff_assignment_history + ADD CONSTRAINT "FK_m_staff_assignment_history_centre_id_m_group" FOREIGN KEY (centre_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_staff_assignment_history FK_m_staff_assignment_history_m_staff; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff_assignment_history + ADD CONSTRAINT "FK_m_staff_assignment_history_m_staff" FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_staff FK_m_staff_m_image; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT "FK_m_staff_m_image" FOREIGN KEY (image_id) REFERENCES public.m_image(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_staff FK_m_staff_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_staff + ADD CONSTRAINT "FK_m_staff_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_account_transfer_standing_instructions FK_m_standing_instructions_account_transfer_details; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_account_transfer_standing_instructions + ADD CONSTRAINT "FK_m_standing_instructions_account_transfer_details" FOREIGN KEY (account_transfer_details_id) REFERENCES public.m_account_transfer_details(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_cashier_transactions FK_m_teller_transactions_m_cashiers; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_cashier_transactions + ADD CONSTRAINT "FK_m_teller_transactions_m_cashiers" FOREIGN KEY (cashier_id) REFERENCES public.m_cashiers(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_tellers FK_m_tellers_gl_account_credit_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tellers + ADD CONSTRAINT "FK_m_tellers_gl_account_credit_account_id" FOREIGN KEY (credit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tellers FK_m_tellers_gl_account_debit_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tellers + ADD CONSTRAINT "FK_m_tellers_gl_account_debit_account_id" FOREIGN KEY (debit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tellers FK_m_tellers_m_office; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tellers + ADD CONSTRAINT "FK_m_tellers_m_office" FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_mandatory_savings_schedule FK_mandatory_savings_schedule_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_mandatory_savings_schedule + ADD CONSTRAINT "FK_mandatory_savings_schedule_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_mandatory_savings_schedule FK_mandatory_savings_schedule_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_mandatory_savings_schedule + ADD CONSTRAINT "FK_mandatory_savings_schedule_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_floating_rates_periods FK_mappings_m_floating_rates; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_floating_rates_periods + ADD CONSTRAINT "FK_mappings_m_floating_rates" FOREIGN KEY (floating_rates_id) REFERENCES public.m_floating_rates(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_floating_rates FK_mappings_m_floating_rates_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_floating_rates + ADD CONSTRAINT "FK_mappings_m_floating_rates_id" FOREIGN KEY (floating_rates_id) REFERENCES public.m_floating_rates(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction_repayment_schedule_mapping FK_mappings_m_loan_repayment_schedule; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_repayment_schedule_mapping + ADD CONSTRAINT "FK_mappings_m_loan_repayment_schedule" FOREIGN KEY (loan_repayment_schedule_id) REFERENCES public.m_loan_repayment_schedule(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction_repayment_schedule_mapping FK_mappings_m_loan_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction_repayment_schedule_mapping + ADD CONSTRAINT "FK_mappings_m_loan_transaction" FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_floating_rates FK_mappings_m_product_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_floating_rates + ADD CONSTRAINT "FK_mappings_m_product_loan_id" FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_variable_installment_config FK_mappings_m_variable_product_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_variable_installment_config + ADD CONSTRAINT "FK_mappings_m_variable_product_loan_id" FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note FK_note_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT "FK_note_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note FK_note_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT "FK_note_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_financial_activity_account FK_office_mapping_acc_gl_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_financial_activity_account + ADD CONSTRAINT "FK_office_mapping_acc_gl_account" FOREIGN KEY (gl_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_rejectedon_userid; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_rejectedon_userid" FOREIGN KEY (rejectedon_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge FK_savings_account_charge_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge + ADD CONSTRAINT "FK_savings_account_charge_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge FK_savings_account_charge_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge + ADD CONSTRAINT "FK_savings_account_charge_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account FK_savings_account_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT "FK_savings_account_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note FK_savings_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT "FK_savings_account_id" FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id); + + +-- Name: m_savings_account FK_savings_account_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT "FK_savings_account_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account FK_savings_account_tax_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT "FK_savings_account_tax_group" FOREIGN KEY (tax_group_id) REFERENCES public.m_tax_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction FK_savings_account_transaction_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT "FK_savings_account_transaction_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction FK_savings_account_transaction_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT "FK_savings_account_transaction_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction_tax_details FK_savings_account_transaction_tax_details_savings_transaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction_tax_details + ADD CONSTRAINT "FK_savings_account_transaction_tax_details_savings_transaction" FOREIGN KEY (savings_transaction_id) REFERENCES public.m_savings_account_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction_tax_details FK_savings_account_transaction_tax_details_tax_component; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction_tax_details + ADD CONSTRAINT "FK_savings_account_transaction_tax_details_tax_component" FOREIGN KEY (tax_component_id) REFERENCES public.m_tax_component(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_officer_assignment_history FK_savings_officer_assignment_history_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_officer_assignment_history + ADD CONSTRAINT "FK_savings_officer_assignment_history_created_by" FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_officer_assignment_history FK_savings_officer_assignment_history_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_officer_assignment_history + ADD CONSTRAINT "FK_savings_officer_assignment_history_last_modified_by" FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_product FK_savings_product_tax_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product + ADD CONSTRAINT "FK_savings_product_tax_group" FOREIGN KEY (tax_group_id) REFERENCES public.m_tax_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component FK_tax_component_createdby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component + ADD CONSTRAINT "FK_tax_component_createdby" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component FK_tax_component_credit_gl_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component + ADD CONSTRAINT "FK_tax_component_credit_gl_account" FOREIGN KEY (credit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component FK_tax_component_debit_gl_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component + ADD CONSTRAINT "FK_tax_component_debit_gl_account" FOREIGN KEY (debit_account_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component_history FK_tax_component_history_createdby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component_history + ADD CONSTRAINT "FK_tax_component_history_createdby" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component_history FK_tax_component_history_lastmodifiedby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component_history + ADD CONSTRAINT "FK_tax_component_history_lastmodifiedby" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component_history FK_tax_component_history_tax_component_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component_history + ADD CONSTRAINT "FK_tax_component_history_tax_component_id" FOREIGN KEY (tax_component_id) REFERENCES public.m_tax_component(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_component FK_tax_component_lastmodifiedby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_component + ADD CONSTRAINT "FK_tax_component_lastmodifiedby" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group FK_tax_group_createdby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group + ADD CONSTRAINT "FK_tax_group_createdby" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group FK_tax_group_lastmodifiedby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group + ADD CONSTRAINT "FK_tax_group_lastmodifiedby" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group_mappings FK_tax_group_mappings_createdby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group_mappings + ADD CONSTRAINT "FK_tax_group_mappings_createdby" FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group_mappings FK_tax_group_mappings_lastmodifiedby; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group_mappings + ADD CONSTRAINT "FK_tax_group_mappings_lastmodifiedby" FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group_mappings FK_tax_group_mappings_tax_component; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group_mappings + ADD CONSTRAINT "FK_tax_group_mappings_tax_component" FOREIGN KEY (tax_component_id) REFERENCES public.m_tax_component(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_tax_group_mappings FK_tax_group_mappings_tax_group; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_tax_group_mappings + ADD CONSTRAINT "FK_tax_group_mappings_tax_group" FOREIGN KEY (tax_group_id) REFERENCES public.m_tax_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_withdrawnon_userid; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_withdrawnon_userid" FOREIGN KEY (withdrawnon_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan FK_writeoffreason_m_loan_m_code_value; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT "FK_writeoffreason_m_loan_m_code_value" FOREIGN KEY (writeoff_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: x_table_column_code_mappings FK_x_code_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.x_table_column_code_mappings + ADD CONSTRAINT "FK_x_code_id" FOREIGN KEY (code_id) REFERENCES public.m_code(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group Parent_Id_reference; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT "Parent_Id_reference" FOREIGN KEY (parent_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_level Parent_levelId_reference; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_level + ADD CONSTRAINT "Parent_levelId_reference" FOREIGN KEY (parent_id) REFERENCES public.m_group_level(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_account_associations account_association_loan_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_account_associations + ADD CONSTRAINT account_association_loan_fk FOREIGN KEY (loan_account_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_account_associations account_association_savings_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_account_associations + ADD CONSTRAINT account_association_savings_fk FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_address address_codefk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_address + ADD CONSTRAINT address_codefk FOREIGN KEY (address_type_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_address address_fields_codefk1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_address + ADD CONSTRAINT address_fields_codefk1 FOREIGN KEY (state_province_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_address address_fields_codefk2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_address + ADD CONSTRAINT address_fields_codefk2 FOREIGN KEY (country_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_variations_borrower_cycle borrower_cycle_loan_product_FK; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_variations_borrower_cycle + ADD CONSTRAINT "borrower_cycle_loan_product_FK" FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_creditbureau_configuration cbConfigfk1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_configuration + ADD CONSTRAINT "cbConfigfk1" FOREIGN KEY (organisation_creditbureau_id) REFERENCES public.m_creditbureau(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_creditreport cbId; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditreport + ADD CONSTRAINT "cbId" FOREIGN KEY (credit_bureau_id) REFERENCES public.m_creditbureau(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_creditbureau_loanproduct_mapping cblpfk2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_loanproduct_mapping + ADD CONSTRAINT cblpfk2 FOREIGN KEY (organisation_creditbureau_id) REFERENCES public.m_organisation_creditbureau(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_address clientaddressfk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_address + ADD CONSTRAINT clientaddressfk FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_adhoc createdby_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_adhoc + ADD CONSTRAINT createdby_id FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_office_transaction fk1e37728b783c5c25; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office_transaction + ADD CONSTRAINT fk1e37728b783c5c25 FOREIGN KEY (from_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_office_transaction fk1e37728b93c6c1b6; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office_transaction + ADD CONSTRAINT fk1e37728b93c6c1b6 FOREIGN KEY (to_office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_office fk2291c477e2551dcc; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_office + ADD CONSTRAINT fk2291c477e2551dcc FOREIGN KEY (parent_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_repayment_schedule fk488b92aa40be0710; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule + ADD CONSTRAINT fk488b92aa40be0710 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_appuser_role fk7662ce5915cec7ab; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser_role + ADD CONSTRAINT fk7662ce5915cec7ab FOREIGN KEY (role_id) REFERENCES public.m_role(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_appuser_role fk7662ce59b4100309; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser_role + ADD CONSTRAINT fk7662ce59b4100309 FOREIGN KEY (appuser_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan fk7c885877240145; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT fk7c885877240145 FOREIGN KEY (fund_id) REFERENCES public.m_fund(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note fk7c9708924d26803; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT fk7c9708924d26803 FOREIGN KEY (loan_transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note fk7c9708940be0710; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT fk7c9708940be0710 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note fk7c97089541f0a56; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT fk7c97089541f0a56 FOREIGN KEY (created_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note fk7c970897179a0cb; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT fk7c970897179a0cb FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_note fk7c970898f889c3f; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_note + ADD CONSTRAINT fk7c970898f889c3f FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_role_permission fk8dedb048103b544b; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_role_permission + ADD CONSTRAINT fk8dedb048103b544b FOREIGN KEY (permission_id) REFERENCES public.m_permission(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_role_permission fk8dedb04815cec7ab; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_role_permission + ADD CONSTRAINT fk8dedb04815cec7ab FOREIGN KEY (role_id) REFERENCES public.m_role(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client_collateral_management fkClient; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_collateral_management + ADD CONSTRAINT "fkClient" FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_loan_collateral_management fkClientCollateral; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral_management + ADD CONSTRAINT "fkClientCollateral" FOREIGN KEY (client_collateral_id) REFERENCES public.m_client_collateral_management(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_client_collateral_management fkCollateral; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client_collateral_management + ADD CONSTRAINT "fkCollateral" FOREIGN KEY (collateral_id) REFERENCES public.m_collateral_management(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_collateral_management fkCurrencyCode; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_collateral_management + ADD CONSTRAINT "fkCurrencyCode" FOREIGN KEY (currency) REFERENCES public.m_currency(id) ON UPDATE RESTRICT ON DELETE CASCADE; + + +-- Name: m_loan_collateral_management fkLoan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral_management + ADD CONSTRAINT "fkLoan" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_loan_collateral_management fkTransaction; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_collateral_management + ADD CONSTRAINT "fkTransaction" FOREIGN KEY (transaction_id) REFERENCES public.m_loan_transaction(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: twofactor_access_token fk_2fa_access_token_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.twofactor_access_token + ADD CONSTRAINT fk_2fa_access_token_user_id FOREIGN KEY (appuser_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_account fk_acc_0000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_account + ADD CONSTRAINT fk_acc_0000000001 FOREIGN KEY (parent_id) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_product_mapping fk_acc_product_mapping_buydown_fee_classification; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT fk_acc_product_mapping_buydown_fee_classification FOREIGN KEY (buydown_fee_classification_id) REFERENCES public.m_code_value(id); + + +-- Name: acc_product_mapping fk_acc_product_mapping_capitalized_income_classification; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT fk_acc_product_mapping_capitalized_income_classification FOREIGN KEY (capitalized_income_classification_id) REFERENCES public.m_code_value(id); + + +-- Name: acc_product_mapping fk_acc_product_mapping_charge_off_reason; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_product_mapping + ADD CONSTRAINT fk_acc_product_mapping_charge_off_reason FOREIGN KEY (charge_off_reason_id) REFERENCES public.m_code_value(id); + + +-- Name: m_creditbureau_loanproduct_mapping fk_cb_lp2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_creditbureau_loanproduct_mapping + ADD CONSTRAINT fk_cb_lp2 FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_journal_entry_aggregation_summary fk_gl_journal_entry_aggregation_summary_on_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT fk_gl_journal_entry_aggregation_summary_on_created_by FOREIGN KEY (created_by) REFERENCES public.m_appuser(id); + + +-- Name: m_journal_entry_aggregation_summary fk_gl_journal_entry_aggregation_summary_on_gl_account_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT fk_gl_journal_entry_aggregation_summary_on_gl_account_id FOREIGN KEY (gl_account_id) REFERENCES public.acc_gl_account(id); + + +-- Name: m_journal_entry_aggregation_summary fk_gl_journal_entry_aggregation_summary_on_job_execution_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT fk_gl_journal_entry_aggregation_summary_on_job_execution_id FOREIGN KEY (job_execution_id) REFERENCES public.batch_job_execution(job_execution_id); + + +-- Name: m_journal_entry_aggregation_summary fk_gl_journal_entry_aggregation_summary_on_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT fk_gl_journal_entry_aggregation_summary_on_last_modified_by FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id); + + +-- Name: m_journal_entry_aggregation_summary fk_gl_journal_entry_aggregation_summary_on_office_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_summary + ADD CONSTRAINT fk_gl_journal_entry_aggregation_summary_on_office_id FOREIGN KEY (office_id) REFERENCES public.m_office(id); + + +-- Name: m_journal_entry_aggregation_tracking fk_gl_journal_entry_aggregation_tracking_on_created_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_tracking + ADD CONSTRAINT fk_gl_journal_entry_aggregation_tracking_on_created_by FOREIGN KEY (created_by) REFERENCES public.m_appuser(id); + + +-- Name: m_journal_entry_aggregation_tracking fk_gl_journal_entry_aggregation_tracking_on_job_execution_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_tracking + ADD CONSTRAINT fk_gl_journal_entry_aggregation_tracking_on_job_execution_id FOREIGN KEY (job_execution_id) REFERENCES public.batch_job_execution(job_execution_id); + + +-- Name: m_journal_entry_aggregation_tracking fk_gl_journal_entry_aggregation_tracking_on_last_modified_by; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_journal_entry_aggregation_tracking + ADD CONSTRAINT fk_gl_journal_entry_aggregation_tracking_on_last_modified_by FOREIGN KEY (last_modified_by) REFERENCES public.m_appuser(id); + + +-- Name: m_hook_configuration fk_hook_id_cfg; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_configuration + ADD CONSTRAINT fk_hook_id_cfg FOREIGN KEY (hook_id) REFERENCES public.m_hook(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_hook_registered_events fk_hook_idc; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_registered_events + ADD CONSTRAINT fk_hook_idc FOREIGN KEY (hook_id) REFERENCES public.m_hook(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_hook_schema fk_hook_template_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook_schema + ADD CONSTRAINT fk_hook_template_id FOREIGN KEY (hook_template_id) REFERENCES public.m_hook_templates(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: interop_identifier fk_interop_identifier_account; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.interop_identifier + ADD CONSTRAINT fk_interop_identifier_account FOREIGN KEY (account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_account_locks fk_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_account_locks + ADD CONSTRAINT fk_loan_id FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_appuser fk_m_appuser_002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser + ADD CONSTRAINT fk_m_appuser_002 FOREIGN KEY (staff_id) REFERENCES public.m_staff(id); + + +-- Name: m_loan_officer_assignment_history fk_m_loan_officer_assignment_history_0001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_officer_assignment_history + ADD CONSTRAINT fk_m_loan_officer_assignment_history_0001 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_officer_assignment_history fk_m_loan_officer_assignment_history_0002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_officer_assignment_history + ADD CONSTRAINT fk_m_loan_officer_assignment_history_0002 FOREIGN KEY (loan_officer_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_rate fk_m_loan_rate_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_rate + ADD CONSTRAINT fk_m_loan_rate_loan FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_rate fk_m_loan_rate_rate; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_rate + ADD CONSTRAINT fk_m_loan_rate_rate FOREIGN KEY (rate_id) REFERENCES public.m_rate(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_configurable_attributes fk_m_product_loan_configurable_attributes_0001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_configurable_attributes + ADD CONSTRAINT fk_m_product_loan_configurable_attributes_0001 FOREIGN KEY (loan_product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_rate fk_m_product_loan_rate_loan; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_rate + ADD CONSTRAINT fk_m_product_loan_rate_loan FOREIGN KEY (product_loan_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_rate fk_m_product_loan_rate_rate; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_rate + ADD CONSTRAINT fk_m_product_loan_rate_rate FOREIGN KEY (rate_id) REFERENCES public.m_rate(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_rate fk_m_rate_approve_user; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_rate + ADD CONSTRAINT fk_m_rate_approve_user FOREIGN KEY (approve_user) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_rate fk_m_rate_create_user; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_rate + ADD CONSTRAINT fk_m_rate_create_user FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_officer_assignment_history fk_m_savings_officer_assignment_history_0001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_officer_assignment_history + ADD CONSTRAINT fk_m_savings_officer_assignment_history_0001 FOREIGN KEY (account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_officer_assignment_history fk_m_savings_officer_assignment_history_0002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_officer_assignment_history + ADD CONSTRAINT fk_m_savings_officer_assignment_history_0002 FOREIGN KEY (savings_officer_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: stretchy_report_parameter fk_report_parameter_001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report_parameter + ADD CONSTRAINT fk_report_parameter_001 FOREIGN KEY (report_id) REFERENCES public.stretchy_report(id) ON DELETE CASCADE; + + +-- Name: stretchy_report_parameter fk_report_parameter_002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_report_parameter + ADD CONSTRAINT fk_report_parameter_002 FOREIGN KEY (parameter_id) REFERENCES public.stretchy_parameter(id); + + +-- Name: scheduled_email_messages_outbound fk_schedule_email_campign1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_messages_outbound + ADD CONSTRAINT fk_schedule_email_campign1 FOREIGN KEY (email_campaign_id) REFERENCES public.scheduled_email_campaign(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: stretchy_parameter fk_stretchy_parameter_001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.stretchy_parameter + ADD CONSTRAINT fk_stretchy_parameter_001 FOREIGN KEY (parent_id) REFERENCES public.stretchy_parameter(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_hook fk_template_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook + ADD CONSTRAINT fk_template_id FOREIGN KEY (template_id) REFERENCES public.m_hook_templates(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_hook fk_ugd_template_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_hook + ADD CONSTRAINT fk_ugd_template_id FOREIGN KEY (ugd_template_id) REFERENCES public.m_template(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan fka6a8a7d77240145; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan + ADD CONSTRAINT fka6a8a7d77240145 FOREIGN KEY (fund_id) REFERENCES public.m_fund(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_appuser fkb3d587ce0dd567a; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser + ADD CONSTRAINT fkb3d587ce0dd567a FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan fkb6f935d87179a0cb; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT fkb6f935d87179a0cb FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan fkb6f935d8c8d4b434; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT fkb6f935d8c8d4b434 FOREIGN KEY (product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: sms_messages_outbound fkcampaign00000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_messages_outbound + ADD CONSTRAINT fkcampaign00000001 FOREIGN KEY (campaign_id) REFERENCES public.sms_campaign(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_client fkce00cab3e0dd567a; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_client + ADD CONSTRAINT fkce00cab3e0dd567a FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_transaction fkcfcea42640be0710; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_transaction + ADD CONSTRAINT fkcfcea42640be0710 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_code_value fkcfcea42640be071z; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_code_value + ADD CONSTRAINT fkcfcea42640be071z FOREIGN KEY (code_id) REFERENCES public.m_code(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: sms_messages_outbound fkclient00000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_messages_outbound + ADD CONSTRAINT fkclient00000001 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_recurring_detail fkdard00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_recurring_detail + ADD CONSTRAINT fkdard00000000000001 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_term_and_preclosure fkdatp00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_term_and_preclosure + ADD CONSTRAINT fkdatp00000000000001 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_product_interest_rate_chart fkdpirc00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_interest_rate_chart + ADD CONSTRAINT fkdpirc00000000000001 FOREIGN KEY (deposit_product_id) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_product_interest_rate_chart fkdpirc00000000000002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_interest_rate_chart + ADD CONSTRAINT fkdpirc00000000000002 FOREIGN KEY (interest_rate_chart_id) REFERENCES public.m_interest_rate_chart(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_product_recurring_detail fkdprd00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_recurring_detail + ADD CONSTRAINT fkdprd00000000000001 FOREIGN KEY (savings_product_id) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_product_term_and_preclosure fkdptp00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_product_term_and_preclosure + ADD CONSTRAINT fkdptp00000000000001 FOREIGN KEY (savings_product_id) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: acc_gl_account fkglacc000000002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.acc_gl_account + ADD CONSTRAINT fkglacc000000002 FOREIGN KEY (tag_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: sms_messages_outbound fkgroup000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_messages_outbound + ADD CONSTRAINT fkgroup000000001 FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_interest_rate_slab fkirs00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_interest_rate_slab + ADD CONSTRAINT fkirs00000000000001 FOREIGN KEY (interest_rate_chart_id) REFERENCES public.m_interest_rate_chart(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_repayment_with_post_dated_checks fkloanrepayment; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_repayment_with_post_dated_checks + ADD CONSTRAINT fkloanrepayment FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_mandatory_savings_schedule fkmss0000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_mandatory_savings_schedule + ADD CONSTRAINT fkmss0000000001 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_repayment_with_post_dated_checks fkrepaymentwithpostdated; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_repayment_with_post_dated_checks + ADD CONSTRAINT fkrepaymentwithpostdated FOREIGN KEY (repayment_id) REFERENCES public.m_loan_repayment_schedule(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- Name: m_savings_account fksa00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT fksa00000000000001 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account fksa00000000000002; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT fksa00000000000002 FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account fksa00000000000003; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account + ADD CONSTRAINT fksa00000000000003 FOREIGN KEY (product_id) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_interest_rate_chart fksairc00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_interest_rate_chart + ADD CONSTRAINT fksairc00000000000001 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id); + + +-- Name: m_savings_account_interest_rate_slab fksairs00000000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_interest_rate_slab + ADD CONSTRAINT fksairs00000000000001 FOREIGN KEY (savings_account_interest_rate_chart_id) REFERENCES public.m_savings_account_interest_rate_chart(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_transaction fksat0000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_transaction + ADD CONSTRAINT fksat0000000001 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: sms_messages_outbound fkstaff000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_messages_outbound + ADD CONSTRAINT fkstaff000000001 FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: batch_job_execution_context job_exec_ctx_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_execution_context + ADD CONSTRAINT job_exec_ctx_fk FOREIGN KEY (job_execution_id) REFERENCES public.batch_job_execution(job_execution_id); + + +-- Name: batch_job_execution_params job_exec_params_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_execution_params + ADD CONSTRAINT job_exec_params_fk FOREIGN KEY (job_execution_id) REFERENCES public.batch_job_execution(job_execution_id); + + +-- Name: batch_step_execution job_exec_step_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_step_execution + ADD CONSTRAINT job_exec_step_fk FOREIGN KEY (job_execution_id) REFERENCES public.batch_job_execution(job_execution_id); + + +-- Name: batch_job_execution job_inst_exec_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_job_execution + ADD CONSTRAINT job_inst_exec_fk FOREIGN KEY (job_instance_id) REFERENCES public.batch_job_instance(job_instance_id); + + +-- Name: m_adhoc lastmodifiedby_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_adhoc + ADD CONSTRAINT lastmodifiedby_id FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_account_associations linked_loan_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_account_associations + ADD CONSTRAINT linked_loan_fk FOREIGN KEY (linked_loan_account_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_portfolio_account_associations linked_savings_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_portfolio_account_associations + ADD CONSTRAINT linked_savings_fk FOREIGN KEY (linked_savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_appuser_previous_password m_appuser_previous_password_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_appuser_previous_password + ADD CONSTRAINT m_appuser_previous_password_ibfk_1 FOREIGN KEY (user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_deposit_account_term_and_preclosure m_deposit_account_term_and_preclosure_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_deposit_account_term_and_preclosure + ADD CONSTRAINT m_deposit_account_term_and_preclosure_ibfk_1 FOREIGN KEY (transfer_to_savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_entity_datatable_check m_entity_datatable_check_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_entity_datatable_check + ADD CONSTRAINT m_entity_datatable_check_ibfk_1 FOREIGN KEY (x_registered_table_name) REFERENCES public.x_registered_table(registered_table_name) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_client m_group_client_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_client + ADD CONSTRAINT m_group_client_ibfk_1 FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group_client m_group_client_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group_client + ADD CONSTRAINT m_group_client_ibfk_2 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_group m_group_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_group + ADD CONSTRAINT m_group_ibfk_1 FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_holiday_office m_holiday_id_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_holiday_office + ADD CONSTRAINT m_holiday_id_ibfk_1 FOREIGN KEY (holiday_id) REFERENCES public.m_holiday(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_arrears_aging m_loan_arrears_aging_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_arrears_aging + ADD CONSTRAINT m_loan_arrears_aging_ibfk_1 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_charge m_loan_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge + ADD CONSTRAINT m_loan_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_charge m_loan_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_charge + ADD CONSTRAINT m_loan_charge_ibfk_2 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan m_loan_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan + ADD CONSTRAINT m_loan_ibfk_1 FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_repayment_schedule_history m_loan_repayment_schedule_history_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule_history + ADD CONSTRAINT m_loan_repayment_schedule_history_ibfk_1 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_repayment_schedule_history m_loan_repayment_schedule_history_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_repayment_schedule_history + ADD CONSTRAINT m_loan_repayment_schedule_history_ibfk_2 FOREIGN KEY (loan_reschedule_request_id) REFERENCES public.m_loan_reschedule_request(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_ibfk_1 FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_ibfk_2 FOREIGN KEY (reschedule_reason_cv_id) REFERENCES public.m_code_value(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_ibfk_3 FOREIGN KEY (submitted_by_user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_ibfk_4 FOREIGN KEY (approved_by_user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_reschedule_request m_loan_reschedule_request_ibfk_5; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_reschedule_request + ADD CONSTRAINT m_loan_reschedule_request_ibfk_5 FOREIGN KEY (rejected_by_user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_topup m_loan_topup_FK_account_transfer_details_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_topup + ADD CONSTRAINT "m_loan_topup_FK_account_transfer_details_id" FOREIGN KEY (account_transfer_details_id) REFERENCES public.m_account_transfer_details(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_topup m_loan_topup_FK_closure_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_topup + ADD CONSTRAINT "m_loan_topup_FK_closure_loan_id" FOREIGN KEY (closure_loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loan_topup m_loan_topup_FK_loan_id; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loan_topup + ADD CONSTRAINT "m_loan_topup_FK_loan_id" FOREIGN KEY (loan_id) REFERENCES public.m_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_1 FOREIGN KEY (history_id) REFERENCES public.m_provisioning_history(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_2 FOREIGN KEY (criteria_id) REFERENCES public.m_provisioning_criteria(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_3 FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_4 FOREIGN KEY (product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_5; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_5 FOREIGN KEY (category_id) REFERENCES public.m_provision_category(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_6; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_6 FOREIGN KEY (liability_account) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_entry m_loanproduct_provisioning_entry_ibfk_7; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_entry + ADD CONSTRAINT m_loanproduct_provisioning_entry_ibfk_7 FOREIGN KEY (expense_account) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_mapping m_loanproduct_provisioning_mapping_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_mapping + ADD CONSTRAINT m_loanproduct_provisioning_mapping_ibfk_1 FOREIGN KEY (product_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_loanproduct_provisioning_mapping m_loanproduct_provisioning_mapping_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_loanproduct_provisioning_mapping + ADD CONSTRAINT m_loanproduct_provisioning_mapping_ibfk_2 FOREIGN KEY (criteria_id) REFERENCES public.m_provisioning_criteria(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_holiday_office m_office_id_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_holiday_office + ADD CONSTRAINT m_office_id_ibfk_2 FOREIGN KEY (office_id) REFERENCES public.m_office(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_charge m_product_loan_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_charge + ADD CONSTRAINT m_product_loan_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_product_loan_charge m_product_loan_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_product_loan_charge + ADD CONSTRAINT m_product_loan_charge_ibfk_2 FOREIGN KEY (product_loan_id) REFERENCES public.m_product_loan(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria_definition m_provisioning_criteria_definition_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria_definition + ADD CONSTRAINT m_provisioning_criteria_definition_ibfk_1 FOREIGN KEY (criteria_id) REFERENCES public.m_provisioning_criteria(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria_definition m_provisioning_criteria_definition_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria_definition + ADD CONSTRAINT m_provisioning_criteria_definition_ibfk_2 FOREIGN KEY (category_id) REFERENCES public.m_provision_category(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria_definition m_provisioning_criteria_definition_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria_definition + ADD CONSTRAINT m_provisioning_criteria_definition_ibfk_3 FOREIGN KEY (liability_account) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria_definition m_provisioning_criteria_definition_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria_definition + ADD CONSTRAINT m_provisioning_criteria_definition_ibfk_4 FOREIGN KEY (expense_account) REFERENCES public.acc_gl_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria m_provisioning_criteria_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria + ADD CONSTRAINT m_provisioning_criteria_ibfk_1 FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_criteria m_provisioning_criteria_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_criteria + ADD CONSTRAINT m_provisioning_criteria_ibfk_2 FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_history m_provisioning_history_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_history + ADD CONSTRAINT m_provisioning_history_ibfk_1 FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_provisioning_history m_provisioning_history_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_provisioning_history + ADD CONSTRAINT m_provisioning_history_ibfk_2 FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_report_mailing_job m_report_mailing_job_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_ibfk_1 FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_report_mailing_job m_report_mailing_job_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_ibfk_2 FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_report_mailing_job m_report_mailing_job_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_ibfk_3 FOREIGN KEY (stretchy_report_id) REFERENCES public.stretchy_report(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_report_mailing_job m_report_mailing_job_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job + ADD CONSTRAINT m_report_mailing_job_ibfk_4 FOREIGN KEY (run_as_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_report_mailing_job_run_history m_report_mailing_job_run_history_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_report_mailing_job_run_history + ADD CONSTRAINT m_report_mailing_job_run_history_ibfk_1 FOREIGN KEY (job_id) REFERENCES public.m_report_mailing_job(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge m_savings_account_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge + ADD CONSTRAINT m_savings_account_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_account_charge m_savings_account_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_account_charge + ADD CONSTRAINT m_savings_account_charge_ibfk_2 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_product_charge m_savings_product_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product_charge + ADD CONSTRAINT m_savings_product_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_savings_product_charge m_savings_product_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_savings_product_charge + ADD CONSTRAINT m_savings_product_charge_ibfk_2 FOREIGN KEY (savings_product_id) REFERENCES public.m_savings_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_charge m_share_account_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge + ADD CONSTRAINT m_share_account_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_charge m_share_account_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge + ADD CONSTRAINT m_share_account_charge_ibfk_2 FOREIGN KEY (account_id) REFERENCES public.m_share_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_1 FOREIGN KEY (product_id) REFERENCES public.m_share_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_2 FOREIGN KEY (savings_account_id) REFERENCES public.m_savings_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_3 FOREIGN KEY (submitted_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_4 FOREIGN KEY (approved_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_5; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_5 FOREIGN KEY (rejected_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_6; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_6 FOREIGN KEY (activated_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_7; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_7 FOREIGN KEY (closed_userid) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_8; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_8 FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account m_share_account_ibfk_9; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account + ADD CONSTRAINT m_share_account_ibfk_9 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_transactions m_share_account_purchased_shares_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_transactions + ADD CONSTRAINT m_share_account_purchased_shares_ibfk_1 FOREIGN KEY (account_id) REFERENCES public.m_share_account(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_charge_paid_by m_share_account_transactions_charge_mapping_ibfk1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge_paid_by + ADD CONSTRAINT m_share_account_transactions_charge_mapping_ibfk1 FOREIGN KEY (share_transaction_id) REFERENCES public.m_share_account_transactions(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_account_charge_paid_by m_share_account_transactions_charge_mapping_ibfk2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_account_charge_paid_by + ADD CONSTRAINT m_share_account_transactions_charge_mapping_ibfk2 FOREIGN KEY (charge_transaction_id) REFERENCES public.m_share_account_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_charge m_share_product_charge_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_charge + ADD CONSTRAINT m_share_product_charge_ibfk_1 FOREIGN KEY (charge_id) REFERENCES public.m_charge(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_charge m_share_product_charge_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_charge + ADD CONSTRAINT m_share_product_charge_ibfk_2 FOREIGN KEY (product_id) REFERENCES public.m_share_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product m_share_product_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product + ADD CONSTRAINT m_share_product_ibfk_1 FOREIGN KEY (createdby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product m_share_product_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product + ADD CONSTRAINT m_share_product_ibfk_2 FOREIGN KEY (lastmodifiedby_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_share_product_market_price m_share_product_market_price_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_share_product_market_price + ADD CONSTRAINT m_share_product_market_price_ibfk_1 FOREIGN KEY (product_id) REFERENCES public.m_share_product(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_components m_survey_components_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_components + ADD CONSTRAINT m_survey_components_ibfk_1 FOREIGN KEY (survey_id) REFERENCES public.m_surveys(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_lookup_tables m_survey_lookup_tables_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_lookup_tables + ADD CONSTRAINT m_survey_lookup_tables_ibfk_1 FOREIGN KEY (survey_id) REFERENCES public.m_surveys(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_questions m_survey_questions_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_questions + ADD CONSTRAINT m_survey_questions_ibfk_1 FOREIGN KEY (survey_id) REFERENCES public.m_surveys(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_responses m_survey_responses_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_responses + ADD CONSTRAINT m_survey_responses_ibfk_1 FOREIGN KEY (question_id) REFERENCES public.m_survey_questions(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_scorecards m_survey_scorecards_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_ibfk_1 FOREIGN KEY (survey_id) REFERENCES public.m_surveys(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_scorecards m_survey_scorecards_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_ibfk_2 FOREIGN KEY (question_id) REFERENCES public.m_survey_questions(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_scorecards m_survey_scorecards_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_ibfk_3 FOREIGN KEY (response_id) REFERENCES public.m_survey_responses(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_scorecards m_survey_scorecards_ibfk_4; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_ibfk_4 FOREIGN KEY (user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_survey_scorecards m_survey_scorecards_ibfk_5; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_survey_scorecards + ADD CONSTRAINT m_survey_scorecards_ibfk_5 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: notification_mapper notification_mapper_ibfk_2; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.notification_mapper + ADD CONSTRAINT notification_mapper_ibfk_2 FOREIGN KEY (user_id) REFERENCES public.m_appuser(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: notification_mapper notification_mapper_ibfk_3; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.notification_mapper + ADD CONSTRAINT notification_mapper_ibfk_3 FOREIGN KEY (notification_id) REFERENCES public.notification_generator(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: m_organisation_creditbureau orgcb_cbfk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.m_organisation_creditbureau + ADD CONSTRAINT orgcb_cbfk FOREIGN KEY (creditbureau_id) REFERENCES public.m_creditbureau(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: scheduled_email_campaign scheduled_email_campaign_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_campaign + ADD CONSTRAINT scheduled_email_campaign_ibfk_1 FOREIGN KEY (stretchy_report_id) REFERENCES public.stretchy_report(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: scheduled_email_messages_outbound sefkclient00000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_messages_outbound + ADD CONSTRAINT sefkclient00000001 FOREIGN KEY (client_id) REFERENCES public.m_client(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: scheduled_email_messages_outbound sefkgroup000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_messages_outbound + ADD CONSTRAINT sefkgroup000000001 FOREIGN KEY (group_id) REFERENCES public.m_group(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: scheduled_email_messages_outbound sefkstaff000000001; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.scheduled_email_messages_outbound + ADD CONSTRAINT sefkstaff000000001 FOREIGN KEY (staff_id) REFERENCES public.m_staff(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: sms_campaign sms_campaign_ibfk_1; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.sms_campaign + ADD CONSTRAINT sms_campaign_ibfk_1 FOREIGN KEY (report_id) REFERENCES public.stretchy_report(id) ON UPDATE RESTRICT ON DELETE RESTRICT; + + +-- Name: batch_step_execution_context step_exec_ctx_fk; Type: FK CONSTRAINT; Schema: public; Owner: - + +ALTER TABLE ONLY public.batch_step_execution_context + ADD CONSTRAINT step_exec_ctx_fk FOREIGN KEY (step_execution_id) REFERENCES public.batch_step_execution(step_execution_id); + + +-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: pg_database_owner + +GRANT ALL ON SCHEMA public TO postgres; + + +-- PostgreSQL database dump complete diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data.xml deleted file mode 100644 index 3e5d5c5157a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data.xml +++ /dev/null @@ -1,14947 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ANY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ANY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_mariadb.sql b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_mariadb.sql new file mode 100644 index 00000000000..7dda0a1e285 --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_mariadb.sql @@ -0,0 +1,2258 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +SET FOREIGN_KEY_CHECKS=0; + +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `c_cache` VALUES (1,1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `c_configuration` VALUES (1,'maker-checker',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (4,'amazon-s3',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (5,'reschedule-future-repayments',NULL,NULL,NULL,1,0,NULL); +INSERT INTO `c_configuration` VALUES (6,'reschedule-repayments-on-holidays',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (7,'allow-transactions-on-holiday',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (8,'allow-transactions-on-non-workingday',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (9,'constraint-approach-for-datatables',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (10,'penalty-wait-period',2,NULL,NULL,1,0,NULL); +INSERT INTO `c_configuration` VALUES (11,'force-password-reset-days',0,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (12,'grace-on-penalty-posting',0,NULL,NULL,1,0,NULL); +INSERT INTO `c_configuration` VALUES (15,'savings-interest-posting-current-period-end',NULL,NULL,NULL,0,0,'Recommended to be changed only once during start of production. When set as false(default), interest will be posted on the first date of next period. If set as true, interest will be posted on last date of current period. There is no difference in the interest amount posted.'); +INSERT INTO `c_configuration` VALUES (16,'financial-year-beginning-month',1,NULL,NULL,1,0,'Recommended to be changed only once during start of production. Allowed values 1 - 12 (January - December). Interest posting periods are evaluated based on this configuration.'); +INSERT INTO `c_configuration` VALUES (17,'min-clients-in-group',5,NULL,NULL,0,0,'Minimum number of Clients that a Group should have'); +INSERT INTO `c_configuration` VALUES (18,'max-clients-in-group',5,NULL,NULL,0,0,'Maximum number of Clients that a Group can have'); +INSERT INTO `c_configuration` VALUES (19,'meetings-mandatory-for-jlg-loans',NULL,NULL,NULL,0,0,'Enforces all JLG loans to follow a meeting schedule belonging to parent group or Center'); +INSERT INTO `c_configuration` VALUES (20,'office-specific-products-enabled',0,NULL,NULL,0,0,'Whether products and fees should be office specific or not? This property should NOT be changed once Mifos is Live.'); +INSERT INTO `c_configuration` VALUES (21,'restrict-products-to-user-office',0,NULL,NULL,0,0,'This should be enabled only if, products & fees are office specific (i.e. office-specific-products-enabled is enabled). This property specifies if the products should be auto-restricted to office of the user who created the proudct? Note: This property should NOT be changed once Mifos is Live.'); +INSERT INTO `c_configuration` VALUES (22,'office-opening-balances-contra-account',0,NULL,NULL,1,0,NULL); +INSERT INTO `c_configuration` VALUES (23,'rounding-mode',6,NULL,NULL,1,1,'0 - UP, 1 - DOWN, 2- CEILING, 3- FLOOR, 4- HALF_UP, 5- HALF_DOWN, 6 - HALF_EVEN'); +INSERT INTO `c_configuration` VALUES (24,'backdate-penalties-enabled',0,NULL,NULL,1,0,'If this parameter is disabled penalties will only be added to instalments due moving forward, any old overdue instalments will not be affected.'); +INSERT INTO `c_configuration` VALUES (25,'organisation-start-date',0,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (26,'paymenttype-applicable-for-disbursement-charges',NULL,NULL,NULL,0,0,'Is the Disbursement Entry need to be considering the fund source of the paymnet type'); +INSERT INTO `c_configuration` VALUES (27,'interest-charged-from-date-same-as-disbursal-date',0,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (28,'skip-repayment-on-first-day-of-month',14,NULL,NULL,0,0,'skipping repayment on first day of month'); +INSERT INTO `c_configuration` VALUES (29,'change-emi-if-repaymentdate-same-as-disbursementdate',0,NULL,NULL,1,0,'In tranche loans, if repayment date is same as tranche disbursement date then allow to change the emi amount'); +INSERT INTO `c_configuration` VALUES (30,'daily-tpt-limit',0,NULL,NULL,0,0,'Daily limit for third party transfers'); +INSERT INTO `c_configuration` VALUES (31,'enable-address',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (32,'sub-rates',0,NULL,NULL,0,0,'Enable Rates Module'); +INSERT INTO `c_configuration` VALUES (33,'loan-reschedule-is-first-payday-allowed-on-holiday',0,NULL,NULL,0,0,'If enabled, while loan reschedule the first repayment date can be on a holiday/non working day'); +INSERT INTO `c_configuration` VALUES (35,'account-mapping-for-payment-type',NULL,NULL,'Asset',1,0,'Asset: default for asset, Use comma seperated values for Liability, Asset and Expense accounts'); +INSERT INTO `c_configuration` VALUES (36,'account-mapping-for-charge',NULL,NULL,'Income',1,0,'Income: default for Income, Use comma seperated values for Income, Liability and Expense accounts'); +INSERT INTO `c_configuration` VALUES (37,'fixed-deposit-transfer-interest-next-day-for-period-end-posting',NULL,NULL,NULL,0,0,'Transfer fixed transfer interest next day(t+1) for period end posting'); +INSERT INTO `c_configuration` VALUES (38,'allow-backdated-transaction-before-interest-posting',0,NULL,NULL,1,0,'Avoid retrieving all transactions in a savings account'); +INSERT INTO `c_configuration` VALUES (39,'allow-backdated-transaction-before-interest-posting-date-for-days',0,NULL,NULL,0,0,'One time configuration to relax the backdated transactions'); +INSERT INTO `c_configuration` VALUES (40,'custom-account-number-length',NULL,NULL,NULL,0,0,'if enabled, the value if this configuration will set accounnumber length'); +INSERT INTO `c_configuration` VALUES (41,'random-account-number',NULL,NULL,NULL,0,0,'if enabled, the client accounts, saving accounts, loan accounts will be created with Random Account Number'); +INSERT INTO `c_configuration` VALUES (42,'is-interest-to-be-recovered-first-when-greater-than-emi',0,NULL,NULL,0,0,'If enabled, when interest amount is greater than EMI, the additional interest is recovered first before principal'); +INSERT INTO `c_configuration` VALUES (43,'is-principal-compounding-disabled-for-overdue-loans',0,NULL,NULL,0,0,'If enabled, it donot consider principal of an unpaid installment for calculating interest of next installment. this is for testing back-dated loan schedule'); +INSERT INTO `c_configuration` VALUES (44,'enable-business-date',NULL,NULL,NULL,0,0,'Whether the logical business date functionality is enabled in the system'); +INSERT INTO `c_configuration` VALUES (45,'enable-automatic-cob-date-adjustment',NULL,NULL,NULL,1,0,'Whether the cob date will be automatically recalculated based on the business date'); +INSERT INTO `c_configuration` VALUES (46,'enable-post-reversal-txns-for-reverse-transactions',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (47,'purge-external-events-older-than-days',30,NULL,NULL,0,0,'Number of days criteria to purge old external events sent to message channel'); +INSERT INTO `c_configuration` VALUES (48,'days-before-repayment-is-due',1,NULL,NULL,0,0,'Number of days before repayment is due to raise event'); +INSERT INTO `c_configuration` VALUES (49,'days-after-repayment-is-overdue',1,NULL,NULL,0,0,'Number of days after repayment overdue to raise event'); +INSERT INTO `c_configuration` VALUES (50,'enable-auto-generated-external-id',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (51,'purge-processed-commands-older-than-days',30,NULL,NULL,0,0,'Number of days criteria to purge old processed commands'); +INSERT INTO `c_configuration` VALUES (52,'enable-cob-bulk-event',NULL,NULL,NULL,0,0,'Whether bulk event for COB is enabled in the system'); +INSERT INTO `c_configuration` VALUES (53,'external-event-batch-size',1000,NULL,NULL,0,0,'External event producer batch size'); +INSERT INTO `c_configuration` VALUES (54,'report-export-s3-folder-name',NULL,NULL,'reports',1,0,NULL); +INSERT INTO `c_configuration` VALUES (55,'loan-arrears-delinquency-display-data',0,NULL,NULL,1,0,'0 - Both, 1 - Arrears, 2- Delinquency'); +INSERT INTO `c_configuration` VALUES (56,'charge-accrual-date',NULL,NULL,'due-date',1,0,'due-date: default for due-date, Use comma seperated values for due-date, submitted-date'); +INSERT INTO `c_configuration` VALUES (57,'asset-externalization-of-non-active-loans',NULL,NULL,NULL,1,0,'If enabled: when a loan state is changed to non-active -> pending transfers will be handled'); +INSERT INTO `c_configuration` VALUES (58,'enable-same-maker-checker',NULL,NULL,NULL,0,0,NULL); +INSERT INTO `c_configuration` VALUES (59,'next-payment-due-date',NULL,NULL,'earliest-unpaid-date',1,0,'earliest-unpaid-date: default for next-payment-due-date, Use earliest-unpaid-date or next-unpaid-due-date'); +INSERT INTO `c_configuration` VALUES (60,'enable-payment-hub-integration',0,NULL,'enable payment hub integration',0,0,'Use payment hub api\'s for account withdrawal and loan disbursement to linked interop account'); +INSERT INTO `c_configuration` VALUES (61,'enable-immediate-charge-accrual-post-maturity',NULL,NULL,NULL,0,0,'Whether the system creates accruals immediately for charge creation after the maturity date'); +INSERT INTO `c_configuration` VALUES (62,'password-reuse-check-history-count',3,NULL,NULL,0,0,'When enabled, prevents password reuse. The value specifies how many previous passwords to check (e.g., 3 = last 3 passwords). Set to 0 to check ALL previous passwords. Disable this setting to allow password reuse.'); +INSERT INTO `c_configuration` VALUES (63,'force-password-reset-on-first-login',0,NULL,NULL,0,0,'If enabled, users must reset their password upon first login or after an admin reset. Value is unused.'); +INSERT INTO `c_configuration` VALUES (64,'allow-force-withdrawal-on-savings-account',0,NULL,NULL,0,0,'If enabled, allows withdrawals to put the account into negative balance up to the configured limit.'); +INSERT INTO `c_configuration` VALUES (65,'force-withdrawal-on-savings-account-limit',0,NULL,NULL,0,0,'The maximum negative balance allowed when force withdrawal is enabled.'); +INSERT INTO `c_configuration` VALUES (66,'max-login-retry-attempts',5,NULL,NULL,0,0,'Maximum number of failed login attempts before an account is locked'); +INSERT INTO `c_configuration` VALUES (67,'allow-cash-and-non-cash-accrual',0,NULL,NULL,1,0,'When enabled (true), accrual transactions are created at disbursement for None, Cash, and Upfront Accrual accounting types (legacy behavior). When disabled (false), accrual transactions at disbursement are created only for Upfront Accrual accounting type.'); +INSERT INTO `c_configuration` VALUES (68,'block-transactions-on-closed-overpaid-loans',NULL,NULL,NULL,0,0,'If enabled: monetary transactions are blocked on closed and overpaid loan accounts'); +INSERT INTO `c_configuration` VALUES (69,'last-day-of-financial-year',31,NULL,NULL,1,0,'31: default for last day of fiscal year'); +INSERT INTO `c_configuration` VALUES (70,'last-month-of-financial-year',12,NULL,NULL,1,0,'12: default for last month of fiscal year'); +INSERT INTO `c_configuration` VALUES (71,'income-expense-gl-accounts',NULL,NULL,'',1,0,'List of income/expense GL account codes for retained earning calculation. Can provide multiple accounts separated by comma or ranges separated by dashes (e.g. 4000,5000-5999,7000). Empty by default, please set before executing job'); +INSERT INTO `c_configuration` VALUES (72,'retained-gl-account',NULL,NULL,'',1,0,'Default retained gl account code. Empty by default, please set before executing job'); +INSERT INTO `c_configuration` VALUES (73,'office-id',1,NULL,NULL,1,0,'OfficeId for which the report and the retained earning job will be executed'); +INSERT INTO `c_configuration` VALUES (74,'retained-earning-used-by-report-name',NULL,NULL,'Trial Balance Summary Report with Asset Owner',1,0,'Report name which will be using using retained earning'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `c_external_service` VALUES (3,'MESSAGE_GATEWAY'); +INSERT INTO `c_external_service` VALUES (4,'NOTIFICATION'); +INSERT INTO `c_external_service` VALUES (1,'S3'); +INSERT INTO `c_external_service` VALUES (2,'SMTP_Email_Account'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `c_external_service_properties` VALUES ('s3_access_key',NULL,1); +INSERT INTO `c_external_service_properties` VALUES ('s3_bucket_name',NULL,1); +INSERT INTO `c_external_service_properties` VALUES ('s3_secret_key',NULL,1); +INSERT INTO `c_external_service_properties` VALUES ('username','support@cloudmicrofinance.com',2); +INSERT INTO `c_external_service_properties` VALUES ('password','support81',2); +INSERT INTO `c_external_service_properties` VALUES ('host','localhost',2); +INSERT INTO `c_external_service_properties` VALUES ('port','3025',2); +INSERT INTO `c_external_service_properties` VALUES ('useTLS','true',2); +INSERT INTO `c_external_service_properties` VALUES ('host_name','localhost',3); +INSERT INTO `c_external_service_properties` VALUES ('port_number','9191',3); +INSERT INTO `c_external_service_properties` VALUES ('end_point','/',3); +INSERT INTO `c_external_service_properties` VALUES ('tenant_app_key',NULL,3); +INSERT INTO `c_external_service_properties` VALUES ('server_key','AAAAToBmqQQ:APA91bEodkE12CwFl8VHqanUbeJYg1E05TiheVz59CZZYrBnCq3uM40UYhHfdP-JfeTQ0L0zoLqS8orjvW_ze0_VF8DSuyyqkrDibflhtUainsI0lwgVz5u1YP3q3c3erqjlySEuRShS',4); +INSERT INTO `c_external_service_properties` VALUES ('gcm_end_point','https://gcm-http.googleapis.com/gcm/send',4); +INSERT INTO `c_external_service_properties` VALUES ('fcm_end_point','https://fcm.googleapis.com/fcm/send',4); +INSERT INTO `c_external_service_properties` VALUES ('fromEmail','support@cloudmicrofinance.com',2); +INSERT INTO `c_external_service_properties` VALUES ('fromName','support@cloudmicrofinance.com',2); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `job` VALUES (2,'Update Loan Arrears Ageing','Update Loan Arrears Ageing','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Update Loan Arrears AgeingJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_ARAG'); +INSERT INTO `job` VALUES (4,'Apply Annual Fee For Savings','Apply Annual Fee For Savings','0 20 22 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Apply Annual Fee For SavingsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'SA_AANF'); +INSERT INTO `job` VALUES (5,'Apply Holidays To Loans','Apply Holidays To Loans','0 0 12 * * ?','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Apply Holidays To LoansJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_AHOL'); +INSERT INTO `job` VALUES (6,'Post Interest For Savings','Post Interest For Savings','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Post Interest For SavingsJobDetail1 _ DEFAULT',NULL,1,0,1,1,0,1,1,'SA_PINT'); +INSERT INTO `job` VALUES (7,'Transfer Fee For Loans From Savings','Transfer Fee For Loans From Savings','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Transfer Fee For Loans From SavingsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_TFFS'); +INSERT INTO `job` VALUES (8,'Pay Due Savings Charges','Pay Due Savings Charges','0 0 12 * * ?','2013-09-23 00:00:00.000000',5,NULL,NULL,NULL,'Pay Due Savings ChargesJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'SA_PDCH'); +INSERT INTO `job` VALUES (9,'Update Accounting Running Balances','Update Accounting Running Balances','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Update Accounting Running BalancesJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'ACC_RBAL'); +INSERT INTO `job` VALUES (10,'Execute Standing Instruction','Execute Standing Instruction','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Execute Standing InstructionJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'STI_EXEC'); +INSERT INTO `job` VALUES (11,'Add Accrual Transactions','Add Accrual Transactions','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',3,NULL,NULL,NULL,'Add Accrual TransactionsJobDetail1 _ DEFAULT',NULL,1,0,1,3,0,1,1,'ACC_AATR'); +INSERT INTO `job` VALUES (12,'Apply penalty to overdue loans','Apply penalty to overdue loans','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Apply penalty to overdue loansJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_OPEN'); +INSERT INTO `job` VALUES (13,'Update Non Performing Assets','Update Non Performing Assets','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',6,NULL,NULL,NULL,'Update Non Performing AssetsJobDetail1 _ DEFAULT',NULL,1,0,1,3,0,1,1,'LA_UNPA'); +INSERT INTO `job` VALUES (14,'Transfer Interest To Savings','Transfer Interest To Savings','0 2 0 1/1 * ? *','2026-08-21 16:28:42.000000',4,NULL,NULL,NULL,'Transfer Interest To SavingsJobDetail1 _ DEFAULT',NULL,1,0,1,1,0,1,1,'SA_TINT'); +INSERT INTO `job` VALUES (15,'Update Deposit Accounts Maturity details','Update Deposit Accounts Maturity details','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Update Deposit Accounts Maturity detailsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'SA_MATD'); +INSERT INTO `job` VALUES (16,'Add Periodic Accrual Transactions','Add Periodic Accrual Transactions','0 2 0 1/1 * ? *','2026-08-21 16:28:42.000000',2,NULL,NULL,NULL,'Add Periodic Accrual TransactionsJobDetail1 _ DEFAULT',NULL,1,0,1,3,0,1,1,'ACC_APTR'); +INSERT INTO `job` VALUES (17,'Recalculate Interest For Loans','Recalculate Interest For Loans','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',4,NULL,NULL,NULL,'Recalculate Interest For LoansJobDetail1 _ DEFAULT',NULL,1,0,1,3,0,1,1,'LA_RINT'); +INSERT INTO `job` VALUES (18,'Generate Mandatory Savings Schedule','Generate Mandatory Savings Schedule','0 5 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Generate Mandatory Savings ScheduleJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'SA_GSCH'); +INSERT INTO `job` VALUES (19,'Generate Loan Loss Provisioning','Generate Loan Loss Provisioning','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Generate Loan Loss ProvisioningJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_GLPR'); +INSERT INTO `job` VALUES (20,'Post Dividends For Shares','Post Dividends For Shares','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Post Dividends For SharesJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'SH_PDIV'); +INSERT INTO `job` VALUES (21,'Update Savings Dormant Accounts','Update Savings Dormant Accounts','0 0 0 1/1 * ? *','2026-08-21 16:28:42.000000',3,NULL,NULL,NULL,'Update Savings Dormant AccountsJobDetail1 _ DEFAULT',NULL,1,0,1,1,0,1,1,'SA_UDOR'); +INSERT INTO `job` VALUES (22,'Add Accrual Transactions For Loans With Income Posted As Transactions','Add Accrual Transactions For Loans With Income Posted As Transactions','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Add Accrual Transactions For Loans With Income Posted As TransactionsJobDetail1 _ DEFAULT',NULL,1,0,1,3,0,1,1,'LA_AATR'); +INSERT INTO `job` VALUES (23,'Execute Report Mailing Jobs','Execute Report Mailing Jobs','0 0/15 * * * ?','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Execute Report Mailing JobsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'RMJ_EXEC'); +INSERT INTO `job` VALUES (24,'Update SMS Outbound with Campaign Message','Update SMS Outbound with Campaign Message','0 0 5 1/1 * ? *','2026-08-21 16:28:42.000000',3,NULL,NULL,NULL,'Update SMS Outbound with Campaign MessageJobDetail1 _ DEFAULT',NULL,1,0,1,4,0,1,1,'SMS_UOUT'); +INSERT INTO `job` VALUES (25,'Send Messages to SMS Gateway','Send Messages to SMS Gateway','0 0 5 1/1 * ? *','2026-08-21 16:28:42.000000',2,NULL,NULL,NULL,'Send Messages to SMS GatewayJobDetail1 _ DEFAULT',NULL,1,0,1,4,0,1,1,'SMS_SMSG'); +INSERT INTO `job` VALUES (26,'Get Delivery Reports from SMS Gateway','Get Delivery Reports from SMS Gateway','0 0 5 1/1 * ? *','2026-08-21 16:28:42.000000',1,NULL,NULL,NULL,'Get Delivery Reports from SMS GatewayJobDetail1 _ DEFAULT',NULL,1,0,1,4,0,1,1,'SMS_DRPT'); +INSERT INTO `job` VALUES (27,'Execute Email','Execute Email','0 0/10 * * * ?','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Execute EmailJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'EM_EXEC'); +INSERT INTO `job` VALUES (28,'Update Email Outbound with campaign message','Update Email Outbound with campaign message','0 0/15 * * * ?','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Update Email Outbound with campaign messageJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'EM_UOUT'); +INSERT INTO `job` VALUES (29,'Generate AdhocClient Schedule','Generate AdhocClient Schedule','0 0 12 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Generate AdhocClient ScheduleJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'ADH_GSCH'); +INSERT INTO `job` VALUES (30,'Update Trial Balance Details','Update Trial Balance Details','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Update Trial Balance DetailsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'TBL_UDET'); +INSERT INTO `job` VALUES (31,'Execute All Dirty Jobs','Execute All Dirty Jobs','0 1 0 1/1 * ? *','2026-08-21 16:28:42.000000',5,NULL,NULL,NULL,'Execute All Dirty JobsJobDetail1 _ DEFAULT',NULL,1,0,1,0,0,0,0,'JOB_EXEC'); +INSERT INTO `job` VALUES (32,'Increase Business Date by 1 day','Increase Business Date by 1 day','0 0 0 1/1 * ? *','2026-08-21 16:28:46.000000',99,NULL,NULL,NULL,'Increase Business Date by 1 dayJobDetail1 _ DEFAULT',NULL,0,0,1,0,0,1,0,'BDT_INC1'); +INSERT INTO `job` VALUES (33,'Increase COB Date by 1 day','Increase COB Date by 1 day','0 0 0 1/1 * ? *','2026-08-21 16:28:46.000000',98,NULL,NULL,NULL,'Increase COB Date by 1 dayJobDetail1 _ DEFAULT',NULL,0,0,1,0,0,1,0,'BDT_COB1'); +INSERT INTO `job` VALUES (34,'Loan COB','Loan COB','0 0 0 * * ?','2026-08-21 16:28:48.000000',5,NULL,NULL,NULL,'Loan COB dayJobDetail1 _ DEFAULT',NULL,0,0,1,0,0,1,0,'LA_ECOB'); +INSERT INTO `job` VALUES (35,'Loan Delinquency Classification','Loan Delinquency Classification','0 0 22 1/1 * ? *','2026-08-21 16:28:48.000000',5,NULL,NULL,NULL,'Loan Delinquency ClassificationDetail1 _ DEFAULT',NULL,1,0,1,0,0,1,1,'LA_DECL'); +INSERT INTO `job` VALUES (36,'Send Asynchronous Events','Send Asynchronous Events','0 0/1 * * * ?','2026-08-21 16:28:48.000000',5,NULL,NULL,NULL,'Send Asynchronous Events _ DEFAULT',NULL,1,0,1,0,0,1,1,'ASE_SEND'); +INSERT INTO `job` VALUES (37,'Purge External Events','Purge External Events','0 1 0 1/1 * ? *','2026-08-21 16:28:48.000000',5,NULL,NULL,NULL,'Purge External Events _ DEFAULT',NULL,0,0,1,0,0,1,1,'EXE_PURG'); +INSERT INTO `job` VALUES (38,'Purge Processed Commands','Purge Processed Commands','0 0 1 * * ?','2026-08-21 16:28:48.000000',5,NULL,NULL,NULL,'Purge Processed Commands _ DEFAULT',NULL,0,0,1,0,0,1,1,'COM_PURG'); +INSERT INTO `job` VALUES (39,'Accrual Activity Posting','Accrual Activity Posting','0 0 1 * * ?','2026-08-21 16:28:51.000000',5,NULL,NULL,NULL,'Accrual Activity Posting1 _ DEFAULT',NULL,0,0,1,0,0,1,1,'ACC_ACPO'); +INSERT INTO `job` VALUES (40,'Journal Entry Aggregation','Journal Entry Aggregation','0 0 6 * * ?','2026-08-21 16:28:52.000000',5,NULL,NULL,NULL,'Journal Entry Aggregation _ DEFAULT',NULL,0,0,1,0,0,1,1,'JRNL_AGG'); +INSERT INTO `job` VALUES (41,'Retained Earning Job','Retained Earning Job','0 0 6 * * ?','2026-08-21 16:28:52.000000',5,NULL,NULL,NULL,'Retained Earning _ DEFAULT',NULL,0,0,1,0,0,1,0,'RE_ERNG'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `job_parameters` VALUES (1,17,'thread-pool-size','10'); +INSERT INTO `job_parameters` VALUES (2,17,'batch-size','100'); +INSERT INTO `job_parameters` VALUES (3,17,'officeId','1'); +INSERT INTO `job_parameters` VALUES (4,6,'thread-pool-size','10'); +INSERT INTO `job_parameters` VALUES (5,6,'batch-size','100'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_appuser` VALUES (1,0,1,NULL,'mifos','App','Administrator','{SHA-256}{1}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a','demomfi@mifos.org',0,1,1,1,1,'2026-08-21',0,NULL,0,0,0,NULL,NULL,0); +INSERT INTO `m_appuser` VALUES (2,0,1,NULL,'system','system','system','{SHA-256}{2}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a','demomfi@mifos.org',0,1,1,1,1,'2026-08-21',0,NULL,0,0,0,NULL,NULL,0); +INSERT INTO `m_appuser` VALUES (3,0,1,NULL,'interopUser','Interop','User','{SHA-256}{3}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a','email@email.com',0,1,1,1,1,'2026-08-21',0,NULL,0,0,0,NULL,NULL,0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_appuser_role` VALUES (1,1); +INSERT INTO `m_appuser_role` VALUES (3,1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_batch_business_steps` VALUES (1,'LOAN_CLOSE_OF_BUSINESS','APPLY_CHARGE_TO_OVERDUE_LOANS',1); +INSERT INTO `m_batch_business_steps` VALUES (2,'LOAN_CLOSE_OF_BUSINESS','LOAN_DELINQUENCY_CLASSIFICATION',2); +INSERT INTO `m_batch_business_steps` VALUES (3,'LOAN_CLOSE_OF_BUSINESS','CHECK_LOAN_REPAYMENT_DUE',3); +INSERT INTO `m_batch_business_steps` VALUES (4,'LOAN_CLOSE_OF_BUSINESS','CHECK_LOAN_REPAYMENT_OVERDUE',4); +INSERT INTO `m_batch_business_steps` VALUES (5,'LOAN_CLOSE_OF_BUSINESS','UPDATE_LOAN_ARREARS_AGING',5); +INSERT INTO `m_batch_business_steps` VALUES (6,'LOAN_CLOSE_OF_BUSINESS','ADD_PERIODIC_ACCRUAL_ENTRIES',6); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_code` VALUES (1,'Customer Identifier',1); +INSERT INTO `m_code` VALUES (2,'LoanCollateral',1); +INSERT INTO `m_code` VALUES (3,'LoanPurpose',1); +INSERT INTO `m_code` VALUES (4,'Gender',1); +INSERT INTO `m_code` VALUES (5,'YesNo',1); +INSERT INTO `m_code` VALUES (6,'GuarantorRelationship',1); +INSERT INTO `m_code` VALUES (7,'AssetAccountTags',1); +INSERT INTO `m_code` VALUES (8,'LiabilityAccountTags',1); +INSERT INTO `m_code` VALUES (9,'EquityAccountTags',1); +INSERT INTO `m_code` VALUES (10,'IncomeAccountTags',1); +INSERT INTO `m_code` VALUES (11,'ExpenseAccountTags',1); +INSERT INTO `m_code` VALUES (13,'GROUPROLE',1); +INSERT INTO `m_code` VALUES (14,'ClientClosureReason',1); +INSERT INTO `m_code` VALUES (15,'GroupClosureReason',1); +INSERT INTO `m_code` VALUES (16,'ClientType',1); +INSERT INTO `m_code` VALUES (17,'ClientClassification',1); +INSERT INTO `m_code` VALUES (18,'ClientSubStatus',1); +INSERT INTO `m_code` VALUES (19,'ClientRejectReason',1); +INSERT INTO `m_code` VALUES (20,'ClientWithdrawReason',1); +INSERT INTO `m_code` VALUES (21,'Entity to Entity Access Types',1); +INSERT INTO `m_code` VALUES (22,'CenterClosureReason',1); +INSERT INTO `m_code` VALUES (23,'LoanRescheduleReason',1); +INSERT INTO `m_code` VALUES (24,'Constitution',1); +INSERT INTO `m_code` VALUES (25,'Main Business Line',1); +INSERT INTO `m_code` VALUES (26,'WriteOffReasons',1); +INSERT INTO `m_code` VALUES (27,'STATE',1); +INSERT INTO `m_code` VALUES (28,'COUNTRY',1); +INSERT INTO `m_code` VALUES (29,'ADDRESS_TYPE',1); +INSERT INTO `m_code` VALUES (30,'MARITAL STATUS',1); +INSERT INTO `m_code` VALUES (31,'RELATIONSHIP',1); +INSERT INTO `m_code` VALUES (32,'PROFESSION',1); +INSERT INTO `m_code` VALUES (33,'PaymentType',1); +INSERT INTO `m_code` VALUES (34,'Customer Documents',1); +INSERT INTO `m_code` VALUES (35,'SavingsAccountBlockReasons',1); +INSERT INTO `m_code` VALUES (36,'DebitTransactionFreezeReasons',1); +INSERT INTO `m_code` VALUES (37,'CreditTransactionFreezeReasons',1); +INSERT INTO `m_code` VALUES (38,'SavingsTransactionFreezeReasons',1); +INSERT INTO `m_code` VALUES (39,'ChargeOffReasons',1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_code_value` VALUES (1,1,'Passport',NULL,1,NULL,1,0); +INSERT INTO `m_code_value` VALUES (2,1,'Id',NULL,2,NULL,1,0); +INSERT INTO `m_code_value` VALUES (3,1,'Drivers License',NULL,3,NULL,1,0); +INSERT INTO `m_code_value` VALUES (4,1,'Any Other Id Type',NULL,4,NULL,1,0); +INSERT INTO `m_code_value` VALUES (5,6,'Spouse',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (6,6,'Parent',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (7,6,'Sibling',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (8,6,'Business Associate',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (9,6,'Other',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (10,21,'Office Access to Loan Products',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (11,21,'Office Access to Savings Products',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (12,21,'Office Access to Fees/Charges',NULL,0,NULL,1,0); +INSERT INTO `m_code_value` VALUES (13,13,'Leader','Group Leader Role',1,NULL,1,0); +INSERT INTO `m_code_value` VALUES (14,33,'Money Transfer',NULL,1,NULL,1,0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_creditbureau` VALUES (1,'THITSAWORKS','1','Myanmar','1'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_creditbureau_configuration` VALUES (1,'Password','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (2,'SubscriptionId','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (3,'SubscriptionKey','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (4,'Username','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (5,'tokenurl','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (6,'searchurl','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (7,'creditReporturl','',1,''); +INSERT INTO `m_creditbureau_configuration` VALUES (8,'addCreditReporturl','',1,''); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_currency` VALUES (1,'AED',2,NULL,NULL,'UAE Dirham','currency.AED'); +INSERT INTO `m_currency` VALUES (2,'AFN',2,NULL,NULL,'Afghanistan Afghani','currency.AFN'); +INSERT INTO `m_currency` VALUES (3,'ALL',2,NULL,NULL,'Albanian Lek','currency.ALL'); +INSERT INTO `m_currency` VALUES (4,'AMD',2,NULL,NULL,'Armenian Dram','currency.AMD'); +INSERT INTO `m_currency` VALUES (5,'ANG',2,NULL,NULL,'Netherlands Antillian Guilder','currency.ANG'); +INSERT INTO `m_currency` VALUES (6,'AOA',2,NULL,NULL,'Angolan Kwanza','currency.AOA'); +INSERT INTO `m_currency` VALUES (7,'ARS',2,NULL,'$','Argentine Peso','currency.ARS'); +INSERT INTO `m_currency` VALUES (8,'AUD',2,NULL,'A$','Australian Dollar','currency.AUD'); +INSERT INTO `m_currency` VALUES (9,'AWG',2,NULL,NULL,'Aruban Guilder','currency.AWG'); +INSERT INTO `m_currency` VALUES (10,'AZM',2,NULL,NULL,'Azerbaijanian Manat','currency.AZM'); +INSERT INTO `m_currency` VALUES (11,'BAM',2,NULL,NULL,'Bosnia and Herzegovina Convertible Marks','currency.BAM'); +INSERT INTO `m_currency` VALUES (12,'BBD',2,NULL,NULL,'Barbados Dollar','currency.BBD'); +INSERT INTO `m_currency` VALUES (13,'BDT',2,NULL,NULL,'Bangladesh Taka','currency.BDT'); +INSERT INTO `m_currency` VALUES (14,'BGN',2,NULL,NULL,'Bulgarian Lev','currency.BGN'); +INSERT INTO `m_currency` VALUES (15,'BHD',3,NULL,NULL,'Bahraini Dinar','currency.BHD'); +INSERT INTO `m_currency` VALUES (16,'BIF',0,NULL,NULL,'Burundi Franc','currency.BIF'); +INSERT INTO `m_currency` VALUES (17,'BMD',2,NULL,NULL,'Bermudian Dollar','currency.BMD'); +INSERT INTO `m_currency` VALUES (18,'BND',2,NULL,'B$','Brunei Dollar','currency.BND'); +INSERT INTO `m_currency` VALUES (19,'BOB',2,NULL,'Bs.','Bolivian Boliviano','currency.BOB'); +INSERT INTO `m_currency` VALUES (20,'BRL',2,NULL,'R$','Brazilian Real','currency.BRL'); +INSERT INTO `m_currency` VALUES (21,'BSD',2,NULL,NULL,'Bahamian Dollar','currency.BSD'); +INSERT INTO `m_currency` VALUES (22,'BTN',2,NULL,NULL,'Bhutan Ngultrum','currency.BTN'); +INSERT INTO `m_currency` VALUES (23,'BWP',2,NULL,NULL,'Botswana Pula','currency.BWP'); +INSERT INTO `m_currency` VALUES (24,'BYR',0,NULL,NULL,'Belarussian Ruble','currency.BYR'); +INSERT INTO `m_currency` VALUES (25,'BZD',2,NULL,'BZ$','Belize Dollar','currency.BZD'); +INSERT INTO `m_currency` VALUES (26,'CAD',2,NULL,NULL,'Canadian Dollar','currency.CAD'); +INSERT INTO `m_currency` VALUES (27,'CDF',2,NULL,NULL,'Franc Congolais','currency.CDF'); +INSERT INTO `m_currency` VALUES (28,'CHF',2,NULL,NULL,'Swiss Franc','currency.CHF'); +INSERT INTO `m_currency` VALUES (29,'CLP',0,NULL,'$','Chilean Peso','currency.CLP'); +INSERT INTO `m_currency` VALUES (30,'CNY',2,NULL,NULL,'Chinese Yuan Renminbi','currency.CNY'); +INSERT INTO `m_currency` VALUES (31,'COP',2,NULL,'$','Colombian Peso','currency.COP'); +INSERT INTO `m_currency` VALUES (32,'CRC',2,NULL,'₡','Costa Rican Colon','currency.CRC'); +INSERT INTO `m_currency` VALUES (33,'CSD',2,NULL,NULL,'Serbian Dinar','currency.CSD'); +INSERT INTO `m_currency` VALUES (34,'CUP',2,NULL,'$MN','Cuban Peso','currency.CUP'); +INSERT INTO `m_currency` VALUES (35,'CVE',2,NULL,NULL,'Cape Verde Escudo','currency.CVE'); +INSERT INTO `m_currency` VALUES (36,'CYP',2,NULL,NULL,'Cyprus Pound','currency.CYP'); +INSERT INTO `m_currency` VALUES (37,'CZK',2,NULL,NULL,'Czech Koruna','currency.CZK'); +INSERT INTO `m_currency` VALUES (38,'DJF',0,NULL,NULL,'Djibouti Franc','currency.DJF'); +INSERT INTO `m_currency` VALUES (39,'DKK',2,NULL,NULL,'Danish Krone','currency.DKK'); +INSERT INTO `m_currency` VALUES (40,'DOP',2,NULL,'RD$','Dominican Peso','currency.DOP'); +INSERT INTO `m_currency` VALUES (41,'DZD',2,NULL,NULL,'Algerian Dinar','currency.DZD'); +INSERT INTO `m_currency` VALUES (42,'EEK',2,NULL,NULL,'Estonian Kroon','currency.EEK'); +INSERT INTO `m_currency` VALUES (43,'EGP',2,NULL,NULL,'Egyptian Pound','currency.EGP'); +INSERT INTO `m_currency` VALUES (44,'ERN',2,NULL,NULL,'Eritrea Nafka','currency.ERN'); +INSERT INTO `m_currency` VALUES (45,'ETB',2,NULL,NULL,'Ethiopian Birr','currency.ETB'); +INSERT INTO `m_currency` VALUES (46,'EUR',2,NULL,'€','Euro','currency.EUR'); +INSERT INTO `m_currency` VALUES (47,'FJD',2,NULL,NULL,'Fiji Dollar','currency.FJD'); +INSERT INTO `m_currency` VALUES (48,'FKP',2,NULL,NULL,'Falkland Islands Pound','currency.FKP'); +INSERT INTO `m_currency` VALUES (49,'GBP',2,NULL,NULL,'Pound Sterling','currency.GBP'); +INSERT INTO `m_currency` VALUES (50,'GEL',2,NULL,NULL,'Georgian Lari','currency.GEL'); +INSERT INTO `m_currency` VALUES (51,'GHC',2,NULL,'GHc','Ghana Cedi','currency.GHC'); +INSERT INTO `m_currency` VALUES (52,'GIP',2,NULL,NULL,'Gibraltar Pound','currency.GIP'); +INSERT INTO `m_currency` VALUES (53,'GMD',2,NULL,NULL,'Gambian Dalasi','currency.GMD'); +INSERT INTO `m_currency` VALUES (54,'GNF',0,NULL,NULL,'Guinea Franc','currency.GNF'); +INSERT INTO `m_currency` VALUES (55,'GTQ',2,NULL,'Q','Guatemala Quetzal','currency.GTQ'); +INSERT INTO `m_currency` VALUES (56,'GYD',2,NULL,NULL,'Guyana Dollar','currency.GYD'); +INSERT INTO `m_currency` VALUES (57,'HKD',2,NULL,NULL,'Hong Kong Dollar','currency.HKD'); +INSERT INTO `m_currency` VALUES (58,'HNL',2,NULL,'L','Honduras Lempira','currency.HNL'); +INSERT INTO `m_currency` VALUES (59,'HRK',2,NULL,NULL,'Croatian Kuna','currency.HRK'); +INSERT INTO `m_currency` VALUES (60,'HTG',2,NULL,'G','Haiti Gourde','currency.HTG'); +INSERT INTO `m_currency` VALUES (61,'HUF',2,NULL,NULL,'Hungarian Forint','currency.HUF'); +INSERT INTO `m_currency` VALUES (62,'IDR',2,NULL,NULL,'Indonesian Rupiah','currency.IDR'); +INSERT INTO `m_currency` VALUES (63,'ILS',2,NULL,NULL,'New Israeli Shekel','currency.ILS'); +INSERT INTO `m_currency` VALUES (64,'INR',2,NULL,'₹','Indian Rupee','currency.INR'); +INSERT INTO `m_currency` VALUES (65,'IQD',3,NULL,NULL,'Iraqi Dinar','currency.IQD'); +INSERT INTO `m_currency` VALUES (66,'IRR',2,NULL,NULL,'Iranian Rial','currency.IRR'); +INSERT INTO `m_currency` VALUES (67,'ISK',0,NULL,NULL,'Iceland Krona','currency.ISK'); +INSERT INTO `m_currency` VALUES (68,'JMD',2,NULL,NULL,'Jamaican Dollar','currency.JMD'); +INSERT INTO `m_currency` VALUES (69,'JOD',3,NULL,NULL,'Jordanian Dinar','currency.JOD'); +INSERT INTO `m_currency` VALUES (70,'JPY',0,NULL,NULL,'Japanese Yen','currency.JPY'); +INSERT INTO `m_currency` VALUES (71,'KES',2,NULL,'KSh','Kenyan Shilling','currency.KES'); +INSERT INTO `m_currency` VALUES (72,'KGS',2,NULL,NULL,'Kyrgyzstan Som','currency.KGS'); +INSERT INTO `m_currency` VALUES (73,'KHR',2,NULL,NULL,'Cambodia Riel','currency.KHR'); +INSERT INTO `m_currency` VALUES (74,'KMF',0,NULL,NULL,'Comoro Franc','currency.KMF'); +INSERT INTO `m_currency` VALUES (75,'KPW',2,NULL,NULL,'North Korean Won','currency.KPW'); +INSERT INTO `m_currency` VALUES (76,'KRW',0,NULL,NULL,'Korean Won','currency.KRW'); +INSERT INTO `m_currency` VALUES (77,'KWD',3,NULL,NULL,'Kuwaiti Dinar','currency.KWD'); +INSERT INTO `m_currency` VALUES (78,'KYD',2,NULL,NULL,'Cayman Islands Dollar','currency.KYD'); +INSERT INTO `m_currency` VALUES (79,'KZT',2,NULL,NULL,'Kazakhstan Tenge','currency.KZT'); +INSERT INTO `m_currency` VALUES (80,'LAK',2,NULL,NULL,'Lao Kip','currency.LAK'); +INSERT INTO `m_currency` VALUES (81,'LBP',2,NULL,'L£','Lebanese Pound','currency.LBP'); +INSERT INTO `m_currency` VALUES (82,'LKR',2,NULL,NULL,'Sri Lanka Rupee','currency.LKR'); +INSERT INTO `m_currency` VALUES (83,'LRD',2,NULL,NULL,'Liberian Dollar','currency.LRD'); +INSERT INTO `m_currency` VALUES (84,'LSL',2,NULL,NULL,'Lesotho Loti','currency.LSL'); +INSERT INTO `m_currency` VALUES (85,'LTL',2,NULL,NULL,'Lithuanian Litas','currency.LTL'); +INSERT INTO `m_currency` VALUES (86,'LVL',2,NULL,NULL,'Latvian Lats','currency.LVL'); +INSERT INTO `m_currency` VALUES (87,'LYD',3,NULL,NULL,'Libyan Dinar','currency.LYD'); +INSERT INTO `m_currency` VALUES (88,'MAD',2,NULL,NULL,'Moroccan Dirham','currency.MAD'); +INSERT INTO `m_currency` VALUES (89,'MDL',2,NULL,NULL,'Moldovan Leu','currency.MDL'); +INSERT INTO `m_currency` VALUES (90,'MGA',2,NULL,NULL,'Malagasy Ariary','currency.MGA'); +INSERT INTO `m_currency` VALUES (91,'MKD',2,NULL,NULL,'Macedonian Denar','currency.MKD'); +INSERT INTO `m_currency` VALUES (92,'MMK',2,NULL,'K','Myanmar Kyat','currency.MMK'); +INSERT INTO `m_currency` VALUES (93,'MNT',2,NULL,NULL,'Mongolian Tugrik','currency.MNT'); +INSERT INTO `m_currency` VALUES (94,'MOP',2,NULL,NULL,'Macau Pataca','currency.MOP'); +INSERT INTO `m_currency` VALUES (95,'MRO',2,NULL,NULL,'Mauritania Ouguiya','currency.MRO'); +INSERT INTO `m_currency` VALUES (96,'MTL',2,NULL,NULL,'Maltese Lira','currency.MTL'); +INSERT INTO `m_currency` VALUES (97,'MUR',2,NULL,NULL,'Mauritius Rupee','currency.MUR'); +INSERT INTO `m_currency` VALUES (98,'MVR',2,NULL,NULL,'Maldives Rufiyaa','currency.MVR'); +INSERT INTO `m_currency` VALUES (99,'MWK',2,NULL,NULL,'Malawi Kwacha','currency.MWK'); +INSERT INTO `m_currency` VALUES (100,'MXN',2,NULL,'$','Mexican Peso','currency.MXN'); +INSERT INTO `m_currency` VALUES (101,'MYR',2,NULL,NULL,'Malaysian Ringgit','currency.MYR'); +INSERT INTO `m_currency` VALUES (102,'MZM',2,NULL,NULL,'Mozambique Metical','currency.MZM'); +INSERT INTO `m_currency` VALUES (103,'NAD',2,NULL,NULL,'Namibia Dollar','currency.NAD'); +INSERT INTO `m_currency` VALUES (104,'NGN',2,NULL,NULL,'Nigerian Naira','currency.NGN'); +INSERT INTO `m_currency` VALUES (105,'NIO',2,NULL,'C$','Nicaragua Cordoba Oro','currency.NIO'); +INSERT INTO `m_currency` VALUES (106,'NOK',2,NULL,NULL,'Norwegian Krone','currency.NOK'); +INSERT INTO `m_currency` VALUES (107,'NPR',2,NULL,NULL,'Nepalese Rupee','currency.NPR'); +INSERT INTO `m_currency` VALUES (108,'NZD',2,NULL,NULL,'New Zealand Dollar','currency.NZD'); +INSERT INTO `m_currency` VALUES (109,'OMR',3,NULL,NULL,'Rial Omani','currency.OMR'); +INSERT INTO `m_currency` VALUES (110,'PAB',2,NULL,'B/.','Panama Balboa','currency.PAB'); +INSERT INTO `m_currency` VALUES (111,'PEN',2,NULL,'S/.','Peruvian Nuevo Sol','currency.PEN'); +INSERT INTO `m_currency` VALUES (112,'PGK',2,NULL,NULL,'Papua New Guinea Kina','currency.PGK'); +INSERT INTO `m_currency` VALUES (113,'PHP',2,NULL,NULL,'Philippine Peso','currency.PHP'); +INSERT INTO `m_currency` VALUES (114,'PKR',2,NULL,NULL,'Pakistan Rupee','currency.PKR'); +INSERT INTO `m_currency` VALUES (115,'PLN',2,NULL,NULL,'Polish Zloty','currency.PLN'); +INSERT INTO `m_currency` VALUES (116,'PYG',0,NULL,'₲','Paraguayan Guarani','currency.PYG'); +INSERT INTO `m_currency` VALUES (117,'QAR',2,NULL,NULL,'Qatari Rial','currency.QAR'); +INSERT INTO `m_currency` VALUES (118,'RON',2,NULL,NULL,'Romanian Leu','currency.RON'); +INSERT INTO `m_currency` VALUES (119,'RUB',2,NULL,NULL,'Russian Ruble','currency.RUB'); +INSERT INTO `m_currency` VALUES (120,'RWF',0,NULL,NULL,'Rwanda Franc','currency.RWF'); +INSERT INTO `m_currency` VALUES (121,'SAR',2,NULL,NULL,'Saudi Riyal','currency.SAR'); +INSERT INTO `m_currency` VALUES (122,'SBD',2,NULL,NULL,'Solomon Islands Dollar','currency.SBD'); +INSERT INTO `m_currency` VALUES (123,'SCR',2,NULL,NULL,'Seychelles Rupee','currency.SCR'); +INSERT INTO `m_currency` VALUES (124,'SDD',2,NULL,NULL,'Sudanese Dinar','currency.SDD'); +INSERT INTO `m_currency` VALUES (125,'SEK',2,NULL,NULL,'Swedish Krona','currency.SEK'); +INSERT INTO `m_currency` VALUES (126,'SGD',2,NULL,NULL,'Singapore Dollar','currency.SGD'); +INSERT INTO `m_currency` VALUES (127,'SHP',2,NULL,NULL,'St Helena Pound','currency.SHP'); +INSERT INTO `m_currency` VALUES (128,'SIT',2,NULL,NULL,'Slovenian Tolar','currency.SIT'); +INSERT INTO `m_currency` VALUES (129,'SKK',2,NULL,NULL,'Slovak Koruna','currency.SKK'); +INSERT INTO `m_currency` VALUES (130,'SLL',2,NULL,NULL,'Sierra Leone Leone','currency.SLL'); +INSERT INTO `m_currency` VALUES (131,'SOS',2,NULL,NULL,'Somali Shilling','currency.SOS'); +INSERT INTO `m_currency` VALUES (132,'SRD',2,NULL,NULL,'Surinam Dollar','currency.SRD'); +INSERT INTO `m_currency` VALUES (133,'STD',2,NULL,NULL,'Sao Tome and Principe Dobra','currency.STD'); +INSERT INTO `m_currency` VALUES (134,'SVC',2,NULL,NULL,'El Salvador Colon','currency.SVC'); +INSERT INTO `m_currency` VALUES (135,'SYP',2,NULL,NULL,'Syrian Pound','currency.SYP'); +INSERT INTO `m_currency` VALUES (136,'SZL',2,NULL,NULL,'Eswatini Lilangeni','currency.SZL'); +INSERT INTO `m_currency` VALUES (137,'THB',2,NULL,NULL,'Thai Baht','currency.THB'); +INSERT INTO `m_currency` VALUES (138,'TJS',2,NULL,NULL,'Tajik Somoni','currency.TJS'); +INSERT INTO `m_currency` VALUES (139,'TMM',2,NULL,NULL,'Turkmenistan Manat','currency.TMM'); +INSERT INTO `m_currency` VALUES (140,'TND',3,NULL,'DT','Tunisian Dinar','currency.TND'); +INSERT INTO `m_currency` VALUES (141,'TOP',2,NULL,NULL,'Tonga Pa\'anga','currency.TOP'); +INSERT INTO `m_currency` VALUES (142,'TRY',2,NULL,NULL,'Turkish Lira','currency.TRY'); +INSERT INTO `m_currency` VALUES (143,'TTD',2,NULL,NULL,'Trinidad and Tobago Dollar','currency.TTD'); +INSERT INTO `m_currency` VALUES (144,'TWD',2,NULL,NULL,'New Taiwan Dollar','currency.TWD'); +INSERT INTO `m_currency` VALUES (145,'TZS',2,NULL,NULL,'Tanzanian Shilling','currency.TZS'); +INSERT INTO `m_currency` VALUES (146,'UAH',2,NULL,NULL,'Ukraine Hryvnia','currency.UAH'); +INSERT INTO `m_currency` VALUES (147,'UGX',2,NULL,'USh','Uganda Shilling','currency.UGX'); +INSERT INTO `m_currency` VALUES (148,'USD',2,NULL,'$','US Dollar','currency.USD'); +INSERT INTO `m_currency` VALUES (149,'UYU',2,NULL,'$U','Peso Uruguayo','currency.UYU'); +INSERT INTO `m_currency` VALUES (150,'UZS',2,NULL,NULL,'Uzbekistan Sum','currency.UZS'); +INSERT INTO `m_currency` VALUES (151,'VEB',2,NULL,'Bs.F.','Venezuelan Bolivar','currency.VEB'); +INSERT INTO `m_currency` VALUES (152,'VND',2,NULL,NULL,'Vietnamese Dong','currency.VND'); +INSERT INTO `m_currency` VALUES (153,'VUV',0,NULL,NULL,'Vanuatu Vatu','currency.VUV'); +INSERT INTO `m_currency` VALUES (154,'WST',2,NULL,NULL,'Samoa Tala','currency.WST'); +INSERT INTO `m_currency` VALUES (155,'XAF',0,NULL,NULL,'CFA Franc BEAC','currency.XAF'); +INSERT INTO `m_currency` VALUES (156,'XCD',2,NULL,NULL,'East Caribbean Dollar','currency.XCD'); +INSERT INTO `m_currency` VALUES (157,'XDR',5,NULL,NULL,'SDR (Special Drawing Rights)','currency.XDR'); +INSERT INTO `m_currency` VALUES (158,'XOF',0,NULL,'CFA','CFA Franc BCEAO','currency.XOF'); +INSERT INTO `m_currency` VALUES (159,'XPF',0,NULL,NULL,'CFP Franc','currency.XPF'); +INSERT INTO `m_currency` VALUES (160,'YER',2,NULL,NULL,'Yemeni Rial','currency.YER'); +INSERT INTO `m_currency` VALUES (161,'ZAR',2,NULL,'R','South African Rand','currency.ZAR'); +INSERT INTO `m_currency` VALUES (162,'ZMK',2,NULL,NULL,'Zambian Kwacha','currency.ZMK'); +INSERT INTO `m_currency` VALUES (163,'ZWD',2,NULL,NULL,'Zimbabwe Dollar','currency.ZWD'); +INSERT INTO `m_currency` VALUES (164,'SSP',2,NULL,'SS£','South Sudanese Pound','currency.SSP'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_entity_relation` VALUES (1,1,2,'office_access_to_loan_products'); +INSERT INTO `m_entity_relation` VALUES (2,1,3,'office_access_to_savings_products'); +INSERT INTO `m_entity_relation` VALUES (3,1,4,'office_access_to_fees/charges'); +INSERT INTO `m_entity_relation` VALUES (4,5,2,'role_access_to_loan_products'); +INSERT INTO `m_entity_relation` VALUES (5,5,3,'role_access_to_savings_products'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_external_event_configuration` VALUES ('CentersCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ClientActivateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ClientCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ClientRejectBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('DocumentCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('DocumentDeletedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('FixedDepositAccountCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('GroupsCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanAcceptTransferBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanAccountsStayedLockedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanAccrualTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanAddChargeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanAdjustTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanApplicationModifiedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanApplyOverdueChargeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanApprovedAmountChangedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanApprovedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanBalanceChangedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanBuyDownFeeAdjustmentTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanBuyDownFeeAmortizationAdjustmentTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanBuyDownFeeAmortizationTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanBuyDownFeeTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCapitalizedIncomeAdjustmentTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCapitalizedIncomeAmortizationAdjustmentTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCapitalizedIncomeAmortizationTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCapitalizedIncomeTransactionCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargeAdjustmentPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargeAdjustmentPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargebackTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargeOffPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargeOffPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargePaymentPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargePaymentPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanChargeRefundBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCloseAsRescheduleBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCloseBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCreatedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCreditBalanceRefundPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanCreditBalanceRefundPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanDeleteChargeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanDelinquencyRangeChangeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanDisbursalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanDisbursalTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanForeClosurePostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanForeClosurePreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanInitiateTransferBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanInterestRecalculationBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanProductCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanReAgeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanReAgeTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanReAmortizeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanReAmortizeTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanReassignOfficerBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRefundPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRefundPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRejectedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRejectTransferBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRemoveOfficerBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRepaymentDueBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRepaymentOverdueBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRescheduledDueAdjustScheduleBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRescheduledDueCalendarChangeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanRescheduledDueHolidayBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanScheduleVariationsAddedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanScheduleVariationsDeletedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanStatusChangedBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionAccrualActivityPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionAccrualActivityPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionGoodwillCreditPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionGoodwillCreditPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionInterestPaymentWaiverPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionInterestPaymentWaiverPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionInterestRefundPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionInterestRefundPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionMakeRepaymentPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionMakeRepaymentPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionMerchantIssuedRefundPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionMerchantIssuedRefundPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionPayoutRefundPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionPayoutRefundPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionRecoveryPaymentPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanTransactionRecoveryPaymentPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoApprovalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoChargeOffBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoDisbursalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoLastDisbursalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoReAgeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoReAgeTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoReAmortizeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoReAmortizeTransactionBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUndoWrittenOffBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUpdateChargeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanUpdateDisbursementDataBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWaiveChargeBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWaiveChargeUndoBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWaiveInterestBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWithdrawnByApplicantBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWithdrawTransferBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWrittenOffPostBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('LoanWrittenOffPreBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('RecurringDepositAccountCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsAccountForceWithdrawalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsActivateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsApproveBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsCloseBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsDepositBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsPostInterestBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsRejectBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('SavingsWithdrawalBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ShareAccountApproveBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ShareAccountCreateBusinessEvent',0); +INSERT INTO `m_external_event_configuration` VALUES ('ShareProductDividentsCreateBusinessEvent',0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_field_configuration` VALUES (1,'ADDRESS','CLIENT','addressType',1,0,''); +INSERT INTO `m_field_configuration` VALUES (3,'ADDRESS','CLIENT','addressLine1',1,0,''); +INSERT INTO `m_field_configuration` VALUES (4,'ADDRESS','CLIENT','addressLine2',1,0,''); +INSERT INTO `m_field_configuration` VALUES (5,'ADDRESS','CLIENT','addressLine3',1,0,''); +INSERT INTO `m_field_configuration` VALUES (6,'ADDRESS','CLIENT','townVillage',0,0,''); +INSERT INTO `m_field_configuration` VALUES (7,'ADDRESS','CLIENT','city',1,0,''); +INSERT INTO `m_field_configuration` VALUES (8,'ADDRESS','CLIENT','countyDistrict',0,0,''); +INSERT INTO `m_field_configuration` VALUES (9,'ADDRESS','CLIENT','stateProvinceId',1,0,''); +INSERT INTO `m_field_configuration` VALUES (10,'ADDRESS','CLIENT','countryId',1,0,''); +INSERT INTO `m_field_configuration` VALUES (11,'ADDRESS','CLIENT','postalCode',1,0,''); +INSERT INTO `m_field_configuration` VALUES (12,'ADDRESS','CLIENT','latitude',0,0,''); +INSERT INTO `m_field_configuration` VALUES (13,'ADDRESS','CLIENT','longitude',0,0,''); +INSERT INTO `m_field_configuration` VALUES (14,'ADDRESS','CLIENT','createdBy',1,0,''); +INSERT INTO `m_field_configuration` VALUES (15,'ADDRESS','CLIENT','createdOn',1,0,''); +INSERT INTO `m_field_configuration` VALUES (16,'ADDRESS','CLIENT','updatedBy',1,0,''); +INSERT INTO `m_field_configuration` VALUES (17,'ADDRESS','CLIENT','updatedOn',1,0,''); +INSERT INTO `m_field_configuration` VALUES (18,'ADDRESS','CLIENT','isActive',1,0,''); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_group_level` VALUES (1,NULL,1,'Center',1,0); +INSERT INTO `m_group_level` VALUES (2,1,0,'Group',0,1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_hook_schema` VALUES (1,1,'string','Payload URL',NULL,0); +INSERT INTO `m_hook_schema` VALUES (2,1,'string','Content Type','json / form',0); +INSERT INTO `m_hook_schema` VALUES (3,2,'string','Payload URL',NULL,0); +INSERT INTO `m_hook_schema` VALUES (4,2,'string','SMS Provider',NULL,0); +INSERT INTO `m_hook_schema` VALUES (5,2,'string','Phone Number',NULL,0); +INSERT INTO `m_hook_schema` VALUES (6,2,'string','SMS Provider Token',NULL,0); +INSERT INTO `m_hook_schema` VALUES (7,2,'string','SMS Provider Account Id',NULL,0); +INSERT INTO `m_hook_schema` VALUES (8,3,'string','Payload URL','http:////',0); +INSERT INTO `m_hook_schema` VALUES (9,3,'string','Content Type','json',0); +INSERT INTO `m_hook_schema` VALUES (10,3,'string','Index Name',NULL,1); +INSERT INTO `m_hook_schema` VALUES (11,4,'string','SMS Provider Id',NULL,0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_hook_templates` VALUES (1,'Web'); +INSERT INTO `m_hook_templates` VALUES (2,'SMS Bridge'); +INSERT INTO `m_hook_templates` VALUES (3,'Elastic Search'); +INSERT INTO `m_hook_templates` VALUES (4,'Message Gateway'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_office` VALUES (1,NULL,'.','1','Head Office','2009-01-01'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_organisation_currency` VALUES (21,'USD',2,NULL,'US Dollar','$','currency.USD'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_password_validation_policy` VALUES (1,'^.{1,50}$','Password most be at least 1 character and not more that 50 characters long',0,'simple'); +INSERT INTO `m_password_validation_policy` VALUES (2,'^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\\s).{6,50}$','Password must be at least 6 characters, no more than 50 characters long, must include at least one upper case letter, one lower case letter, one numeric digit and no space',0,'secure'); +INSERT INTO `m_password_validation_policy` VALUES (3,'^(?!.*(.)\\1)(?!.*\\s)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\\w\\s]).{12,50}$','Password must be 12 to 50 characters long, containing at least one uppercase letter, one lowercase letter, one numeric digit, and one special character, with no spaces or consecutive repeating characters',1,'strong'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_payment_type` VALUES (1,'Money Transfer','Money Transfer',0,1,NULL,0); +INSERT INTO `m_payment_type` VALUES (2,'Repayment Adjustment Chargeback','Repayment Adjustment Chargeback',0,1,'REPAYMENT_ADJUSTMENT_CHARGEBACK',1); +INSERT INTO `m_payment_type` VALUES (3,'Repayment Adjustment Refund','Repayment Adjustment Refund',0,1,'REPAYMENT_ADJUSTMENT_REFUND',1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_permission` VALUES (1,'special','ALL_FUNCTIONS',NULL,NULL,0); +INSERT INTO `m_permission` VALUES (2,'special','ALL_FUNCTIONS_READ',NULL,NULL,0); +INSERT INTO `m_permission` VALUES (3,'special','CHECKER_SUPER_USER',NULL,NULL,0); +INSERT INTO `m_permission` VALUES (4,'special','REPORTING_SUPER_USER',NULL,NULL,0); +INSERT INTO `m_permission` VALUES (5,'authorisation','READ_PERMISSION','PERMISSION','READ',0); +INSERT INTO `m_permission` VALUES (6,'authorisation','PERMISSIONS_ROLE','ROLE','PERMISSIONS',0); +INSERT INTO `m_permission` VALUES (7,'authorisation','CREATE_ROLE','ROLE','CREATE',0); +INSERT INTO `m_permission` VALUES (8,'authorisation','CREATE_ROLE_CHECKER','ROLE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (9,'authorisation','READ_ROLE','ROLE','READ',0); +INSERT INTO `m_permission` VALUES (10,'authorisation','UPDATE_ROLE','ROLE','UPDATE',0); +INSERT INTO `m_permission` VALUES (11,'authorisation','UPDATE_ROLE_CHECKER','ROLE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (12,'authorisation','DELETE_ROLE','ROLE','DELETE',0); +INSERT INTO `m_permission` VALUES (13,'authorisation','DELETE_ROLE_CHECKER','ROLE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (14,'authorisation','CREATE_USER','USER','CREATE',0); +INSERT INTO `m_permission` VALUES (15,'authorisation','CREATE_USER_CHECKER','USER','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (16,'authorisation','READ_USER','USER','READ',0); +INSERT INTO `m_permission` VALUES (17,'authorisation','UPDATE_USER','USER','UPDATE',0); +INSERT INTO `m_permission` VALUES (18,'authorisation','UPDATE_USER_CHECKER','USER','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (19,'authorisation','DELETE_USER','USER','DELETE',0); +INSERT INTO `m_permission` VALUES (20,'authorisation','DELETE_USER_CHECKER','USER','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (21,'configuration','READ_CONFIGURATION','CONFIGURATION','READ',0); +INSERT INTO `m_permission` VALUES (22,'configuration','UPDATE_CONFIGURATION','CONFIGURATION','UPDATE',0); +INSERT INTO `m_permission` VALUES (23,'configuration','UPDATE_CONFIGURATION_CHECKER','CONFIGURATION','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (24,'configuration','READ_CODE','CODE','READ',0); +INSERT INTO `m_permission` VALUES (25,'configuration','CREATE_CODE','CODE','CREATE',0); +INSERT INTO `m_permission` VALUES (26,'configuration','CREATE_CODE_CHECKER','CODE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (27,'configuration','UPDATE_CODE','CODE','UPDATE',0); +INSERT INTO `m_permission` VALUES (28,'configuration','UPDATE_CODE_CHECKER','CODE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (29,'configuration','DELETE_CODE','CODE','DELETE',0); +INSERT INTO `m_permission` VALUES (30,'configuration','DELETE_CODE_CHECKER','CODE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (31,'configuration','READ_CODEVALUE','CODEVALUE','READ',0); +INSERT INTO `m_permission` VALUES (32,'configuration','CREATE_CODEVALUE','CODEVALUE','CREATE',0); +INSERT INTO `m_permission` VALUES (33,'configuration','CREATE_CODEVALUE_CHECKER','CODEVALUE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (34,'configuration','UPDATE_CODEVALUE','CODEVALUE','UPDATE',0); +INSERT INTO `m_permission` VALUES (35,'configuration','UPDATE_CODEVALUE_CHECKER','CODEVALUE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (36,'configuration','DELETE_CODEVALUE','CODEVALUE','DELETE',0); +INSERT INTO `m_permission` VALUES (37,'configuration','DELETE_CODEVALUE_CHECKER','CODEVALUE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (38,'configuration','READ_CURRENCY','CURRENCY','READ',0); +INSERT INTO `m_permission` VALUES (39,'configuration','UPDATE_CURRENCY','CURRENCY','UPDATE',0); +INSERT INTO `m_permission` VALUES (40,'configuration','UPDATE_CURRENCY_CHECKER','CURRENCY','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (41,'configuration','UPDATE_PERMISSION','PERMISSION','UPDATE',0); +INSERT INTO `m_permission` VALUES (42,'configuration','UPDATE_PERMISSION_CHECKER','PERMISSION','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (43,'configuration','READ_DATATABLE','DATATABLE','READ',0); +INSERT INTO `m_permission` VALUES (44,'configuration','REGISTER_DATATABLE','DATATABLE','REGISTER',0); +INSERT INTO `m_permission` VALUES (45,'configuration','REGISTER_DATATABLE_CHECKER','DATATABLE','REGISTER_CHECKER',0); +INSERT INTO `m_permission` VALUES (46,'configuration','DEREGISTER_DATATABLE','DATATABLE','DEREGISTER',0); +INSERT INTO `m_permission` VALUES (47,'configuration','DEREGISTER_DATATABLE_CHECKER','DATATABLE','DEREGISTER_CHECKER',0); +INSERT INTO `m_permission` VALUES (48,'configuration','READ_AUDIT','AUDIT','READ',0); +INSERT INTO `m_permission` VALUES (49,'configuration','CREATE_CALENDAR','CALENDAR','CREATE',0); +INSERT INTO `m_permission` VALUES (50,'configuration','READ_CALENDAR','CALENDAR','READ',0); +INSERT INTO `m_permission` VALUES (51,'configuration','UPDATE_CALENDAR','CALENDAR','UPDATE',0); +INSERT INTO `m_permission` VALUES (52,'configuration','DELETE_CALENDAR','CALENDAR','DELETE',0); +INSERT INTO `m_permission` VALUES (53,'configuration','CREATE_CALENDAR_CHECKER','CALENDAR','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (54,'configuration','UPDATE_CALENDAR_CHECKER','CALENDAR','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (55,'configuration','DELETE_CALENDAR_CHECKER','CALENDAR','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (57,'organisation','READ_CHARGE','CHARGE','READ',0); +INSERT INTO `m_permission` VALUES (58,'organisation','CREATE_CHARGE','CHARGE','CREATE',0); +INSERT INTO `m_permission` VALUES (59,'organisation','CREATE_CHARGE_CHECKER','CHARGE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (60,'organisation','UPDATE_CHARGE','CHARGE','UPDATE',0); +INSERT INTO `m_permission` VALUES (61,'organisation','UPDATE_CHARGE_CHECKER','CHARGE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (62,'organisation','DELETE_CHARGE','CHARGE','DELETE',0); +INSERT INTO `m_permission` VALUES (63,'organisation','DELETE_CHARGE_CHECKER','CHARGE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (64,'organisation','READ_FUND','FUND','READ',0); +INSERT INTO `m_permission` VALUES (65,'organisation','CREATE_FUND','FUND','CREATE',0); +INSERT INTO `m_permission` VALUES (66,'organisation','CREATE_FUND_CHECKER','FUND','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (67,'organisation','UPDATE_FUND','FUND','UPDATE',0); +INSERT INTO `m_permission` VALUES (68,'organisation','UPDATE_FUND_CHECKER','FUND','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (69,'organisation','DELETE_FUND','FUND','DELETE',0); +INSERT INTO `m_permission` VALUES (70,'organisation','DELETE_FUND_CHECKER','FUND','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (71,'organisation','READ_LOANPRODUCT','LOANPRODUCT','READ',0); +INSERT INTO `m_permission` VALUES (72,'organisation','CREATE_LOANPRODUCT','LOANPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (73,'organisation','CREATE_LOANPRODUCT_CHECKER','LOANPRODUCT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (74,'organisation','UPDATE_LOANPRODUCT','LOANPRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (75,'organisation','UPDATE_LOANPRODUCT_CHECKER','LOANPRODUCT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (76,'organisation','DELETE_LOANPRODUCT','LOANPRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (77,'organisation','DELETE_LOANPRODUCT_CHECKER','LOANPRODUCT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (78,'organisation','READ_OFFICE','OFFICE','READ',0); +INSERT INTO `m_permission` VALUES (79,'organisation','CREATE_OFFICE','OFFICE','CREATE',0); +INSERT INTO `m_permission` VALUES (80,'organisation','CREATE_OFFICE_CHECKER','OFFICE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (81,'organisation','UPDATE_OFFICE','OFFICE','UPDATE',0); +INSERT INTO `m_permission` VALUES (82,'organisation','UPDATE_OFFICE_CHECKER','OFFICE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (83,'organisation','READ_OFFICETRANSACTION','OFFICETRANSACTION','READ',0); +INSERT INTO `m_permission` VALUES (84,'organisation','DELETE_OFFICE_CHECKER','OFFICE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (85,'organisation','CREATE_OFFICETRANSACTION','OFFICETRANSACTION','CREATE',0); +INSERT INTO `m_permission` VALUES (86,'organisation','CREATE_OFFICETRANSACTION_CHECKER','OFFICETRANSACTION','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (87,'organisation','DELETE_OFFICETRANSACTION','OFFICETRANSACTION','DELETE',0); +INSERT INTO `m_permission` VALUES (88,'organisation','DELETE_OFFICETRANSACTION_CHECKER','OFFICETRANSACTION','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (89,'organisation','READ_STAFF','STAFF','READ',0); +INSERT INTO `m_permission` VALUES (90,'organisation','CREATE_STAFF','STAFF','CREATE',0); +INSERT INTO `m_permission` VALUES (91,'organisation','CREATE_STAFF_CHECKER','STAFF','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (92,'organisation','UPDATE_STAFF','STAFF','UPDATE',0); +INSERT INTO `m_permission` VALUES (93,'organisation','UPDATE_STAFF_CHECKER','STAFF','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (94,'organisation','DELETE_STAFF','STAFF','DELETE',0); +INSERT INTO `m_permission` VALUES (95,'organisation','DELETE_STAFF_CHECKER','STAFF','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (96,'organisation','READ_SAVINGSPRODUCT','SAVINGSPRODUCT','READ',0); +INSERT INTO `m_permission` VALUES (97,'organisation','CREATE_SAVINGSPRODUCT','SAVINGSPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (98,'organisation','CREATE_SAVINGSPRODUCT_CHECKER','SAVINGSPRODUCT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (99,'organisation','UPDATE_SAVINGSPRODUCT','SAVINGSPRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (100,'organisation','UPDATE_SAVINGSPRODUCT_CHECKER','SAVINGSPRODUCT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (101,'organisation','DELETE_SAVINGSPRODUCT','SAVINGSPRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (102,'organisation','DELETE_SAVINGSPRODUCT_CHECKER','SAVINGSPRODUCT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (103,'portfolio','READ_LOAN','LOAN','READ',0); +INSERT INTO `m_permission` VALUES (104,'portfolio','CREATE_LOAN','LOAN','CREATE',0); +INSERT INTO `m_permission` VALUES (105,'portfolio','CREATE_LOAN_CHECKER','LOAN','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (106,'portfolio','UPDATE_LOAN','LOAN','UPDATE',0); +INSERT INTO `m_permission` VALUES (107,'portfolio','UPDATE_LOAN_CHECKER','LOAN','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (108,'portfolio','DELETE_LOAN','LOAN','DELETE',0); +INSERT INTO `m_permission` VALUES (109,'portfolio','DELETE_LOAN_CHECKER','LOAN','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (110,'portfolio','READ_CLIENT','CLIENT','READ',0); +INSERT INTO `m_permission` VALUES (111,'portfolio','CREATE_CLIENT','CLIENT','CREATE',0); +INSERT INTO `m_permission` VALUES (112,'portfolio','CREATE_CLIENT_CHECKER','CLIENT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (113,'portfolio','UPDATE_CLIENT','CLIENT','UPDATE',0); +INSERT INTO `m_permission` VALUES (114,'portfolio','UPDATE_CLIENT_CHECKER','CLIENT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (115,'portfolio','DELETE_CLIENT','CLIENT','DELETE',0); +INSERT INTO `m_permission` VALUES (116,'portfolio','DELETE_CLIENT_CHECKER','CLIENT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (117,'portfolio','READ_CLIENTIMAGE','CLIENTIMAGE','READ',0); +INSERT INTO `m_permission` VALUES (118,'portfolio','CREATE_CLIENTIMAGE','CLIENTIMAGE','CREATE',0); +INSERT INTO `m_permission` VALUES (119,'portfolio','CREATE_CLIENTIMAGE_CHECKER','CLIENTIMAGE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (120,'portfolio','DELETE_CLIENTIMAGE','CLIENTIMAGE','DELETE',0); +INSERT INTO `m_permission` VALUES (121,'portfolio','DELETE_CLIENTIMAGE_CHECKER','CLIENTIMAGE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (122,'portfolio','READ_CLIENTNOTE','CLIENTNOTE','READ',0); +INSERT INTO `m_permission` VALUES (123,'portfolio','CREATE_CLIENTNOTE','CLIENTNOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (124,'portfolio','CREATE_CLIENTNOTE_CHECKER','CLIENTNOTE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (125,'portfolio','UPDATE_CLIENTNOTE','CLIENTNOTE','UPDATE',0); +INSERT INTO `m_permission` VALUES (126,'portfolio','UPDATE_CLIENTNOTE_CHECKER','CLIENTNOTE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (127,'portfolio','DELETE_CLIENTNOTE','CLIENTNOTE','DELETE',0); +INSERT INTO `m_permission` VALUES (128,'portfolio','DELETE_CLIENTNOTE_CHECKER','CLIENTNOTE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (129,'portfolio_group','READ_GROUPNOTE','GROUPNOTE','READ',0); +INSERT INTO `m_permission` VALUES (130,'portfolio_group','CREATE_GROUPNOTE','GROUPNOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (131,'portfolio_group','UPDATE_GROUPNOTE','GROUPNOTE','UPDATE',0); +INSERT INTO `m_permission` VALUES (132,'portfolio_group','DELETE_GROUPNOTE','GROUPNOTE','DELETE',0); +INSERT INTO `m_permission` VALUES (133,'portfolio_group','CREATE_GROUPNOTE_CHECKER','GROUPNOTE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (134,'portfolio_group','UPDATE_GROUPNOTE_CHECKER','GROUPNOTE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (135,'portfolio_group','DELETE_GROUPNOTE_CHECKER','GROUPNOTE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (136,'portfolio','READ_LOANNOTE','LOANNOTE','READ',0); +INSERT INTO `m_permission` VALUES (137,'portfolio','CREATE_LOANNOTE','LOANNOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (138,'portfolio','UPDATE_LOANNOTE','LOANNOTE','UPDATE',0); +INSERT INTO `m_permission` VALUES (139,'portfolio','DELETE_LOANNOTE','LOANNOTE','DELETE',0); +INSERT INTO `m_permission` VALUES (140,'portfolio','CREATE_LOANNOTE_CHECKER','LOANNOTE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (141,'portfolio','UPDATE_LOANNOTE_CHECKER','LOANNOTE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (142,'portfolio','DELETE_LOANNOTE_CHECKER','LOANNOTE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (143,'portfolio','READ_LOANTRANSACTIONNOTE','LOANTRANSACTIONNOTE','READ',0); +INSERT INTO `m_permission` VALUES (144,'portfolio','CREATE_LOANTRANSACTIONNOTE','LOANTRANSACTIONNOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (145,'portfolio','UPDATE_LOANTRANSACTIONNOTE','LOANTRANSACTIONNOTE','UPDATE',0); +INSERT INTO `m_permission` VALUES (146,'portfolio','DELETE_LOANTRANSACTIONNOTE','LOANTRANSACTIONNOTE','DELETE',0); +INSERT INTO `m_permission` VALUES (147,'portfolio','CREATE_LOANTRANSACTIONNOTE_CHECKER','LOANTRANSACTIONNOTE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (148,'portfolio','UPDATE_LOANTRANSACTIONNOTE_CHECKER','LOANTRANSACTIONNOTE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (149,'portfolio','DELETE_LOANTRANSACTIONNOTE_CHECKER','LOANTRANSACTIONNOTE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (150,'portfolio','READ_SAVINGNOTE','SAVINGNOTE','READ',0); +INSERT INTO `m_permission` VALUES (151,'portfolio','CREATE_SAVINGNOTE','SAVINGNOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (152,'portfolio','UPDATE_SAVINGNOTE','SAVINGNOTE','UPDATE',0); +INSERT INTO `m_permission` VALUES (153,'portfolio','DELETE_SAVINGNOTE','SAVINGNOTE','DELETE',0); +INSERT INTO `m_permission` VALUES (154,'portfolio','CREATE_SAVINGNOTE_CHECKER','SAVINGNOTE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (155,'portfolio','UPDATE_SAVINGNOTE_CHECKER','SAVINGNOTE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (156,'portfolio','DELETE_SAVINGNOTE_CHECKER','SAVINGNOTE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (157,'portfolio','READ_CLIENTIDENTIFIER','CLIENTIDENTIFIER','READ',0); +INSERT INTO `m_permission` VALUES (158,'portfolio','CREATE_CLIENTIDENTIFIER','CLIENTIDENTIFIER','CREATE',0); +INSERT INTO `m_permission` VALUES (159,'portfolio','CREATE_CLIENTIDENTIFIER_CHECKER','CLIENTIDENTIFIER','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (160,'portfolio','UPDATE_CLIENTIDENTIFIER','CLIENTIDENTIFIER','UPDATE',0); +INSERT INTO `m_permission` VALUES (161,'portfolio','UPDATE_CLIENTIDENTIFIER_CHECKER','CLIENTIDENTIFIER','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (162,'portfolio','DELETE_CLIENTIDENTIFIER','CLIENTIDENTIFIER','DELETE',0); +INSERT INTO `m_permission` VALUES (163,'portfolio','DELETE_CLIENTIDENTIFIER_CHECKER','CLIENTIDENTIFIER','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (164,'portfolio','READ_DOCUMENT','DOCUMENT','READ',0); +INSERT INTO `m_permission` VALUES (165,'portfolio','CREATE_DOCUMENT','DOCUMENT','CREATE',0); +INSERT INTO `m_permission` VALUES (166,'portfolio','CREATE_DOCUMENT_CHECKER','DOCUMENT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (167,'portfolio','UPDATE_DOCUMENT','DOCUMENT','UPDATE',0); +INSERT INTO `m_permission` VALUES (168,'portfolio','UPDATE_DOCUMENT_CHECKER','DOCUMENT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (169,'portfolio','DELETE_DOCUMENT','DOCUMENT','DELETE',0); +INSERT INTO `m_permission` VALUES (170,'portfolio','DELETE_DOCUMENT_CHECKER','DOCUMENT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (171,'portfolio_group','READ_GROUP','GROUP','READ',0); +INSERT INTO `m_permission` VALUES (172,'portfolio_group','CREATE_GROUP','GROUP','CREATE',0); +INSERT INTO `m_permission` VALUES (173,'portfolio_group','CREATE_GROUP_CHECKER','GROUP','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (174,'portfolio_group','UPDATE_GROUP','GROUP','UPDATE',0); +INSERT INTO `m_permission` VALUES (175,'portfolio_group','UPDATE_GROUP_CHECKER','GROUP','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (176,'portfolio_group','DELETE_GROUP','GROUP','DELETE',0); +INSERT INTO `m_permission` VALUES (177,'portfolio_group','DELETE_GROUP_CHECKER','GROUP','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (178,'portfolio_group','UNASSIGNSTAFF_GROUP','GROUP','UNASSIGNSTAFF',0); +INSERT INTO `m_permission` VALUES (179,'portfolio_group','UNASSIGNSTAFF_GROUP_CHECKER','GROUP','UNASSIGNSTAFF_CHECKER',0); +INSERT INTO `m_permission` VALUES (180,'portfolio','CREATE_LOANCHARGE','LOANCHARGE','CREATE',0); +INSERT INTO `m_permission` VALUES (181,'portfolio','CREATE_LOANCHARGE_CHECKER','LOANCHARGE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (182,'portfolio','UPDATE_LOANCHARGE','LOANCHARGE','UPDATE',0); +INSERT INTO `m_permission` VALUES (183,'portfolio','UPDATE_LOANCHARGE_CHECKER','LOANCHARGE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (184,'portfolio','DELETE_LOANCHARGE','LOANCHARGE','DELETE',0); +INSERT INTO `m_permission` VALUES (185,'portfolio','DELETE_LOANCHARGE_CHECKER','LOANCHARGE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (186,'portfolio','WAIVE_LOANCHARGE','LOANCHARGE','WAIVE',0); +INSERT INTO `m_permission` VALUES (187,'portfolio','WAIVE_LOANCHARGE_CHECKER','LOANCHARGE','WAIVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (188,'portfolio','READ_SAVINGSACCOUNT','SAVINGSACCOUNT','READ',0); +INSERT INTO `m_permission` VALUES (189,'portfolio','CREATE_SAVINGSACCOUNT','SAVINGSACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (190,'portfolio','CREATE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (191,'portfolio','UPDATE_SAVINGSACCOUNT','SAVINGSACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (192,'portfolio','UPDATE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (193,'portfolio','DELETE_SAVINGSACCOUNT','SAVINGSACCOUNT','DELETE',0); +INSERT INTO `m_permission` VALUES (194,'portfolio','DELETE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (195,'portfolio','READ_GUARANTOR','GUARANTOR','READ',0); +INSERT INTO `m_permission` VALUES (196,'portfolio','CREATE_GUARANTOR','GUARANTOR','CREATE',0); +INSERT INTO `m_permission` VALUES (197,'portfolio','CREATE_GUARANTOR_CHECKER','GUARANTOR','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (198,'portfolio','UPDATE_GUARANTOR','GUARANTOR','UPDATE',0); +INSERT INTO `m_permission` VALUES (199,'portfolio','UPDATE_GUARANTOR_CHECKER','GUARANTOR','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (200,'portfolio','DELETE_GUARANTOR','GUARANTOR','DELETE',0); +INSERT INTO `m_permission` VALUES (201,'portfolio','DELETE_GUARANTOR_CHECKER','GUARANTOR','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (202,'portfolio','READ_COLLATERAL','COLLATERAL','READ',0); +INSERT INTO `m_permission` VALUES (203,'portfolio','CREATE_COLLATERAL','COLLATERAL','CREATE',0); +INSERT INTO `m_permission` VALUES (204,'portfolio','UPDATE_COLLATERAL','COLLATERAL','UPDATE',0); +INSERT INTO `m_permission` VALUES (205,'portfolio','DELETE_COLLATERAL','COLLATERAL','DELETE',0); +INSERT INTO `m_permission` VALUES (206,'portfolio','CREATE_COLLATERAL_CHECKER','COLLATERAL','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (207,'portfolio','UPDATE_COLLATERAL_CHECKER','COLLATERAL','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (208,'portfolio','DELETE_COLLATERAL_CHECKER','COLLATERAL','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (209,'transaction_loan','APPROVE_LOAN','LOAN','APPROVE',0); +INSERT INTO `m_permission` VALUES (211,'transaction_loan','REJECT_LOAN','LOAN','REJECT',0); +INSERT INTO `m_permission` VALUES (213,'transaction_loan','WITHDRAW_LOAN','LOAN','WITHDRAW',0); +INSERT INTO `m_permission` VALUES (215,'transaction_loan','APPROVALUNDO_LOAN','LOAN','APPROVALUNDO',0); +INSERT INTO `m_permission` VALUES (216,'transaction_loan','DISBURSE_LOAN','LOAN','DISBURSE',0); +INSERT INTO `m_permission` VALUES (218,'transaction_loan','DISBURSALUNDO_LOAN','LOAN','DISBURSALUNDO',0); +INSERT INTO `m_permission` VALUES (219,'transaction_loan','REPAYMENT_LOAN','LOAN','REPAYMENT',0); +INSERT INTO `m_permission` VALUES (221,'transaction_loan','ADJUST_LOAN','LOAN','ADJUST',0); +INSERT INTO `m_permission` VALUES (222,'transaction_loan','WAIVEINTERESTPORTION_LOAN','LOAN','WAIVEINTERESTPORTION',0); +INSERT INTO `m_permission` VALUES (223,'transaction_loan','WRITEOFF_LOAN','LOAN','WRITEOFF',0); +INSERT INTO `m_permission` VALUES (224,'transaction_loan','CLOSE_LOAN','LOAN','CLOSE',0); +INSERT INTO `m_permission` VALUES (225,'transaction_loan','CLOSEASRESCHEDULED_LOAN','LOAN','CLOSEASRESCHEDULED',0); +INSERT INTO `m_permission` VALUES (226,'transaction_loan','UPDATELOANOFFICER_LOAN','LOAN','UPDATELOANOFFICER',0); +INSERT INTO `m_permission` VALUES (227,'transaction_loan','UPDATELOANOFFICER_LOAN_CHECKER','LOAN','UPDATELOANOFFICER_CHECKER',0); +INSERT INTO `m_permission` VALUES (228,'transaction_loan','REMOVELOANOFFICER_LOAN','LOAN','REMOVELOANOFFICER',0); +INSERT INTO `m_permission` VALUES (229,'transaction_loan','REMOVELOANOFFICER_LOAN_CHECKER','LOAN','REMOVELOANOFFICER_CHECKER',0); +INSERT INTO `m_permission` VALUES (230,'transaction_loan','BULKREASSIGN_LOAN','LOAN','BULKREASSIGN',0); +INSERT INTO `m_permission` VALUES (231,'transaction_loan','BULKREASSIGN_LOAN_CHECKER','LOAN','BULKREASSIGN_CHECKER',0); +INSERT INTO `m_permission` VALUES (232,'transaction_loan','APPROVE_LOAN_CHECKER','LOAN','APPROVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (234,'transaction_loan','REJECT_LOAN_CHECKER','LOAN','REJECT_CHECKER',0); +INSERT INTO `m_permission` VALUES (236,'transaction_loan','WITHDRAW_LOAN_CHECKER','LOAN','WITHDRAW_CHECKER',0); +INSERT INTO `m_permission` VALUES (238,'transaction_loan','APPROVALUNDO_LOAN_CHECKER','LOAN','APPROVALUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (239,'transaction_loan','DISBURSE_LOAN_CHECKER','LOAN','DISBURSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (241,'transaction_loan','DISBURSALUNDO_LOAN_CHECKER','LOAN','DISBURSALUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (242,'transaction_loan','REPAYMENT_LOAN_CHECKER','LOAN','REPAYMENT_CHECKER',0); +INSERT INTO `m_permission` VALUES (244,'transaction_loan','ADJUST_LOAN_CHECKER','LOAN','ADJUST_CHECKER',0); +INSERT INTO `m_permission` VALUES (245,'transaction_loan','WAIVEINTERESTPORTION_LOAN_CHECKER','LOAN','WAIVEINTERESTPORTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (246,'transaction_loan','WRITEOFF_LOAN_CHECKER','LOAN','WRITEOFF_CHECKER',0); +INSERT INTO `m_permission` VALUES (247,'transaction_loan','CLOSE_LOAN_CHECKER','LOAN','CLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (248,'transaction_loan','CLOSEASRESCHEDULED_LOAN_CHECKER','LOAN','CLOSEASRESCHEDULED_CHECKER',0); +INSERT INTO `m_permission` VALUES (249,'transaction_loan','UNDO_WAIVECHARGE','WAIVECHARGE','UNDO',0); +INSERT INTO `m_permission` VALUES (250,'transaction_savings','DEPOSIT_SAVINGSACCOUNT','SAVINGSACCOUNT','DEPOSIT',0); +INSERT INTO `m_permission` VALUES (251,'transaction_savings','DEPOSIT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','DEPOSIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (252,'transaction_savings','WITHDRAWAL_SAVINGSACCOUNT','SAVINGSACCOUNT','WITHDRAWAL',0); +INSERT INTO `m_permission` VALUES (253,'transaction_savings','WITHDRAWAL_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','WITHDRAWAL_CHECKER',0); +INSERT INTO `m_permission` VALUES (254,'transaction_savings','ACTIVATE_SAVINGSACCOUNT','SAVINGSACCOUNT','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (255,'transaction_savings','ACTIVATE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (256,'transaction_savings','CALCULATEINTEREST_SAVINGSACCOUNT','SAVINGSACCOUNT','CALCULATEINTEREST',0); +INSERT INTO `m_permission` VALUES (257,'transaction_savings','CALCULATEINTEREST_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','CALCULATEINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (258,'accounting','CREATE_GLACCOUNT','GLACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (259,'accounting','UPDATE_GLACCOUNT','GLACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (260,'accounting','DELETE_GLACCOUNT','GLACCOUNT','DELETE',0); +INSERT INTO `m_permission` VALUES (261,'accounting','CREATE_GLCLOSURE','GLCLOSURE','CREATE',0); +INSERT INTO `m_permission` VALUES (262,'accounting','UPDATE_GLCLOSURE','GLCLOSURE','UPDATE',0); +INSERT INTO `m_permission` VALUES (263,'accounting','DELETE_GLCLOSURE','GLCLOSURE','DELETE',0); +INSERT INTO `m_permission` VALUES (264,'accounting','CREATE_JOURNALENTRY','JOURNALENTRY','CREATE',0); +INSERT INTO `m_permission` VALUES (265,'accounting','REVERSE_JOURNALENTRY','JOURNALENTRY','REVERSE',0); +INSERT INTO `m_permission` VALUES (266,'report','READ_Active Loans - Details','Active Loans - Details','READ',0); +INSERT INTO `m_permission` VALUES (267,'report','READ_Active Loans - Summary','Active Loans - Summary','READ',0); +INSERT INTO `m_permission` VALUES (268,'report','READ_Active Loans by Disbursal Period','Active Loans by Disbursal Period','READ',0); +INSERT INTO `m_permission` VALUES (269,'report','READ_Active Loans in last installment','Active Loans in last installment','READ',0); +INSERT INTO `m_permission` VALUES (270,'report','READ_Active Loans in last installment Summary','Active Loans in last installment Summary','READ',0); +INSERT INTO `m_permission` VALUES (271,'report','READ_Active Loans Passed Final Maturity','Active Loans Passed Final Maturity','READ',0); +INSERT INTO `m_permission` VALUES (272,'report','READ_Active Loans Passed Final Maturity Summary','Active Loans Passed Final Maturity Summary','READ',0); +INSERT INTO `m_permission` VALUES (273,'report','READ_Aging Detail','Aging Detail','READ',0); +INSERT INTO `m_permission` VALUES (274,'report','READ_Aging Summary (Arrears in Months)','Aging Summary (Arrears in Months)','READ',0); +INSERT INTO `m_permission` VALUES (275,'report','READ_Aging Summary (Arrears in Weeks)','Aging Summary (Arrears in Weeks)','READ',0); +INSERT INTO `m_permission` VALUES (276,'report','READ_Balance Sheet','Balance Sheet','READ',0); +INSERT INTO `m_permission` VALUES (277,'report','READ_Branch Expected Cash Flow','Branch Expected Cash Flow','READ',0); +INSERT INTO `m_permission` VALUES (278,'report','READ_Client Listing','Client Listing','READ',0); +INSERT INTO `m_permission` VALUES (279,'report','READ_Client Loans Listing','Client Loans Listing','READ',0); +INSERT INTO `m_permission` VALUES (280,'report','READ_Expected Payments By Date - Basic','Expected Payments By Date - Basic','READ',0); +INSERT INTO `m_permission` VALUES (281,'report','READ_Expected Payments By Date - Formatted','Expected Payments By Date - Formatted','READ',0); +INSERT INTO `m_permission` VALUES (282,'report','READ_Funds Disbursed Between Dates Summary','Funds Disbursed Between Dates Summary','READ',0); +INSERT INTO `m_permission` VALUES (283,'report','READ_Funds Disbursed Between Dates Summary by Office','Funds Disbursed Between Dates Summary by Office','READ',0); +INSERT INTO `m_permission` VALUES (284,'report','READ_Income Statement','Income Statement','READ',0); +INSERT INTO `m_permission` VALUES (285,'report','READ_Loan Account Schedule','Loan Account Schedule','READ',0); +INSERT INTO `m_permission` VALUES (286,'report','READ_Loans Awaiting Disbursal','Loans Awaiting Disbursal','READ',0); +INSERT INTO `m_permission` VALUES (287,'report','READ_Loans Awaiting Disbursal Summary','Loans Awaiting Disbursal Summary','READ',0); +INSERT INTO `m_permission` VALUES (288,'report','READ_Loans Awaiting Disbursal Summary by Month','Loans Awaiting Disbursal Summary by Month','READ',0); +INSERT INTO `m_permission` VALUES (289,'report','READ_Loans Pending Approval','Loans Pending Approval','READ',0); +INSERT INTO `m_permission` VALUES (290,'report','READ_Obligation Met Loans Details','Obligation Met Loans Details','READ',0); +INSERT INTO `m_permission` VALUES (291,'report','READ_Obligation Met Loans Summary','Obligation Met Loans Summary','READ',0); +INSERT INTO `m_permission` VALUES (292,'report','READ_Portfolio at Risk','Portfolio at Risk','READ',0); +INSERT INTO `m_permission` VALUES (293,'report','READ_Portfolio at Risk by Branch','Portfolio at Risk by Branch','READ',0); +INSERT INTO `m_permission` VALUES (294,'report','READ_Rescheduled Loans','Rescheduled Loans','READ',0); +INSERT INTO `m_permission` VALUES (295,'report','READ_Trial Balance','Trial Balance','READ',0); +INSERT INTO `m_permission` VALUES (296,'report','READ_Written-Off Loans','Written-Off Loans','READ',0); +INSERT INTO `m_permission` VALUES (297,'transaction_savings','POSTINTEREST_SAVINGSACCOUNT','SAVINGSACCOUNT','POSTINTEREST',1); +INSERT INTO `m_permission` VALUES (298,'transaction_savings','POSTINTEREST_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','POSTINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (299,'portfolio_center','READ_CENTER','CENTER','READ',0); +INSERT INTO `m_permission` VALUES (300,'portfolio_center','CREATE_CENTER','CENTER','CREATE',0); +INSERT INTO `m_permission` VALUES (301,'portfolio_center','CREATE_CENTER_CHECKER','CENTER','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (302,'portfolio_center','UPDATE_CENTER','CENTER','UPDATE',0); +INSERT INTO `m_permission` VALUES (303,'portfolio_center','UPDATE_CENTER_CHECKER','CENTER','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (304,'portfolio_center','DELETE_CENTER','CENTER','DELETE',0); +INSERT INTO `m_permission` VALUES (305,'portfolio_center','DELETE_CENTER_CHECKER','CENTER','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (306,'configuration','READ_REPORT','REPORT','READ',0); +INSERT INTO `m_permission` VALUES (307,'configuration','CREATE_REPORT','REPORT','CREATE',0); +INSERT INTO `m_permission` VALUES (308,'configuration','CREATE_REPORT_CHECKER','REPORT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (309,'configuration','UPDATE_REPORT','REPORT','UPDATE',0); +INSERT INTO `m_permission` VALUES (310,'configuration','UPDATE_REPORT_CHECKER','REPORT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (311,'configuration','DELETE_REPORT','REPORT','DELETE',0); +INSERT INTO `m_permission` VALUES (312,'configuration','DELETE_REPORT_CHECKER','REPORT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (313,'portfolio','ACTIVATE_CLIENT','CLIENT','ACTIVATE',1); +INSERT INTO `m_permission` VALUES (314,'portfolio','ACTIVATE_CLIENT_CHECKER','CLIENT','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (315,'portfolio_center','ACTIVATE_CENTER','CENTER','ACTIVATE',1); +INSERT INTO `m_permission` VALUES (316,'portfolio_center','ACTIVATE_CENTER_CHECKER','CENTER','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (317,'portfolio_group','ACTIVATE_GROUP','GROUP','ACTIVATE',1); +INSERT INTO `m_permission` VALUES (318,'portfolio_group','ACTIVATE_GROUP_CHECKER','GROUP','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (319,'portfolio_group','ASSOCIATECLIENTS_GROUP','GROUP','ASSOCIATECLIENTS',0); +INSERT INTO `m_permission` VALUES (320,'portfolio_group','DISASSOCIATECLIENTS_GROUP','GROUP','DISASSOCIATECLIENTS',0); +INSERT INTO `m_permission` VALUES (321,'portfolio_group','SAVECOLLECTIONSHEET_GROUP','GROUP','SAVECOLLECTIONSHEET',0); +INSERT INTO `m_permission` VALUES (322,'portfolio_center','SAVECOLLECTIONSHEET_CENTER','CENTER','SAVECOLLECTIONSHEET',0); +INSERT INTO `m_permission` VALUES (324,'accounting','DELETE_ACCOUNTINGRULE','ACCOUNTINGRULE','DELETE',0); +INSERT INTO `m_permission` VALUES (325,'accounting','CREATE_ACCOUNTINGRULE','ACCOUNTINGRULE','CREATE',0); +INSERT INTO `m_permission` VALUES (326,'accounting','UPDATE_ACCOUNTINGRULE','ACCOUNTINGRULE','UPDATE',0); +INSERT INTO `m_permission` VALUES (327,'report','READ_GroupSummaryCounts','GroupSummaryCounts','READ',0); +INSERT INTO `m_permission` VALUES (328,'report','READ_GroupSummaryAmounts','GroupSummaryAmounts','READ',0); +INSERT INTO `m_permission` VALUES (329,'configuration','CREATE_DATATABLE','DATATABLE','CREATE',0); +INSERT INTO `m_permission` VALUES (330,'configuration','CREATE_DATATABLE_CHECKER','DATATABLE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (331,'configuration','UPDATE_DATATABLE','DATATABLE','UPDATE',0); +INSERT INTO `m_permission` VALUES (332,'configuration','UPDATE_DATATABLE_CHECKER','DATATABLE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (333,'configuration','DELETE_DATATABLE','DATATABLE','DELETE',0); +INSERT INTO `m_permission` VALUES (334,'configuration','DELETE_DATATABLE_CHECKER','DATATABLE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (335,'organisation','CREATE_HOLIDAY','HOLIDAY','CREATE',0); +INSERT INTO `m_permission` VALUES (336,'portfolio_group','ASSIGNROLE_GROUP','GROUP','ASSIGNROLE',0); +INSERT INTO `m_permission` VALUES (337,'portfolio_group','UNASSIGNROLE_GROUP','GROUP','UNASSIGNROLE',0); +INSERT INTO `m_permission` VALUES (338,'portfolio_group','UPDATEROLE_GROUP','GROUP','UPDATEROLE',0); +INSERT INTO `m_permission` VALUES (347,'report','READ_TxnRunningBalances','TxnRunningBalances','READ',0); +INSERT INTO `m_permission` VALUES (348,'portfolio','UNASSIGNSTAFF_CLIENT','CLIENT','UNASSIGNSTAFF',0); +INSERT INTO `m_permission` VALUES (349,'portfolio','ASSIGNSTAFF_CLIENT','CLIENT','ASSIGNSTAFF',0); +INSERT INTO `m_permission` VALUES (350,'portfolio','CLOSE_CLIENT','CLIENT','CLOSE',1); +INSERT INTO `m_permission` VALUES (351,'report','READ_FieldAgentStats','FieldAgentStats','READ',0); +INSERT INTO `m_permission` VALUES (352,'report','READ_FieldAgentPrograms','FieldAgentPrograms','READ',0); +INSERT INTO `m_permission` VALUES (353,'report','READ_ProgramDetails','ProgramDetails','READ',0); +INSERT INTO `m_permission` VALUES (354,'report','READ_ChildrenStaffList','ChildrenStaffList','READ',0); +INSERT INTO `m_permission` VALUES (355,'report','READ_CoordinatorStats','CoordinatorStats','READ',0); +INSERT INTO `m_permission` VALUES (356,'report','READ_BranchManagerStats','BranchManagerStats','READ',0); +INSERT INTO `m_permission` VALUES (357,'report','READ_ProgramDirectorStats','ProgramDirectorStats','READ',0); +INSERT INTO `m_permission` VALUES (358,'report','READ_ProgramStats','ProgramStats','READ',0); +INSERT INTO `m_permission` VALUES (359,'transaction_savings','APPROVE_SAVINGSACCOUNT','SAVINGSACCOUNT','APPROVE',1); +INSERT INTO `m_permission` VALUES (360,'transaction_savings','REJECT_SAVINGSACCOUNT','SAVINGSACCOUNT','REJECT',1); +INSERT INTO `m_permission` VALUES (361,'transaction_savings','WITHDRAW_SAVINGSACCOUNT','SAVINGSACCOUNT','WITHDRAW',1); +INSERT INTO `m_permission` VALUES (362,'transaction_savings','APPROVALUNDO_SAVINGSACCOUNT','SAVINGSACCOUNT','APPROVALUNDO',1); +INSERT INTO `m_permission` VALUES (363,'transaction_savings','CLOSE_SAVINGSACCOUNT','SAVINGSACCOUNT','CLOSE',1); +INSERT INTO `m_permission` VALUES (364,'transaction_savings','APPROVE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','APPROVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (365,'transaction_savings','REJECT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','REJECT_CHECKER',0); +INSERT INTO `m_permission` VALUES (366,'transaction_savings','WITHDRAW_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','WITHDRAW_CHECKER',0); +INSERT INTO `m_permission` VALUES (367,'transaction_savings','APPROVALUNDO_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','APPROVALUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (368,'transaction_savings','CLOSE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','CLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (369,'transaction_savings','UNDOTRANSACTION_SAVINGSACCOUNT','SAVINGSACCOUNT','UNDOTRANSACTION',1); +INSERT INTO `m_permission` VALUES (370,'transaction_savings','UNDOTRANSACTION_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UNDOTRANSACTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (371,'portfolio','CREATE_PRODUCTMIX','PRODUCTMIX','CREATE',0); +INSERT INTO `m_permission` VALUES (372,'portfolio','UPDATE_PRODUCTMIX','PRODUCTMIX','UPDATE',0); +INSERT INTO `m_permission` VALUES (373,'portfolio','DELETE_PRODUCTMIX','PRODUCTMIX','DELETE',0); +INSERT INTO `m_permission` VALUES (374,'jobs','UPDATE_SCHEDULER','SCHEDULER','UPDATE',0); +INSERT INTO `m_permission` VALUES (375,'transaction_savings','APPLYANNUALFEE_SAVINGSACCOUNT','SAVINGSACCOUNT','APPLYANNUALFEE',1); +INSERT INTO `m_permission` VALUES (376,'transaction_savings','APPLYANNUALFEE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','APPLYANNUALFEE_CHECKER',0); +INSERT INTO `m_permission` VALUES (377,'portfolio_group','ASSIGNSTAFF_GROUP','GROUP','ASSIGNSTAFF',0); +INSERT INTO `m_permission` VALUES (378,'transaction_savings','READ_ACCOUNTTRANSFER','ACCOUNTTRANSFER','READ',0); +INSERT INTO `m_permission` VALUES (379,'transaction_savings','CREATE_ACCOUNTTRANSFER','ACCOUNTTRANSFER','CREATE',1); +INSERT INTO `m_permission` VALUES (380,'transaction_savings','CREATE_ACCOUNTTRANSFER_CHECKER','ACCOUNTTRANSFER','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (381,'transaction_savings','ADJUSTTRANSACTION_SAVINGSACCOUNT','SAVINGSACCOUNT','ADJUSTTRANSACTION',0); +INSERT INTO `m_permission` VALUES (382,'portfolio','CREATE_MEETING','MEETING','CREATE',0); +INSERT INTO `m_permission` VALUES (383,'portfolio','UPDATE_MEETING','MEETING','UPDATE',0); +INSERT INTO `m_permission` VALUES (384,'portfolio','DELETE_MEETING','MEETING','DELETE',0); +INSERT INTO `m_permission` VALUES (385,'portfolio','SAVEORUPDATEATTENDANCE_MEETING','MEETING','SAVEORUPDATEATTENDANCE',0); +INSERT INTO `m_permission` VALUES (386,'portfolio_group','TRANSFERCLIENTS_GROUP','GROUP','TRANSFERCLIENTS',0); +INSERT INTO `m_permission` VALUES (387,'portfolio_group','TRANSFERCLIENTS_GROUP_CHECKER','GROUP','TRANSFERCLIENTS_CHECKER',0); +INSERT INTO `m_permission` VALUES (390,'portfolio','PROPOSETRANSFER_CLIENT','CLIENT','PROPOSETRANSFER',0); +INSERT INTO `m_permission` VALUES (391,'portfolio','PROPOSETRANSFER_CLIENT_CHECKER','CLIENT','PROPOSETRANSFER_CHECKER',0); +INSERT INTO `m_permission` VALUES (392,'portfolio','ACCEPTTRANSFER_CLIENT','CLIENT','ACCEPTTRANSFER',0); +INSERT INTO `m_permission` VALUES (393,'portfolio','ACCEPTTRANSFER_CLIENT_CHECKER','CLIENT','ACCEPTTRANSFER_CHECKER',0); +INSERT INTO `m_permission` VALUES (394,'portfolio','REJECTTRANSFER_CLIENT','CLIENT','REJECTTRANSFER',0); +INSERT INTO `m_permission` VALUES (395,'portfolio','REJECTTRANSFER_CLIENT_CHECKER','CLIENT','REJECTTRANSFER_CHECKER',0); +INSERT INTO `m_permission` VALUES (396,'portfolio','WITHDRAWTRANSFER_CLIENT','CLIENT','WITHDRAWTRANSFER',0); +INSERT INTO `m_permission` VALUES (397,'portfolio','WITHDRAWTRANSFER_CLIENT_CHECKER','CLIENT','WITHDRAWTRANSFER_CHECKER',0); +INSERT INTO `m_permission` VALUES (398,'portfolio','CLOSE_GROUP','GROUP','CLOSE',1); +INSERT INTO `m_permission` VALUES (399,'portfolio','CLOSE_CENTER','CENTER','CLOSE',1); +INSERT INTO `m_permission` VALUES (400,'xbrlmapping','UPDATE_XBRLMAPPING','XBRLMAPPING','UPDATE',0); +INSERT INTO `m_permission` VALUES (401,'configuration','READ_CACHE','CACHE','READ',0); +INSERT INTO `m_permission` VALUES (402,'configuration','UPDATE_CACHE','CACHE','UPDATE',0); +INSERT INTO `m_permission` VALUES (403,'transaction_loan','PAY_LOANCHARGE','LOANCHARGE','PAY',0); +INSERT INTO `m_permission` VALUES (404,'portfolio','CREATE_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','CREATE',0); +INSERT INTO `m_permission` VALUES (405,'portfolio','CREATE_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (406,'portfolio','UPDATE_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','UPDATE',0); +INSERT INTO `m_permission` VALUES (407,'portfolio','UPDATE_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (408,'portfolio','DELETE_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','DELETE',0); +INSERT INTO `m_permission` VALUES (409,'portfolio','DELETE_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (410,'portfolio','WAIVE_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','WAIVE',0); +INSERT INTO `m_permission` VALUES (411,'portfolio','WAIVE_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','WAIVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (412,'portfolio','PAY_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','PAY',0); +INSERT INTO `m_permission` VALUES (413,'portfolio','PAY_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','PAY_CHECKER',0); +INSERT INTO `m_permission` VALUES (414,'portfolio','PROPOSEANDACCEPTTRANSFER_CLIENT','CLIENT','PROPOSEANDACCEPTTRANSFER',0); +INSERT INTO `m_permission` VALUES (415,'portfolio','PROPOSEANDACCEPTTRANSFER_CLIENT_CHECKER','CLIENT','PROPOSEANDACCEPTTRANSFER_CHECKER',0); +INSERT INTO `m_permission` VALUES (416,'organisation','DELETE_TEMPLATE','TEMPLATE','DELETE',0); +INSERT INTO `m_permission` VALUES (417,'organisation','CREATE_TEMPLATE','TEMPLATE','CREATE',0); +INSERT INTO `m_permission` VALUES (418,'organisation','UPDATE_TEMPLATE','TEMPLATE','UPDATE',0); +INSERT INTO `m_permission` VALUES (419,'organisation','READ_TEMPLATE','TEMPLATE','READ',0); +INSERT INTO `m_permission` VALUES (420,'accounting','UPDATERUNNINGBALANCE_JOURNALENTRY','JOURNALENTRY','UPDATERUNNINGBALANCE',0); +INSERT INTO `m_permission` VALUES (421,'organisation','READ_SMS','SMS','READ',0); +INSERT INTO `m_permission` VALUES (422,'organisation','CREATE_SMS','SMS','CREATE',0); +INSERT INTO `m_permission` VALUES (423,'organisation','CREATE_SMS_CHECKER','SMS','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (424,'organisation','UPDATE_SMS','SMS','UPDATE',0); +INSERT INTO `m_permission` VALUES (425,'organisation','UPDATE_SMS_CHECKER','SMS','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (426,'organisation','DELETE_SMS','SMS','DELETE',0); +INSERT INTO `m_permission` VALUES (427,'organisation','DELETE_SMS_CHECKER','SMS','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (428,'organisation','CREATE_HOLIDAY_CHECKER','HOLIDAY','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (429,'organisation','ACTIVATE_HOLIDAY','HOLIDAY','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (430,'organisation','ACTIVATE_HOLIDAY_CHECKER','HOLIDAY','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (431,'organisation','UPDATE_HOLIDAY','HOLIDAY','UPDATE',0); +INSERT INTO `m_permission` VALUES (432,'organisation','UPDATE_HOLIDAY_CHECKER','HOLIDAY','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (433,'organisation','DELETE_HOLIDAY','HOLIDAY','DELETE',0); +INSERT INTO `m_permission` VALUES (434,'organisation','DELETE_HOLIDAY_CHECKER','HOLIDAY','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (435,'transaction_loan','UNDOWRITEOFF_LOAN','LOAN','UNDOWRITEOFF',0); +INSERT INTO `m_permission` VALUES (436,'portfolio','READ_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','READ',0); +INSERT INTO `m_permission` VALUES (437,'accounting','CREATE_JOURNALENTRY_CHECKER','JOURNALENTRY','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (438,'portfolio','UPDATE_DISBURSEMENTDETAIL','DISBURSEMENTDETAIL','UPDATE',0); +INSERT INTO `m_permission` VALUES (439,'portfolio','UPDATESAVINGSACCOUNT_CLIENT','CLIENT','UPDATESAVINGSACCOUNT',0); +INSERT INTO `m_permission` VALUES (440,'accounting','READ_ACCOUNTINGRULE','ACCOUNTINGRULE','READ',0); +INSERT INTO `m_permission` VALUES (441,'accounting','READ_JOURNALENTRY','JOURNALENTRY','READ',0); +INSERT INTO `m_permission` VALUES (442,'accounting','READ_GLACCOUNT','GLACCOUNT','READ',0); +INSERT INTO `m_permission` VALUES (443,'accounting','READ_GLCLOSURE','GLCLOSURE','READ',0); +INSERT INTO `m_permission` VALUES (444,'organisation','READ_HOLIDAY','HOLIDAY','READ',0); +INSERT INTO `m_permission` VALUES (445,'jobs','READ_SCHEDULER','SCHEDULER','READ',0); +INSERT INTO `m_permission` VALUES (446,'portfolio','READ_PRODUCTMIX','PRODUCTMIX','READ',0); +INSERT INTO `m_permission` VALUES (447,'portfolio','READ_MEETING','MEETING','READ',0); +INSERT INTO `m_permission` VALUES (448,'jobs','EXECUTEJOB_SCHEDULER','SCHEDULER','EXECUTEJOB',0); +INSERT INTO `m_permission` VALUES (449,'account_transfer','READ_STANDINGINSTRUCTION ','STANDINGINSTRUCTION ','READ',0); +INSERT INTO `m_permission` VALUES (450,'account_transfer','CREATE_STANDINGINSTRUCTION ','STANDINGINSTRUCTION ','CREATE',0); +INSERT INTO `m_permission` VALUES (451,'account_transfer','UPDATE_STANDINGINSTRUCTION ','STANDINGINSTRUCTION ','UPDATE',0); +INSERT INTO `m_permission` VALUES (452,'account_transfer','DELETE_STANDINGINSTRUCTION ','STANDINGINSTRUCTION ','DELETE',0); +INSERT INTO `m_permission` VALUES (453,'portfolio','CREATE_INTERESTRATECHART','INTERESTRATECHART','CREATE',0); +INSERT INTO `m_permission` VALUES (454,'portfolio','CREATE_INTERESTRATECHART_CHECKER','INTERESTRATECHART','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (455,'portfolio','UPDATE_INTERESTRATECHART','INTERESTRATECHART','UPDATE',0); +INSERT INTO `m_permission` VALUES (456,'portfolio','DELETE_INTERESTRATECHART','INTERESTRATECHART','DELETE',0); +INSERT INTO `m_permission` VALUES (457,'portfolio','UPDATE_INTERESTRATECHART_CHECKER','INTERESTRATECHART','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (458,'portfolio','DELETE_INTERESTRATECHART_CHECKER','INTERESTRATECHART','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (459,'portfolio','CREATE_CHARTSLAB','CHARTSLAB','CREATE',0); +INSERT INTO `m_permission` VALUES (460,'portfolio','CREATE_CHARTSLAB_CHECKER','CHARTSLAB','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (461,'portfolio','UPDATE_CHARTSLAB','CHARTSLAB','UPDATE',0); +INSERT INTO `m_permission` VALUES (462,'portfolio','DELETE_CHARTSLAB','CHARTSLAB','DELETE',0); +INSERT INTO `m_permission` VALUES (463,'portfolio','UPDATE_CHARTSLAB_CHECKER','CHARTSLAB','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (464,'portfolio','DELETE_CHARTSLAB_CHECKER','CHARTSLAB','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (465,'portfolio','CREATE_FIXEDDEPOSITPRODUCT','FIXEDDEPOSITPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (466,'portfolio','CREATE_FIXEDDEPOSITPRODUCT_CHECKER','FIXEDDEPOSITPRODUCT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (467,'portfolio','UPDATE_FIXEDDEPOSITPRODUCT','FIXEDDEPOSITPRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (468,'portfolio','DELETE_FIXEDDEPOSITPRODUCT','FIXEDDEPOSITPRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (469,'portfolio','UPDATE_FIXEDDEPOSITPRODUCT_CHECKER','FIXEDDEPOSITPRODUCT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (470,'portfolio','DELETE_FIXEDDEPOSITPRODUCT_CHECKER','FIXEDDEPOSITPRODUCT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (471,'portfolio','CREATE_RECURRINGDEPOSITPRODUCT','RECURRINGDEPOSITPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (472,'portfolio','CREATE_RECURRINGDEPOSITPRODUCT_CHECKER','RECURRINGDEPOSITPRODUCT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (473,'portfolio','UPDATE_RECURRINGDEPOSITPRODUCT','RECURRINGDEPOSITPRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (474,'portfolio','DELETE_RECURRINGDEPOSITPRODUCT','RECURRINGDEPOSITPRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (475,'portfolio','UPDATE_RECURRINGDEPOSITPRODUCT_CHECKER','RECURRINGDEPOSITPRODUCT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (476,'portfolio','DELETE_RECURRINGDEPOSITPRODUCT_CHECKER','RECURRINGDEPOSITPRODUCT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (477,'portfolio','READ_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','READ',0); +INSERT INTO `m_permission` VALUES (478,'portfolio','CREATE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (479,'portfolio','CREATE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (480,'portfolio','UPDATE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (481,'portfolio','UPDATE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (482,'portfolio','DELETE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','DELETE',0); +INSERT INTO `m_permission` VALUES (483,'portfolio','DELETE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (484,'transaction_savings','DEPOSIT_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','DEPOSIT',0); +INSERT INTO `m_permission` VALUES (485,'transaction_savings','DEPOSIT_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','DEPOSIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (486,'transaction_savings','WITHDRAWAL_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','WITHDRAWAL',0); +INSERT INTO `m_permission` VALUES (487,'transaction_savings','WITHDRAWAL_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','WITHDRAWAL_CHECKER',0); +INSERT INTO `m_permission` VALUES (488,'transaction_savings','ACTIVATE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (489,'transaction_savings','ACTIVATE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (490,'transaction_savings','CALCULATEINTEREST_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','CALCULATEINTEREST',0); +INSERT INTO `m_permission` VALUES (491,'transaction_savings','CALCULATEINTEREST_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','CALCULATEINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (492,'transaction_savings','POSTINTEREST_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','POSTINTEREST',1); +INSERT INTO `m_permission` VALUES (493,'transaction_savings','POSTINTEREST_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','POSTINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (494,'transaction_savings','APPROVE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','APPROVE',1); +INSERT INTO `m_permission` VALUES (495,'transaction_savings','REJECT_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','REJECT',1); +INSERT INTO `m_permission` VALUES (496,'transaction_savings','WITHDRAW_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','WITHDRAW',1); +INSERT INTO `m_permission` VALUES (497,'transaction_savings','APPROVALUNDO_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','APPROVALUNDO',1); +INSERT INTO `m_permission` VALUES (498,'transaction_savings','CLOSE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','CLOSE',1); +INSERT INTO `m_permission` VALUES (499,'transaction_savings','APPROVE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','APPROVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (500,'transaction_savings','REJECT_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','REJECT_CHECKER',0); +INSERT INTO `m_permission` VALUES (501,'transaction_savings','WITHDRAW_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','WITHDRAW_CHECKER',0); +INSERT INTO `m_permission` VALUES (502,'transaction_savings','APPROVALUNDO_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','APPROVALUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (503,'transaction_savings','CLOSE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','CLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (504,'transaction_savings','UNDOTRANSACTION_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','UNDOTRANSACTION',1); +INSERT INTO `m_permission` VALUES (505,'transaction_savings','UNDOTRANSACTION_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','UNDOTRANSACTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (506,'transaction_savings','ADJUSTTRANSACTION_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','ADJUSTTRANSACTION',0); +INSERT INTO `m_permission` VALUES (507,'portfolio','READ_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','READ',0); +INSERT INTO `m_permission` VALUES (508,'portfolio','CREATE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (509,'portfolio','CREATE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (510,'portfolio','UPDATE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (511,'portfolio','UPDATE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (512,'portfolio','DELETE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','DELETE',0); +INSERT INTO `m_permission` VALUES (513,'portfolio','DELETE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (514,'transaction_savings','DEPOSIT_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','DEPOSIT',0); +INSERT INTO `m_permission` VALUES (515,'transaction_savings','DEPOSIT_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','DEPOSIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (516,'transaction_savings','WITHDRAWAL_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','WITHDRAWAL',0); +INSERT INTO `m_permission` VALUES (517,'transaction_savings','WITHDRAWAL_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','WITHDRAWAL_CHECKER',0); +INSERT INTO `m_permission` VALUES (518,'transaction_savings','ACTIVATE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (519,'transaction_savings','ACTIVATE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','ACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (520,'transaction_savings','CALCULATEINTEREST_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','CALCULATEINTEREST',0); +INSERT INTO `m_permission` VALUES (521,'transaction_savings','CALCULATEINTEREST_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','CALCULATEINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (522,'transaction_savings','POSTINTEREST_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','POSTINTEREST',1); +INSERT INTO `m_permission` VALUES (523,'transaction_savings','POSTINTEREST_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','POSTINTEREST_CHECKER',0); +INSERT INTO `m_permission` VALUES (524,'transaction_savings','APPROVE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','APPROVE',1); +INSERT INTO `m_permission` VALUES (525,'transaction_savings','REJECT_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','REJECT',1); +INSERT INTO `m_permission` VALUES (526,'transaction_savings','WITHDRAW_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','WITHDRAW',1); +INSERT INTO `m_permission` VALUES (527,'transaction_savings','APPROVALUNDO_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','APPROVALUNDO',1); +INSERT INTO `m_permission` VALUES (528,'transaction_savings','CLOSE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','CLOSE',1); +INSERT INTO `m_permission` VALUES (529,'transaction_savings','APPROVE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','APPROVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (530,'transaction_savings','REJECT_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','REJECT_CHECKER',0); +INSERT INTO `m_permission` VALUES (531,'transaction_savings','WITHDRAW_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','WITHDRAW_CHECKER',0); +INSERT INTO `m_permission` VALUES (532,'transaction_savings','APPROVALUNDO_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','APPROVALUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (533,'transaction_savings','CLOSE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','CLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (534,'transaction_savings','UNDOTRANSACTION_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','UNDOTRANSACTION',1); +INSERT INTO `m_permission` VALUES (535,'transaction_savings','UNDOTRANSACTION_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','UNDOTRANSACTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (536,'transaction_savings','ADJUSTTRANSACTION_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','ADJUSTTRANSACTION',0); +INSERT INTO `m_permission` VALUES (537,'transaction_savings','PREMATURECLOSE_FIXEDDEPOSITACCOUNT_CHECKER','FIXEDDEPOSITACCOUNT','PREMATURECLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (538,'transaction_savings','PREMATURECLOSE_FIXEDDEPOSITACCOUNT','FIXEDDEPOSITACCOUNT','PREMATURECLOSE',1); +INSERT INTO `m_permission` VALUES (539,'transaction_savings','PREMATURECLOSE_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','PREMATURECLOSE_CHECKER',0); +INSERT INTO `m_permission` VALUES (540,'transaction_savings','PREMATURECLOSE_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','PREMATURECLOSE',1); +INSERT INTO `m_permission` VALUES (541,'transaction_loan','DISBURSETOSAVINGS_LOAN','LOAN','DISBURSETOSAVINGS',0); +INSERT INTO `m_permission` VALUES (542,'transaction_loan','RECOVERYPAYMENT_LOAN','LOAN','RECOVERYPAYMENT',0); +INSERT INTO `m_permission` VALUES (543,'organisation','READ_RECURRINGDEPOSITPRODUCT','RECURRINGDEPOSITPRODUCT','READ',0); +INSERT INTO `m_permission` VALUES (544,'organisation','READ_FIXEDDEPOSITPRODUCT','FIXEDDEPOSITPRODUCT','READ',0); +INSERT INTO `m_permission` VALUES (545,'accounting','READ_FINANCIALACTIVITYACCOUNT','FINANCIALACTIVITYACCOUNT','READ',0); +INSERT INTO `m_permission` VALUES (546,'accounting','CREATE_FINANCIALACTIVITYACCOUNT','FINANCIALACTIVITYACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (547,'accounting','DELETE_FINANCIALACTIVITYACCOUNT','FINANCIALACTIVITYACCOUNT','DELETE',0); +INSERT INTO `m_permission` VALUES (548,'accounting','UPDATE_FINANCIALACTIVITYACCOUNT','FINANCIALACTIVITYACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (549,'datatable','UPDATE_LIKELIHOOD','likelihood','UPDATE',0); +INSERT INTO `m_permission` VALUES (550,'survey','REGISTER_SURVEY','survey','CREATE',0); +INSERT INTO `m_permission` VALUES (551,'accounting','EXECUTE_PERIODICACCRUALACCOUNTING','PERIODICACCRUALACCOUNTING','EXECUTE',0); +INSERT INTO `m_permission` VALUES (552,'portfolio','INACTIVATE_SAVINGSACCOUNTCHARGE','SAVINGSACCOUNTCHARGE','INACTIVATE',0); +INSERT INTO `m_permission` VALUES (553,'portfolio','INACTIVATE_SAVINGSACCOUNTCHARGE_CHECKER','SAVINGSACCOUNTCHARGE','INACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (554,'portfolio_center','DISASSOCIATEGROUPS_CENTER','CENTER','DISASSOCIATEGROUPS',0); +INSERT INTO `m_permission` VALUES (555,'portfolio_center','ASSOCIATEGROUPS_CENTER','CENTER','ASSOCIATEGROUPS',0); +INSERT INTO `m_permission` VALUES (556,'portfolio_center','DISASSOCIATEGROUPS_CENTER_CHECKER','CENTER','DISASSOCIATEGROUPS_CHECKER',0); +INSERT INTO `m_permission` VALUES (557,'portfolio_center','ASSOCIATEGROUPS_CENTER_CHECKER','CENTER','ASSOCIATEGROUPS_CHECKER',0); +INSERT INTO `m_permission` VALUES (558,'loan_reschedule','READ_RESCHEDULELOAN','RESCHEDULELOAN','READ',0); +INSERT INTO `m_permission` VALUES (559,'loan_reschedule','CREATE_RESCHEDULELOAN','RESCHEDULELOAN','CREATE',0); +INSERT INTO `m_permission` VALUES (560,'loan_reschedule','REJECT_RESCHEDULELOAN','RESCHEDULELOAN','REJECT',0); +INSERT INTO `m_permission` VALUES (561,'loan_reschedule','APPROVE_RESCHEDULELOAN','RESCHEDULELOAN','APPROVE',0); +INSERT INTO `m_permission` VALUES (562,'configuration','CREATE_HOOK','HOOK','CREATE',0); +INSERT INTO `m_permission` VALUES (563,'configuration','READ_HOOK','HOOK','READ',0); +INSERT INTO `m_permission` VALUES (564,'configuration','UPDATE_HOOK','HOOK','UPDATE',0); +INSERT INTO `m_permission` VALUES (565,'configuration','DELETE_HOOK','HOOK','DELETE',0); +INSERT INTO `m_permission` VALUES (566,'portfolio','REMOVESAVINGSOFFICER_SAVINGSACCOUNT','SAVINGSACCOUNT','REMOVESAVINGSOFFICER',1); +INSERT INTO `m_permission` VALUES (567,'portfolio','UPDATESAVINGSOFFICER_SAVINGSACCOUNT','SAVINGSACCOUNT','UPDATESAVINGSOFFICER',1); +INSERT INTO `m_permission` VALUES (578,'report','READ_Client Loan Account Schedule','Client Loan Account Schedule','READ',0); +INSERT INTO `m_permission` VALUES (580,'report','READ_Client Saving Transactions','Client Saving Transactions','READ',0); +INSERT INTO `m_permission` VALUES (581,'report','READ_Client Savings Summary','Client Savings Summary','READ',0); +INSERT INTO `m_permission` VALUES (582,'report','READ_ClientSummary ','ClientSummary ','READ',0); +INSERT INTO `m_permission` VALUES (583,'report','READ_ClientTrendsByDay','ClientTrendsByDay','READ',0); +INSERT INTO `m_permission` VALUES (584,'report','READ_ClientTrendsByMonth','ClientTrendsByMonth','READ',0); +INSERT INTO `m_permission` VALUES (585,'report','READ_ClientTrendsByWeek','ClientTrendsByWeek','READ',0); +INSERT INTO `m_permission` VALUES (586,'report','READ_Demand_Vs_Collection','Demand_Vs_Collection','READ',0); +INSERT INTO `m_permission` VALUES (587,'report','READ_Disbursal_Vs_Awaitingdisbursal','Disbursal_Vs_Awaitingdisbursal','READ',0); +INSERT INTO `m_permission` VALUES (591,'report','READ_GroupNamesByStaff','GroupNamesByStaff','READ',0); +INSERT INTO `m_permission` VALUES (592,'report','READ_GroupSavingSummary','GroupSavingSummary','READ',0); +INSERT INTO `m_permission` VALUES (593,'report','READ_LoanCyclePerProduct','LoanCyclePerProduct','READ',0); +INSERT INTO `m_permission` VALUES (598,'report','READ_LoanTrendsByDay','LoanTrendsByDay','READ',0); +INSERT INTO `m_permission` VALUES (599,'report','READ_LoanTrendsByMonth','LoanTrendsByMonth','READ',0); +INSERT INTO `m_permission` VALUES (600,'report','READ_LoanTrendsByWeek','LoanTrendsByWeek','READ',0); +INSERT INTO `m_permission` VALUES (606,'report','READ_Savings Transactions','Savings Transactions','READ',0); +INSERT INTO `m_permission` VALUES (609,'configuration','CREATE_ACCOUNTNUMBERFORMAT','ACCOUNTNUMBERFORMAT','CREATE',0); +INSERT INTO `m_permission` VALUES (610,'configuration','READ_ACCOUNTNUMBERFORMAT','ACCOUNTNUMBERFORMAT','READ',0); +INSERT INTO `m_permission` VALUES (611,'configuration','UPDATE_ACCOUNTNUMBERFORMAT','ACCOUNTNUMBERFORMAT','UPDATE',0); +INSERT INTO `m_permission` VALUES (612,'configuration','DELETE_ACCOUNTNUMBERFORMAT','HOOK','DELETE',0); +INSERT INTO `m_permission` VALUES (613,'portfolio','RECOVERGUARANTEES_LOAN','LOAN','RECOVERGUARANTEES',0); +INSERT INTO `m_permission` VALUES (614,'portfolio','RECOVERGUARANTEES_LOAN_CHECKER','LOAN','RECOVERGUARANTEES_CHECKER',0); +INSERT INTO `m_permission` VALUES (615,'portfolio','REJECT_CLIENT','CLIENT','REJECT',1); +INSERT INTO `m_permission` VALUES (616,'portfolio','REJECT_CLIENT_CHECKER','CLIENT','REJECT_CHECKER',0); +INSERT INTO `m_permission` VALUES (617,'portfolio','WITHDRAW_CLIENT','CLIENT','WITHDRAW',1); +INSERT INTO `m_permission` VALUES (618,'portfolio','WITHDRAW_CLIENT_CHECKER','CLIENT','WITHDRAW_CHECKER',0); +INSERT INTO `m_permission` VALUES (619,'portfolio','REACTIVATE_CLIENT','CLIENT','REACTIVATE',1); +INSERT INTO `m_permission` VALUES (620,'portfolio','REACTIVATE_CLIENT_CHECKER','CLIENT','REACTIVATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (621,'transaction_savings','UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT','RECURRINGDEPOSITACCOUNT','UPDATEDEPOSITAMOUNT',1); +INSERT INTO `m_permission` VALUES (622,'transaction_savings','UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT_CHECKER','RECURRINGDEPOSITACCOUNT','UPDATEDEPOSITAMOUNT',1); +INSERT INTO `m_permission` VALUES (623,'transaction_savings','REFUNDBYTRANSFER_ACCOUNTTRANSFER_CHECKER','ACCOUNTTRANSFER','REFUNDBYTRANSFER',0); +INSERT INTO `m_permission` VALUES (624,'transaction_savings','REFUNDBYTRANSFER_ACCOUNTTRANSFER','ACCOUNTTRANSFER','REFUNDBYTRANSFER',1); +INSERT INTO `m_permission` VALUES (625,'transaction_loan','REFUNDBYCASH_LOAN','LOAN','REFUNDBYCASH',1); +INSERT INTO `m_permission` VALUES (626,'transaction_loan','REFUNDBYCASH_LOAN_CHECKER','LOAN','REFUNDBYCASH',0); +INSERT INTO `m_permission` VALUES (627,'cash_mgmt','CREATE_TELLER','TELLER','CREATE',1); +INSERT INTO `m_permission` VALUES (628,'cash_mgmt','UPDATE_TELLER','TELLER','UPDATE',1); +INSERT INTO `m_permission` VALUES (629,'cash_mgmt','ALLOCATECASHIER_TELLER','TELLER','ALLOCATE',1); +INSERT INTO `m_permission` VALUES (630,'cash_mgmt','UPDATECASHIERALLOCATION_TELLER','TELLER','UPDATECASHIERALLOCATION',1); +INSERT INTO `m_permission` VALUES (631,'cash_mgmt','DELETECASHIERALLOCATION_TELLER','TELLER','DELETECASHIERALLOCATION',1); +INSERT INTO `m_permission` VALUES (632,'cash_mgmt','ALLOCATECASHTOCASHIER_TELLER','TELLER','ALLOCATECASHTOCASHIER',1); +INSERT INTO `m_permission` VALUES (633,'cash_mgmt','SETTLECASHFROMCASHIER_TELLER','TELLER','SETTLECASHFROMCASHIER',1); +INSERT INTO `m_permission` VALUES (634,'authorisation','DISABLE_ROLE','ROLE','DISABLE',0); +INSERT INTO `m_permission` VALUES (635,'authorisation','DISABLE_ROLE_CHECKER','ROLE','DISABLE_CHECKER',0); +INSERT INTO `m_permission` VALUES (636,'authorisation','ENABLE_ROLE','ROLE','ENABLE',0); +INSERT INTO `m_permission` VALUES (637,'authorisation','ENABLE_ROLE_CHECKER','ROLE','ENABLE_CHECKER',0); +INSERT INTO `m_permission` VALUES (638,'accounting','DEFINEOPENINGBALANCE_JOURNALENTRY','JOURNALENTRY','DEFINEOPENINGBALANCE',1); +INSERT INTO `m_permission` VALUES (639,'collection_sheet','READ_COLLECTIONSHEET','COLLECTIONSHEET','READ',0); +INSERT INTO `m_permission` VALUES (640,'collection_sheet','SAVE_COLLECTIONSHEET','COLLECTIONSHEET','SAVE',0); +INSERT INTO `m_permission` VALUES (641,'infrastructure','CREATE_ENTITYMAPPING','ENTITYMAPPING','CREATE',0); +INSERT INTO `m_permission` VALUES (642,'infrastructure','UPDATE_ENTITYMAPPING','ENTITYMAPPING','UPDATE',0); +INSERT INTO `m_permission` VALUES (643,'infrastructure','DELETE_ENTITYMAPPING','ENTITYMAPPING','DELETE',0); +INSERT INTO `m_permission` VALUES (644,'organisation','READ_WORKINGDAYS','WORKINGDAYS','READ',0); +INSERT INTO `m_permission` VALUES (645,'organisation','UPDATE_WORKINGDAYS','WORKINGDAYS','UPDATE',0); +INSERT INTO `m_permission` VALUES (646,'organisation','UPDATE_WORKINGDAYS_CHECKER','WORKINGDAYS','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (647,'authorisation','READ_PASSWORD_PREFERENCES','PASSWORD_PREFERENCES','READ',0); +INSERT INTO `m_permission` VALUES (648,'authorisation','UPDATE_PASSWORD_PREFERENCES','PASSWORD_PREFERENCES','UPDATE',0); +INSERT INTO `m_permission` VALUES (649,'authorisation','UPDATE_PASSWORD_PREFERENCES_CHECKER','PASSWORD_PREFERENCES','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (650,'portfolio','CREATE_PAYMENTTYPE','PAYMENTTYPE','CREATE',0); +INSERT INTO `m_permission` VALUES (651,'portfolio','UPDATE_PAYMENTTYPE','PAYMENTTYPE','UPDATE',0); +INSERT INTO `m_permission` VALUES (652,'portfolio','DELETE_PAYMENTTYPE','PAYMENTTYPE','DELETE',0); +INSERT INTO `m_permission` VALUES (653,'cash_mgmt','DELETE_TELLER','TELLER','DELETE',1); +INSERT INTO `m_permission` VALUES (654,'report','READ_General Ledger Report','General Ledger Report','READ',0); +INSERT INTO `m_permission` VALUES (655,'portfolio','READ_STAFFIMAGE','STAFFIMAGE','READ',0); +INSERT INTO `m_permission` VALUES (656,'portfolio','CREATE_STAFFIMAGE','STAFFIMAGE','CREATE',1); +INSERT INTO `m_permission` VALUES (657,'portfolio','CREATE_STAFFIMAGE_CHECKER','STAFFIMAGE','CREATE',0); +INSERT INTO `m_permission` VALUES (658,'portfolio','DELETE_STAFFIMAGE','STAFFIMAGE','DELETE',1); +INSERT INTO `m_permission` VALUES (659,'portfolio','DELETE_STAFFIMAGE_CHECKER','STAFFIMAGE','DELETE',0); +INSERT INTO `m_permission` VALUES (660,'report','READ_Active Loan Summary per Branch','Active Loan Summary per Branch','READ',0); +INSERT INTO `m_permission` VALUES (661,'report','READ_Disbursal Report','Disbursal Report','READ',0); +INSERT INTO `m_permission` VALUES (662,'report','READ_Balance Outstanding','Balance Outstanding','READ',0); +INSERT INTO `m_permission` VALUES (663,'report','READ_Collection Report','Collection Report','READ',0); +INSERT INTO `m_permission` VALUES (664,'portfolio','READ_PAYMENTTYPE','PAYMENTTYPE','READ',0); +INSERT INTO `m_permission` VALUES (666,'externalservices','UPDATE_EXTERNALSERVICES','EXTERNALSERVICES','UPDATE',0); +INSERT INTO `m_permission` VALUES (667,'portfolio','READ_CLIENTCHARGE','CLIENTCHARGE','READ',0); +INSERT INTO `m_permission` VALUES (668,'portfolio','CREATE_CLIENTCHARGE','CLIENTCHARGE','CREATE',0); +INSERT INTO `m_permission` VALUES (669,'portfolio','DELETE_CLIENTCHARGE','CLIENTCHARGE','DELETE',0); +INSERT INTO `m_permission` VALUES (670,'portfolio','WAIVE_CLIENTCHARGE','CLIENTCHARGE','WAIVE',0); +INSERT INTO `m_permission` VALUES (671,'portfolio','PAY_CLIENTCHARGE','CLIENTCHARGE','PAY',0); +INSERT INTO `m_permission` VALUES (673,'portfolio','UPDATE_CLIENTCHARGE','CLIENTCHARGE','UPDATE',0); +INSERT INTO `m_permission` VALUES (674,'portfolio','CREATE_CLIENTCHARGE_CHECKER','CLIENTCHARGE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (675,'portfolio','DELETE_CLIENTCHARGE_CHECKER','CLIENTCHARGE','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (676,'portfolio','WAIVE_CLIENTCHARGE_CHECKER','CLIENTCHARGE','WAIVE_CHECKER',0); +INSERT INTO `m_permission` VALUES (677,'portfolio','PAY_CLIENTCHARGE_CHECKER','CLIENTCHARGE','PAY_CHECKER',0); +INSERT INTO `m_permission` VALUES (679,'portfolio','UPDATE_CLIENTCHARGE_CHECKER','CLIENTCHARGE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (680,'transaction_client','READTRANSACTION_CLIENT','CLIENT','READTRANSACTION',0); +INSERT INTO `m_permission` VALUES (681,'transaction_client','UNDOTRANSACTION_CLIENT','CLIENT','UNDOTRANSACTION',0); +INSERT INTO `m_permission` VALUES (682,'transaction_client','UNDOTRANSACTION_CLIENT_CHECKER','CLIENT','UNDOTRANSACTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (683,'LOAN_PROVISIONING','CREATE_PROVISIONCATEGORY','PROVISIONCATEGORY','CREATE',0); +INSERT INTO `m_permission` VALUES (684,'LOAN_PROVISIONING','DELETE_PROVISIONCATEGORY','PROVISIONCATEGORY','DELETE',0); +INSERT INTO `m_permission` VALUES (685,'LOAN_PROVISIONING','CREATE_PROVISIONCRITERIA','PROVISIONINGCRITERIA','CREATE',0); +INSERT INTO `m_permission` VALUES (686,'LOAN_PROVISIONING','UPDATE_PROVISIONCRITERIA','PROVISIONINGCRITERIA','UPDATE',0); +INSERT INTO `m_permission` VALUES (687,'LOAN_PROVISIONING','DELETE_PROVISIONCRITERIA','PROVISIONINGCRITERIA','DELETE',0); +INSERT INTO `m_permission` VALUES (688,'LOAN_PROVISIONING','CREATE_PROVISIONENTRIES','PROVISIONINGENTRIES','CREATE',0); +INSERT INTO `m_permission` VALUES (689,'LOAN_PROVISIONING','CREATE_PROVISIONJOURNALENTRIES','PROVISIONINGENTRIES','CREATE',0); +INSERT INTO `m_permission` VALUES (690,'LOAN_PROVISIONING','RECREATE_PROVISIONENTRIES','PROVISIONINGENTRIES','RECREATE',0); +INSERT INTO `m_permission` VALUES (691,'portfolio','READ_FLOATINGRATE','FLOATINGRATE','READ',0); +INSERT INTO `m_permission` VALUES (692,'portfolio','CREATE_FLOATINGRATE','FLOATINGRATE','CREATE',1); +INSERT INTO `m_permission` VALUES (693,'portfolio','CREATE_FLOATINGRATE_CHECKER','FLOATINGRATE','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (694,'portfolio','UPDATE_FLOATINGRATE','FLOATINGRATE','UPDATE',1); +INSERT INTO `m_permission` VALUES (695,'portfolio','UPDATE_FLOATINGRATE_CHECKER','FLOATINGRATE','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (696,'portfolio','CREATESCHEDULEEXCEPTIONS_LOAN','LOAN','CREATESCHEDULEEXCEPTIONS',0); +INSERT INTO `m_permission` VALUES (697,'portfolio','CREATESCHEDULEEXCEPTIONS_LOAN_CHECKER','LOAN','CREATESCHEDULEEXCEPTIONS_CHECKER',0); +INSERT INTO `m_permission` VALUES (698,'portfolio','DELETESCHEDULEEXCEPTIONS_LOAN','LOAN','DELETESCHEDULEEXCEPTIONS',0); +INSERT INTO `m_permission` VALUES (699,'portfolio','DELETESCHEDULEEXCEPTIONS_LOAN_CHECKER','LOAN','DELETESCHEDULEEXCEPTIONS_CHECKER',0); +INSERT INTO `m_permission` VALUES (700,'transaction_loan','DISBURSALLASTUNDO_LOAN','LOAN','DISBURSALLASTUNDO',0); +INSERT INTO `m_permission` VALUES (701,'transaction_loan','DISBURSALLASTUNDO_LOAN_CHECKER','LOAN','DISBURSALLASTUNDO_CHECKER',0); +INSERT INTO `m_permission` VALUES (702,'SHAREPRODUCT','CREATE_SHAREPRODUCT','SHAREPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (703,'SHAREPRODUCT','UPDATE_SHAREPRODUCT','SHAREPRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (704,'SHAREACCOUNT','CREATE_SHAREACCOUNT','SHAREACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (705,'SHAREACCOUNT','UPDATE_SHAREACCOUNT','SHAREACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (706,'organisation','READ_TAXCOMPONENT','TAXCOMPONENT','READ',0); +INSERT INTO `m_permission` VALUES (707,'organisation','CREATE_TAXCOMPONENT','TAXCOMPONENT','CREATE',0); +INSERT INTO `m_permission` VALUES (708,'organisation','CREATE_TAXCOMPONENT_CHECKER','TAXCOMPONENT','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (709,'organisation','UPDATE_TAXCOMPONENT','TAXCOMPONENT','UPDATE',0); +INSERT INTO `m_permission` VALUES (710,'organisation','UPDATE_TAXCOMPONENT_CHECKER','TAXCOMPONENT','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (711,'organisation','READ_TAXGROUP','TAXGROUP','READ',0); +INSERT INTO `m_permission` VALUES (712,'organisation','CREATE_TAXGROUP','TAXGROUP','CREATE',0); +INSERT INTO `m_permission` VALUES (713,'organisation','CREATE_TAXGROUP_CHECKER','TAXGROUP','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (714,'organisation','UPDATE_TAXGROUP','TAXGROUP','UPDATE',0); +INSERT INTO `m_permission` VALUES (715,'organisation','UPDATE_TAXGROUP_CHECKER','TAXGROUP','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (716,'portfolio','UPDATEWITHHOLDTAX_SAVINGSACCOUNT','SAVINGSACCOUNT','UPDATEWITHHOLDTAX',0); +INSERT INTO `m_permission` VALUES (717,'portfolio','UPDATEWITHHOLDTAX_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UPDATEWITHHOLDTAX_CHECKER',0); +INSERT INTO `m_permission` VALUES (718,'SHAREPRODUCT','CREATE_DIVIDEND_SHAREPRODUCT','SHAREPRODUCT','CREATE_DIVIDEND',0); +INSERT INTO `m_permission` VALUES (719,'SHAREPRODUCT','CREATE_DIVIDEND_SHAREPRODUCT_CHECKER','SHAREPRODUCT','CREATE_DIVIDEND_CHECKER',0); +INSERT INTO `m_permission` VALUES (720,'SHAREPRODUCT','APPROVE_DIVIDEND_SHAREPRODUCT','SHAREPRODUCT','APPROVE_DIVIDEND',0); +INSERT INTO `m_permission` VALUES (721,'SHAREPRODUCT','APPROVE_DIVIDEND_SHAREPRODUCT_CHECKER','SHAREPRODUCT','APPROVE_DIVIDEND_CHECKER',0); +INSERT INTO `m_permission` VALUES (722,'SHAREPRODUCT','DELETE_DIVIDEND_SHAREPRODUCT','SHAREPRODUCT','DELETE_DIVIDEND',0); +INSERT INTO `m_permission` VALUES (723,'SHAREPRODUCT','DELETE_DIVIDEND_SHAREPRODUCT_CHECKER','SHAREPRODUCT','DELETE_DIVIDEND_CHECKER',0); +INSERT INTO `m_permission` VALUES (724,'SHAREPRODUCT','READ_DIVIDEND_SHAREPRODUCT','SHAREPRODUCT','READ_DIVIDEND',0); +INSERT INTO `m_permission` VALUES (725,'SHAREACCOUNT','APPROVE_SHAREACCOUNT','SHAREACCOUNT','APPROVE',0); +INSERT INTO `m_permission` VALUES (726,'SHAREACCOUNT','ACTIVATE_SHAREACCOUNT','SHAREACCOUNT','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (727,'SHAREACCOUNT','UNDOAPPROVAL_SHAREACCOUNT','SHAREACCOUNT','UNDOAPPROVAL',0); +INSERT INTO `m_permission` VALUES (728,'SHAREACCOUNT','REJECT_SHAREACCOUNT','SHAREACCOUNT','REJECT',0); +INSERT INTO `m_permission` VALUES (729,'SHAREACCOUNT','APPLYADDITIONALSHARES_SHAREACCOUNT','SHAREACCOUNT','APPLYADDITIONALSHARES',0); +INSERT INTO `m_permission` VALUES (730,'SHAREACCOUNT','APPROVEADDITIONALSHARES_SHAREACCOUNT','SHAREACCOUNT','APPROVEADDITIONALSHARES',0); +INSERT INTO `m_permission` VALUES (731,'SHAREACCOUNT','REJECTADDITIONALSHARES_SHAREACCOUNT','SHAREACCOUNT','REJECTADDITIONALSHARES',0); +INSERT INTO `m_permission` VALUES (732,'SHAREACCOUNT','REDEEMSHARES_SHAREACCOUNT','SHAREACCOUNT','REDEEMSHARES',0); +INSERT INTO `m_permission` VALUES (733,'SHAREACCOUNT','CLOSE_SHAREACCOUNT','SHAREACCOUNT','CLOSE',0); +INSERT INTO `m_permission` VALUES (734,'SSBENEFICIARYTPT','READ_SSBENEFICIARYTPT','SSBENEFICIARYTPT','READ',0); +INSERT INTO `m_permission` VALUES (735,'SSBENEFICIARYTPT','CREATE_SSBENEFICIARYTPT','SSBENEFICIARYTPT','CREATE',0); +INSERT INTO `m_permission` VALUES (736,'SSBENEFICIARYTPT','UPDATE_SSBENEFICIARYTPT','SSBENEFICIARYTPT','UPDATE',0); +INSERT INTO `m_permission` VALUES (737,'SSBENEFICIARYTPT','DELETE_SSBENEFICIARYTPT','SSBENEFICIARYTPT','DELETE',0); +INSERT INTO `m_permission` VALUES (738,'portfolio','FORECLOSURE_LOAN','LOAN','FORECLOSURE',0); +INSERT INTO `m_permission` VALUES (739,'portfolio','FORECLOSURE_LOAN_CHECKER','LOAN','FORECLOSURE_CHECKER',0); +INSERT INTO `m_permission` VALUES (740,'portfolio','CREATE_ADDRESS','ADDRESS','CREATE',0); +INSERT INTO `m_permission` VALUES (741,'portfolio','CREATE_ADDRESS_CHECKER','ADDRESS','CREATE_CHECKER',1); +INSERT INTO `m_permission` VALUES (742,'portfolio','UPDATE_ADDRESS','ADDRESS','UPDATE',0); +INSERT INTO `m_permission` VALUES (743,'portfolio','UPDATE_ADDRESS_CHECKER','ADDRESS','UPDATE_CHECKER',1); +INSERT INTO `m_permission` VALUES (744,'portfolio','READ_ADDRESS','ADDRESS','READ',0); +INSERT INTO `m_permission` VALUES (745,'portfolio','DELETE_ADDRESS','ADDRESS','DELETE',0); +INSERT INTO `m_permission` VALUES (746,'portfolio','DELETE_ADDRESS_CHECKER','ADDRESS','DELETE_CHECKER',1); +INSERT INTO `m_permission` VALUES (747,'jobs','CREATE_REPORTMAILINGJOB','REPORTMAILINGJOB','CREATE',0); +INSERT INTO `m_permission` VALUES (748,'jobs','UPDATE_REPORTMAILINGJOB','REPORTMAILINGJOB','UPDATE',0); +INSERT INTO `m_permission` VALUES (749,'jobs','DELETE_REPORTMAILINGJOB','REPORTMAILINGJOB','DELETE',0); +INSERT INTO `m_permission` VALUES (750,'jobs','READ_REPORTMAILINGJOB','REPORTMAILINGJOB','READ',0); +INSERT INTO `m_permission` VALUES (751,'portfolio','UNDOREJECT_CLIENT','CLIENT','UNDOREJECT',1); +INSERT INTO `m_permission` VALUES (752,'portfolio','UNDOREJECT_CLIENT_CHECKER','CLIENT','UNDOREJECT_CHECKER',1); +INSERT INTO `m_permission` VALUES (753,'portfolio','UNDOWITHDRAWAL_CLIENT','CLIENT','UNDOWITHDRAWAL',1); +INSERT INTO `m_permission` VALUES (754,'portfolio','UNDOWITHDRAWAL_CLIENT_CHECKER','CLIENT','UNDOWITHDRAWAL_CHECKER',1); +INSERT INTO `m_permission` VALUES (755,'organisation','READ_SMSCAMPAIGN','SMSCAMPAIGN','READ',0); +INSERT INTO `m_permission` VALUES (756,'organisation','CREATE_SMSCAMPAIGN','SMSCAMPAIGN','CREATE',0); +INSERT INTO `m_permission` VALUES (757,'organisation','CREATE_SMSCAMPAIGN_CHECKER','SMSCAMPAIGN','CREATE',0); +INSERT INTO `m_permission` VALUES (758,'organisation','UPDATE_SMSCAMPAIGN','SMSCAMPAIGN','UPDATE',0); +INSERT INTO `m_permission` VALUES (759,'organisation','UPDATE_SMSCAMPAIGN_CHECKER','SMSCAMPAIGN','UPDATE',0); +INSERT INTO `m_permission` VALUES (760,'organisation','DELETE_SMSCAMPAIGN','SMSCAMPAIGN','DELETE',0); +INSERT INTO `m_permission` VALUES (761,'organisation','DELETE_SMSCAMPAIGN_CHECKER','SMSCAMPAIGN','DELETE',0); +INSERT INTO `m_permission` VALUES (762,'organisation','ACTIVATE_SMSCAMPAIGN','SMSCAMPAIGN','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (763,'organisation','CLOSE_SMSCAMPAIGN','SMSCAMPAIGN','CLOSE',0); +INSERT INTO `m_permission` VALUES (764,'organisation','REACTIVATE_SMSCAMPAIGN','SMSCAMPAIGN','REACTIVATE',0); +INSERT INTO `m_permission` VALUES (765,'organisation','READ_EMAIL','EMAIL','READ',0); +INSERT INTO `m_permission` VALUES (766,'organisation','CREATE_EMAIL','EMAIL','CREATE',0); +INSERT INTO `m_permission` VALUES (767,'organisation','CREATE_EMAIL_CHECKER','EMAIL','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (768,'organisation','UPDATE_EMAIL','EMAIL','UPDATE',0); +INSERT INTO `m_permission` VALUES (769,'organisation','UPDATE_EMAIL_CHECKER','EMAIL','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (770,'organisation','DELETE_EMAIL','EMAIL','DELETE',0); +INSERT INTO `m_permission` VALUES (771,'organisation','DELETE_EMAIL_CHECKER','EMAIL','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (772,'organisation','READ_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','READ',0); +INSERT INTO `m_permission` VALUES (773,'organisation','CREATE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','CREATE',0); +INSERT INTO `m_permission` VALUES (774,'organisation','CREATE_EMAIL_CAMPAIGN_CHECKER','EMAIL_CAMPAIGN','CREATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (775,'organisation','UPDATE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','UPDATE',0); +INSERT INTO `m_permission` VALUES (776,'organisation','UPDATE_EMAIL_CAMPAIGN_CHECKER','EMAIL_CAMPAIGN','UPDATE_CHECKER',0); +INSERT INTO `m_permission` VALUES (777,'organisation','DELETE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','DELETE',0); +INSERT INTO `m_permission` VALUES (778,'organisation','DELETE_EMAIL_CAMPAIGN_CHECKER','EMAIL_CAMPAIGN','DELETE_CHECKER',0); +INSERT INTO `m_permission` VALUES (779,'organisation','CLOSE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','CLOSE',0); +INSERT INTO `m_permission` VALUES (780,'organisation','ACTIVATE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (781,'organisation','REACTIVATE_EMAIL_CAMPAIGN','EMAIL_CAMPAIGN','REACTIVATE',0); +INSERT INTO `m_permission` VALUES (782,'organisation','READ_EMAIL_CONFIGURATION','EMAIL_CONFIGURATION','READ',0); +INSERT INTO `m_permission` VALUES (783,'organisation','UPDATE_EMAIL_CONFIGURATION','EMAIL_CONFIGURATION','UPDATE',0); +INSERT INTO `m_permission` VALUES (784,'report','READ_Active Clients - Email','Active Clients - Email','READ',0); +INSERT INTO `m_permission` VALUES (785,'report','READ_Prospective Clients - Email','Prospective Clients - Email','READ',0); +INSERT INTO `m_permission` VALUES (786,'report','READ_Active Loan Clients - Email','Active Loan Clients - Email','READ',0); +INSERT INTO `m_permission` VALUES (787,'report','READ_Loans in arrears - Email','Loans in arrears - Email','READ',0); +INSERT INTO `m_permission` VALUES (788,'report','READ_Loans disbursed to clients - Email','Loans disbursed to clients - Email','READ',0); +INSERT INTO `m_permission` VALUES (789,'report','READ_Loan payments due - Email','Loan payments due - Email','READ',0); +INSERT INTO `m_permission` VALUES (790,'report','READ_Dormant Prospects - Email','Dormant Prospects - Email','READ',0); +INSERT INTO `m_permission` VALUES (791,'report','READ_Active Group Leaders - Email','Active Group Leaders - Email','READ',0); +INSERT INTO `m_permission` VALUES (792,'report','READ_Loan Payments Due (Overdue Loans) - Email','Loan Payments Due (Overdue Loans) - Email','READ',0); +INSERT INTO `m_permission` VALUES (793,'report','READ_Loan Payments Received (Active Loans) - Email','Loan Payments Received (Active Loans) - Email','READ',0); +INSERT INTO `m_permission` VALUES (794,'report','READ_Loan Payments Received (Overdue Loans) - Email','Loan Payments Received (Overdue Loans) - Email','READ',0); +INSERT INTO `m_permission` VALUES (795,'report','READ_Loan Fully Repaid - Email','Loan Fully Repaid - Email','READ',0); +INSERT INTO `m_permission` VALUES (796,'report','READ_Loans Outstanding after final instalment date - Email','Loans Outstanding after final instalment date - Email','READ',0); +INSERT INTO `m_permission` VALUES (797,'report','READ_Happy Birthday - Email','Happy Birthday - Email','READ',0); +INSERT INTO `m_permission` VALUES (798,'report','READ_Loan Rejected - Email','Loan Rejected - Email','READ',0); +INSERT INTO `m_permission` VALUES (799,'report','READ_Loan Approved - Email','Loan Approved - Email','READ',0); +INSERT INTO `m_permission` VALUES (800,'report','READ_Loan Repayment - Email','Loan Repayment - Email','READ',0); +INSERT INTO `m_permission` VALUES (801,'datatable','READ_ENTITY_DATATABLE_CHECK','ENTITY_DATATABLE_CHECK','READ',0); +INSERT INTO `m_permission` VALUES (802,'datatable','CREATE_ENTITY_DATATABLE_CHECK','ENTITY_DATATABLE_CHECK','CREATE',0); +INSERT INTO `m_permission` VALUES (803,'datatable','DELETE_ENTITY_DATATABLE_CHECK','ENTITY_DATATABLE_CHECK','DELETE',0); +INSERT INTO `m_permission` VALUES (804,'configuration','CREATE_CREDITBUREAU_LOANPRODUCT_MAPPING','CREDITBUREAU_LOANPRODUCT_MAPPING','CREATE',0); +INSERT INTO `m_permission` VALUES (805,'configuration','CREATE_ORGANISATIONCREDITBUREAU','ORGANISATIONCREDITBUREAU','CREATE',0); +INSERT INTO `m_permission` VALUES (806,'configuration','UPDATE_ORGANISATIONCREDITBUREAU','ORGANISATIONCREDITBUREAU','UPDATE',0); +INSERT INTO `m_permission` VALUES (807,'configuration','UPDATE_CREDITBUREAU_LOANPRODUCT_MAPPING','CREDITBUREAU_LOANPRODUCT_MAPPING','UPDATE',0); +INSERT INTO `m_permission` VALUES (808,'configuration','GET_CREDITREPORT','CREDITREPORT','GET',0); +INSERT INTO `m_permission` VALUES (809,'configuration','CREATE_CREDITBUREAU_CONFIGURATION','CREDITBUREAU_CONFIGURATION','CREATE',0); +INSERT INTO `m_permission` VALUES (810,'configuration','UPDATE_CREDITBUREAU_CONFIGURATION','CREDITBUREAU_CONFIGURATION','UPDATE',0); +INSERT INTO `m_permission` VALUES (811,'configuration','SAVE_CREDITREPORT','CREDITREPORT','SAVE',0); +INSERT INTO `m_permission` VALUES (812,'configuration','DELETE_CREDITREPORT','CREDITREPORT','DELETE',0); +INSERT INTO `m_permission` VALUES (813,'portfolio','CREATE_FAMILYMEMBERS','FAMILYMEMBERS','CREATE',0); +INSERT INTO `m_permission` VALUES (814,'portfolio','UPDATE_FAMILYMEMBERS','FAMILYMEMBERS','UPDATE',0); +INSERT INTO `m_permission` VALUES (815,'portfolio','DELETE_FAMILYMEMBERS','FAMILYMEMBERS','DELETE',0); +INSERT INTO `m_permission` VALUES (816,'transaction_savings','HOLDAMOUNT_SAVINGSACCOUNT','SAVINGSACCOUNT','HOLDAMOUNT',0); +INSERT INTO `m_permission` VALUES (817,'transaction_savings','HOLDAMOUNT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','HOLDAMOUNT_CHECKER',0); +INSERT INTO `m_permission` VALUES (818,'transaction_savings','BLOCKDEBIT_SAVINGSACCOUNT','SAVINGSACCOUNT','BLOCKDEBIT',0); +INSERT INTO `m_permission` VALUES (819,'transaction_savings','BLOCKDEBIT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','BLOCKDEBIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (820,'transaction_savings','UNBLOCKDEBIT_SAVINGSACCOUNT','SAVINGSACCOUNT','UNBLOCKDEBIT',0); +INSERT INTO `m_permission` VALUES (821,'transaction_savings','UNBLOCKDEBIT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UNBLOCKDEBIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (822,'transaction_savings','BLOCKCREDIT_SAVINGSACCOUNT','SAVINGSACCOUNT','BLOCKCREDIT',0); +INSERT INTO `m_permission` VALUES (823,'transaction_savings','BLOCKCREDIT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','BLOCKCREDIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (824,'transaction_savings','UNBLOCKCREDIT_SAVINGSACCOUNT','SAVINGSACCOUNT','UNBLOCKCREDIT',0); +INSERT INTO `m_permission` VALUES (825,'transaction_savings','UNBLOCKCREDIT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UNBLOCKCREDIT_CHECKER',0); +INSERT INTO `m_permission` VALUES (826,'transaction_savings','BLOCK_SAVINGSACCOUNT','SAVINGSACCOUNT','BLOCK',0); +INSERT INTO `m_permission` VALUES (827,'transaction_savings','BLOCK_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','BLOCK_CHECKER',0); +INSERT INTO `m_permission` VALUES (828,'transaction_savings','UNBLOCK_SAVINGSACCOUNT','SAVINGSACCOUNT','UNBLOCK',0); +INSERT INTO `m_permission` VALUES (829,'transaction_savings','UNBLOCK_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UNBLOCK_CHECKER',0); +INSERT INTO `m_permission` VALUES (830,'transaction_savings','RELEASEAMOUNT_SAVINGSACCOUNT','SAVINGSACCOUNT','RELEASEAMOUNT',0); +INSERT INTO `m_permission` VALUES (831,'transaction_savings','RELEASEAMOUNT_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','RELEASEAMOUNT_CHECKER',0); +INSERT INTO `m_permission` VALUES (832,'authorisation','UPDATE_ADHOC','ADHOC','UPDATE',1); +INSERT INTO `m_permission` VALUES (833,'authorisation','UPDATE_ADHOC_CHECKER','ADHOC','UPDATE',0); +INSERT INTO `m_permission` VALUES (834,'authorisation','DELETE_ADHOC','ADHOC','DELETE',1); +INSERT INTO `m_permission` VALUES (835,'authorisation','DELETE_ADHOC_CHECKER','ADHOC','DELETE',0); +INSERT INTO `m_permission` VALUES (836,'authorisation','CREATE_ADHOC','ADHOC','CREATE',1); +INSERT INTO `m_permission` VALUES (837,'authorisation','CREATE_ADHOC_CHECKER','ADHOC','CREATE',0); +INSERT INTO `m_permission` VALUES (838,'authorisation','INVALIDATE_TWOFACTOR_ACCESSTOKEN','TWOFACTOR_ACCESSTOKEN','INVALIDATE',0); +INSERT INTO `m_permission` VALUES (839,'configuration','READ_TWOFACTOR_CONFIGURATION','TWOFACTOR_CONFIGURATION','READ',0); +INSERT INTO `m_permission` VALUES (840,'configuration','UPDATE_TWOFACTOR_CONFIGURATION','TWOFACTOR_CONFIGURATION','UPDATE',0); +INSERT INTO `m_permission` VALUES (841,'special','BYPASS_TWOFACTOR',NULL,NULL,0); +INSERT INTO `m_permission` VALUES (842,'infrastructure','READ_IMPORT','IMPORT','READ',0); +INSERT INTO `m_permission` VALUES (843,'portfolio','LINK_ACCOUNT_TO_POCKET','POCKET','LINK_ACCOUNT_TO',0); +INSERT INTO `m_permission` VALUES (844,'portfolio','DELINK_ACCOUNT_FROM_POCKET','POCKET','DELINK_ACCOUNT_FROM',0); +INSERT INTO `m_permission` VALUES (845,'interop','READ_INTERID','INTERID','READ',0); +INSERT INTO `m_permission` VALUES (846,'interop','READ_INTERREQUEST','INTERREQUEST','READ',0); +INSERT INTO `m_permission` VALUES (847,'interop','READ_INTERQUOTE','INTERQUOTE','READ',0); +INSERT INTO `m_permission` VALUES (848,'interop','READ_INTERTRANSFER','INTERTRANSFER','READ',0); +INSERT INTO `m_permission` VALUES (849,'interop','PREPARE_INTERTRANSFER','INTERTRANSFER','PREPARE',0); +INSERT INTO `m_permission` VALUES (850,'interop','RELEASE_INTERTRANSFER','INTERTRANSFER','RELEASE',0); +INSERT INTO `m_permission` VALUES (851,'interop','CREATE_INTERID','INTERID','CREATE',0); +INSERT INTO `m_permission` VALUES (852,'interop','CREATE_INTERREQUEST','INTERREQUEST','CREATE',0); +INSERT INTO `m_permission` VALUES (853,'interop','CREATE_INTERQUOTE','INTERQUOTE','CREATE',0); +INSERT INTO `m_permission` VALUES (854,'interop','CREATE_INTERTRANSFER','INTERTRANSFER','CREATE',0); +INSERT INTO `m_permission` VALUES (855,'interop','DELETE_INTERID','INTERID','DELETE',0); +INSERT INTO `m_permission` VALUES (856,'organisation','READ_RATE','RATE','CREATE',1); +INSERT INTO `m_permission` VALUES (857,'organisation','CREATE_RATE','RATE','CREATE',1); +INSERT INTO `m_permission` VALUES (858,'organisation','UPDATE_RATE','RATE','UPDATE',1); +INSERT INTO `m_permission` VALUES (859,'portfolio','CREATE_GSIMACCOUNT','GSIMACCOUNT','CREATE',0); +INSERT INTO `m_permission` VALUES (860,'portfolio','APPROVE_GSIMACCOUNT','GSIMACCOUNT','APPROVE',0); +INSERT INTO `m_permission` VALUES (861,'portfolio','ACTIVATE_GSIMACCOUNT','GSIMACCOUNT','ACTIVATE',0); +INSERT INTO `m_permission` VALUES (862,'portfolio','APPROVALUNDO_GSIMACCOUNT','GSIMACCOUNT','APPROVALUNDO',0); +INSERT INTO `m_permission` VALUES (863,'portfolio','UPDATE_GSIMACCOUNT','GSIMACCOUNT','UPDATE',0); +INSERT INTO `m_permission` VALUES (864,'portfolio','REJECT_GSIMACCOUNT','GSIMACCOUNT','REJECT',0); +INSERT INTO `m_permission` VALUES (865,'portfolio','DEPOSIT_GSIMACCOUNT','GSIMACCOUNT','DEPOSIT',0); +INSERT INTO `m_permission` VALUES (866,'portfolio','CLOSE_GSIMACCOUNT','GSIMACCOUNT','CLOSE',0); +INSERT INTO `m_permission` VALUES (867,'portfolio','APPROVE_GLIMLOAN','GLIMLOAN','APPROVE',0); +INSERT INTO `m_permission` VALUES (868,'portfolio','DISBURSE_GLIMLOAN','GLIMLOAN','DISBURSE',0); +INSERT INTO `m_permission` VALUES (869,'portfolio','REPAYMENT_GLIMLOAN','GLIMLOAN','REPAYMENT',0); +INSERT INTO `m_permission` VALUES (870,'portfolio','UNDODISBURSAL_GLIMLOAN','GLIMLOAN','UNDODISBURSAL',0); +INSERT INTO `m_permission` VALUES (871,'portfolio','UNDOAPPROVAL_GLIMLOAN','GLIMLOAN','UNDOAPPROVAL',0); +INSERT INTO `m_permission` VALUES (872,'portfolio','REJECT_GLIMLOAN','GLIMLOAN','REJECT',0); +INSERT INTO `m_permission` VALUES (873,'portfolio','CREATE_CLIENT_COLLATERAL_PRODUCT','CLIENT_COLLATERAL_PRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (874,'portfolio','CREATE_COLLATERAL_PRODUCT','COLLATERAL_PRODUCT','CREATE',0); +INSERT INTO `m_permission` VALUES (875,'portfolio','DELETE_CLIENT_COLLATERAL_PRODUCT','CLIENT_COLLATERAL_PRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (876,'portfolio','DELETE_COLLATERAL_PRODUCT','COLLATERAL_PRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (877,'portfolio','DELETE_LOAN_COLLATERAL_PRODUCT','LOAN_COLLATERAL_PRODUCT','DELETE',0); +INSERT INTO `m_permission` VALUES (878,'portfolio','UPDATE_CLIENT_COLLATERAL_PRODUCT','CLIENT_COLLATERAL_PRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (879,'portfolio','UPDATE_COLLATERAL_PRODUCT','COLLATERAL_PRODUCT','UPDATE',0); +INSERT INTO `m_permission` VALUES (880,'portfolio','UPDATE_REPAYMENT_WITH_POSTDATEDCHECKS','REPAYMENT_WITH_POSTDATEDCHECKS','UPDATE',0); +INSERT INTO `m_permission` VALUES (881,'portfolio','DELETE_REPAYMENT_WITH_POSTDATEDCHECKS','REPAYMENT_WITH_POSTDATEDCHECKS','DELETE',0); +INSERT INTO `m_permission` VALUES (882,'portfolio','BOUNCE_REPAYMENT_WITH_POSTDATEDCHECKS','REPAYMENT_WITH_POSTDATEDCHECKS','BOUNCE',0); +INSERT INTO `m_permission` VALUES (883,'transaction_savings','REVERSETRANSACTION_SAVINGSACCOUNT','SAVINGSACCOUNT','REVERSETRANSACTION',0); +INSERT INTO `m_permission` VALUES (884,'transaction_savings','REVERSETRANSACTION_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','REVERSETRANSACTION_CHECKER',0); +INSERT INTO `m_permission` VALUES (885,'transaction_loan','CREDITBALANCEREFUND_LOAN','LOAN','CREDITBALANCEREFUND',0); +INSERT INTO `m_permission` VALUES (886,'transaction_loan','MERCHANTISSUEDREFUND_LOAN','LOAN','MERCHANTISSUEDREFUND',0); +INSERT INTO `m_permission` VALUES (887,'transaction_loan','PAYOUTREFUND_LOAN','LOAN','PAYOUTREFUND',0); +INSERT INTO `m_permission` VALUES (888,'transaction_loan','GOODWILLCREDIT_LOAN','LOAN','GOODWILLCREDIT',0); +INSERT INTO `m_permission` VALUES (889,'organisation','READ_BUSINESS_DATE','BUSINESS_DATE','READ',0); +INSERT INTO `m_permission` VALUES (890,'organisation','UPDATE_BUSINESS_DATE','BUSINESS_DATE','UPDATE',0); +INSERT INTO `m_permission` VALUES (891,'transaction_loan','CHARGEREFUND_LOAN','LOAN','CHARGEREFUND',0); +INSERT INTO `m_permission` VALUES (892,'organisation','READ_DELINQUENCY_BUCKET','DELINQUENCY_BUCKET','READ',0); +INSERT INTO `m_permission` VALUES (893,'organisation','CREATE_DELINQUENCY_BUCKET','DELINQUENCY_BUCKET','CREATE',0); +INSERT INTO `m_permission` VALUES (894,'organisation','UPDATE_DELINQUENCY_BUCKET','DELINQUENCY_BUCKET','UPDATE',0); +INSERT INTO `m_permission` VALUES (895,'organisation','DELETE_DELINQUENCY_BUCKET','DELINQUENCY_BUCKET','DELETE',0); +INSERT INTO `m_permission` VALUES (896,'organisation','CREATE_DELINQUENCY_RANGE','DELINQUENCY_RANGE','CREATE',0); +INSERT INTO `m_permission` VALUES (897,'organisation','UPDATE_DELINQUENCY_RANGE','DELINQUENCY_RANGE','UPDATE',0); +INSERT INTO `m_permission` VALUES (898,'organisation','DELETE_DELINQUENCY_RANGE','DELINQUENCY_RANGE','DELETE',0); +INSERT INTO `m_permission` VALUES (899,'organisation','READ_DELINQUENCY_TAGS','DELINQUENCY_TAGS','READ',0); +INSERT INTO `m_permission` VALUES (900,'organisation','UPDATE_DELINQUENCY_TAGS','DELINQUENCY_TAGS','UPDATE',0); +INSERT INTO `m_permission` VALUES (901,'organisation','UPDATEDELINQUENCY_LOAN','LOAN','UPDATEDELINQUENCY',0); +INSERT INTO `m_permission` VALUES (902,'organisation','UPDATE_BATCH_BUSINESS_STEP','BATCH_BUSINESS_STEP','UPDATE',0); +INSERT INTO `m_permission` VALUES (903,'transaction_loan','CHARGEBACK_LOAN','LOAN','CHARGEBACK',0); +INSERT INTO `m_permission` VALUES (904,'organisation','EXECUTE_INLINE_JOB','INLINE_JOB','EXECUTE',0); +INSERT INTO `m_permission` VALUES (905,'portfolio','SETFRAUD_LOAN','LOAN','SETFRAUD',0); +INSERT INTO `m_permission` VALUES (906,'configuration','UPDATE_EXTERNAL_EVENT_CONFIGURATION','EXTERNAL_EVENT_CONFIGURATION','UPDATE',0); +INSERT INTO `m_permission` VALUES (907,'configuration','READ_EXTERNAL_EVENT_CONFIGURATION','EXTERNAL_EVENT_CONFIGURATION','READ',0); +INSERT INTO `m_permission` VALUES (908,'transaction_loan','BYPASS_LOAN_WRITE_PROTECTION','LOAN','BYPASS',0); +INSERT INTO `m_permission` VALUES (909,'transaction_loan','ADJUSTMENT_LOANCHARGE','LOANCHARGE','ADJUSTMENT',0); +INSERT INTO `m_permission` VALUES (910,'transaction_loan','CHARGEOFF_LOAN','LOAN','CHARGEOFF',0); +INSERT INTO `m_permission` VALUES (911,'transaction_loan','UNDOCHARGEOFF_LOAN','LOAN','UNDOCHARGEOFF',0); +INSERT INTO `m_permission` VALUES (912,'organisation','CREATE_DELINQUENCY_ACTION','DELINQUENCY_ACTION','CREATE',0); +INSERT INTO `m_permission` VALUES (913,'transaction_loan','DISBURSEWITHOUTAUTODOWNPAYMENT_LOAN','LOAN','DISBURSEWITHOUTAUTODOWNPAYMENT',0); +INSERT INTO `m_permission` VALUES (914,'transaction_loan','INTERESTPAYMENTWAIVER_LOAN','LOAN','INTERESTPAYMENTWAIVER',0); +INSERT INTO `m_permission` VALUES (915,'investor','CANCEL_ASSET_OWNER_TRANSACTION','ASSET_OWNER_TRANSACTION','CANCEL',0); +INSERT INTO `m_permission` VALUES (916,'portfolio','REAGE_LOAN','LOAN','REAGE',0); +INSERT INTO `m_permission` VALUES (917,'portfolio','UNDO_REAGE_LOAN','LOAN','UNDO_REAGE',0); +INSERT INTO `m_permission` VALUES (918,'portfolio','REAMORTIZE_LOAN','LOAN','REAMORTIZE',0); +INSERT INTO `m_permission` VALUES (919,'portfolio','UNDO_REAMORTIZE_LOAN','LOAN','UNDO_REAMORTIZE',0); +INSERT INTO `m_permission` VALUES (920,'portfolio','CREATE_INTEREST_PAUSE','INTEREST_PAUSE','CREATE',0); +INSERT INTO `m_permission` VALUES (921,'portfolio','UPDATE_INTEREST_PAUSE','INTEREST_PAUSE','UPDATE',0); +INSERT INTO `m_permission` VALUES (922,'portfolio','DELETE_INTEREST_PAUSE','INTEREST_PAUSE','DELETE',0); +INSERT INTO `m_permission` VALUES (923,'LOAN_PROVISIONING','UPDATE_PROVISIONCATEGORY','PROVISIONCATEGORY','UPDATE',0); +INSERT INTO `m_permission` VALUES (924,'portfolio','DEACTIVATEOVERDUE_LOANCHARGE','LOANCHARGE','DEACTIVATEOVERDUE',0); +INSERT INTO `m_permission` VALUES (925,'authorisation','CHANGEPWD_USER','USER','CHANGEPWD',0); +INSERT INTO `m_permission` VALUES (926,'portfolio','CLOSE_CLIENT_CHECKER','CLIENT','CLOSE',0); +INSERT INTO `m_permission` VALUES (927,'portfolio','CLOSE_GROUP_CHECKER','GROUP','CLOSE',0); +INSERT INTO `m_permission` VALUES (928,'portfolio','CLOSE_CENTER_CHECKER','CENTER','CLOSE',0); +INSERT INTO `m_permission` VALUES (929,'portfolio','REMOVESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','REMOVESAVINGSOFFICER',0); +INSERT INTO `m_permission` VALUES (930,'portfolio','UPDATESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','UPDATESAVINGSOFFICER',0); +INSERT INTO `m_permission` VALUES (931,'cash_mgmt','CREATE_TELLER_CHECKER','TELLER','CREATE',0); +INSERT INTO `m_permission` VALUES (932,'cash_mgmt','UPDATE_TELLER_CHECKER','TELLER','UPDATE',0); +INSERT INTO `m_permission` VALUES (933,'cash_mgmt','ALLOCATECASHIER_TELLER_CHECKER','TELLER','ALLOCATE',0); +INSERT INTO `m_permission` VALUES (934,'cash_mgmt','UPDATECASHIERALLOCATION_TELLER_CHECKER','TELLER','UPDATECASHIERALLOCATION',0); +INSERT INTO `m_permission` VALUES (935,'cash_mgmt','DELETECASHIERALLOCATION_TELLER_CHECKER','TELLER','DELETECASHIERALLOCATION',0); +INSERT INTO `m_permission` VALUES (936,'cash_mgmt','ALLOCATECASHTOCASHIER_TELLER_CHECKER','TELLER','ALLOCATECASHTOCASHIER',0); +INSERT INTO `m_permission` VALUES (937,'cash_mgmt','SETTLECASHFROMCASHIER_TELLER_CHECKER','TELLER','SETTLECASHFROMCASHIER',0); +INSERT INTO `m_permission` VALUES (938,'accounting','DEFINEOPENINGBALANCE_JOURNALENTRY_CHECKER','JOURNALENTRY','DEFINEOPENINGBALANCE',0); +INSERT INTO `m_permission` VALUES (939,'cash_mgmt','DELETE_TELLER_CHECKER','TELLER','DELETE',0); +INSERT INTO `m_permission` VALUES (940,'organisation','READ_RATE_CHECKER','RATE','CREATE',0); +INSERT INTO `m_permission` VALUES (941,'organisation','CREATE_RATE_CHECKER','RATE','CREATE',0); +INSERT INTO `m_permission` VALUES (942,'organisation','UPDATE_RATE_CHECKER','RATE','UPDATE',0); +INSERT INTO `m_permission` VALUES (943,'accounting','UPDATEOPENINGBALANCE_JOURNALENTRY','JOURNALENTRY','UPDATEOPENINGBALANCE',1); +INSERT INTO `m_permission` VALUES (944,'accounting','UPDATEOPENINGBALANCE_JOURNALENTRY_CHECKER','JOURNALENTRY','UPDATEOPENINGBALANCE',0); +INSERT INTO `m_permission` VALUES (945,'collection_sheet','UPDATE_COLLECTIONSHEET','COLLECTIONSHEET','UPDATE',0); +INSERT INTO `m_permission` VALUES (946,'transaction_savings','POSTINTERESTASONDATE_SAVINGSACCOUNT','SAVINGSACCOUNT','POSTINTERESTASONDATE',1); +INSERT INTO `m_permission` VALUES (947,'transaction_savings','POSTINTERESTASONDATE_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','POSTINTERESTASONDATE',0); +INSERT INTO `m_permission` VALUES (948,'transaction_loan','CAPITALIZEDINCOME_LOAN','LOAN','CAPITALIZEDINCOME',0); +INSERT INTO `m_permission` VALUES (949,'transaction_loan','CAPITALIZEDINCOMEADJUSTMENT_LOAN','LOAN','CAPITALIZEDINCOMEADJUSTMENT',0); +INSERT INTO `m_permission` VALUES (950,'transaction_loan','BUYDOWNFEEADJUSTMENT_LOAN','LOAN','BUYDOWNFEEADJUSTMENT',0); +INSERT INTO `m_permission` VALUES (951,'transaction_loan','BUYDOWNFEE_LOAN','LOAN','BUYDOWNFEE',0); +INSERT INTO `m_permission` VALUES (952,'portfolio','CONTRACT_TERMINATION_UNDO_LOAN','LOAN','CONTRACT_TERMINATION_UNDO',0); +INSERT INTO `m_permission` VALUES (953,'transaction_loan','UPDATE_APPROVED_AMOUNT_LOAN','LOAN','UPDATE_APPROVED_AMOUNT',0); +INSERT INTO `m_permission` VALUES (954,'transaction_loan','MANUAL_INTEREST_REFUND_TRANSACTION_LOAN','LOAN','MANUAL_INTEREST_REFUND_TRANSACTION',0); +INSERT INTO `m_permission` VALUES (955,'portfolio','READ_FAMILYMEMBERS','FAMILYMEMBERS','READ',0); +INSERT INTO `m_permission` VALUES (956,'portfolio','FORCE_WITHDRAWAL_SAVINGSACCOUNT','SAVINGSACCOUNT','FORCE_WITHDRAWAL',1); +INSERT INTO `m_permission` VALUES (957,'portfolio','FORCE_WITHDRAWAL_SAVINGSACCOUNT_CHECKER','SAVINGSACCOUNT','FORCE_WITHDRAWAL_CHECKER',0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_provision_category` VALUES (1,'STANDARD','Punctual Payment without any dues'); +INSERT INTO `m_provision_category` VALUES (2,'SUB-STANDARD','Principal and/or Interest overdue by x days'); +INSERT INTO `m_provision_category` VALUES (3,'DOUBTFUL','Principal and/or Interest overdue by x days and less than y'); +INSERT INTO `m_provision_category` VALUES (4,'LOSS','Principal and/or Interest overdue by y days'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_report_mailing_job_configuration` VALUES (1,'GMAIL_SMTP_SERVER','smtp.gmail.com'); +INSERT INTO `m_report_mailing_job_configuration` VALUES (2,'GMAIL_SMTP_PORT','587'); +INSERT INTO `m_report_mailing_job_configuration` VALUES (3,'GMAIL_SMTP_USERNAME',''); +INSERT INTO `m_report_mailing_job_configuration` VALUES (4,'GMAIL_SMTP_PASSWORD',''); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_role` VALUES (1,'Super user','This role provides all application permissions.',0); +INSERT INTO `m_role` VALUES (2,'Self Service User','self service user role',1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_role_permission` VALUES (1,1); +INSERT INTO `m_role_permission` VALUES (1,956); +INSERT INTO `m_role_permission` VALUES (1,957); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `m_working_days` VALUES (1,'FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU',2,0,0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `mix_taxonomy` VALUES (1,'AdministrativeExpense',1,NULL,3,NULL,1); +INSERT INTO `mix_taxonomy` VALUES (2,'Assets',3,NULL,1,'All outstanding principals due for all outstanding client loans. This includes current, delinquent, and renegotiated loans, but not loans that have been written off. It does not include interest receivable.',1); +INSERT INTO `mix_taxonomy` VALUES (3,'Assets',3,'MaturityDimension:LessThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',1); +INSERT INTO `mix_taxonomy` VALUES (4,'Assets',3,'MaturityDimension:MoreThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',1); +INSERT INTO `mix_taxonomy` VALUES (5,'CashAndCashEquivalents',1,NULL,1,NULL,1); +INSERT INTO `mix_taxonomy` VALUES (6,'Deposits',3,NULL,1,'The total value of funds placed in an account with an MFI that are payable to a depositor. This item includes any current, checking, or savings accounts that are payable on demand. It also includes time deposits which have a fixed maturity date and compulsory deposits.',1); +INSERT INTO `mix_taxonomy` VALUES (7,'Deposits',3,'DepositProductsDimension:CompulsoryMember',1,'The value of deposits that an MFI\'s clients are required to maintain as a condition of an existing or future loan.',NULL); +INSERT INTO `mix_taxonomy` VALUES (8,'Deposits',3,'DepositProductsDimension:VoluntaryMember',1,'The value of deposits that an MFI\'s clients are not required to maintain as a condition of an existing or future loan.',NULL); +INSERT INTO `mix_taxonomy` VALUES (9,'Deposits',3,'LocationDimension:RuralMember',1,'Located in rural areas. Segmentation based on location.',NULL); +INSERT INTO `mix_taxonomy` VALUES (10,'Deposits',3,'LocationDimension:UrbanMember',1,'Located in urban areas. Segmentation based on location.',NULL); +INSERT INTO `mix_taxonomy` VALUES (11,'Deposits',3,'MaturityDimension:LessThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (12,'Deposits',3,'MaturityDimension:MoreThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (13,'EmployeeBenefitsExpense',1,NULL,3,NULL,NULL); +INSERT INTO `mix_taxonomy` VALUES (14,'Equity',1,NULL,1,NULL,NULL); +INSERT INTO `mix_taxonomy` VALUES (15,'Expense',1,NULL,3,NULL,NULL); +INSERT INTO `mix_taxonomy` VALUES (16,'FinancialExpense',3,NULL,3,'All costs All costs incurred in raising funds from third parties, fee expenses from non-financial services, net gains (losses) due to changes in fair value of financial liabilities, impairment losses net of reversals of financial assets other than loan portfolio and net gains (losses) from restatement of financial statements in terms of the measuring unit current at the end of the reporting period.',NULL); +INSERT INTO `mix_taxonomy` VALUES (17,'FinancialRevenueOnLoans',3,NULL,2,'Interest and non-interest income generated by the provision of credit services to the clients. Fees and commissions for late payment are also included.',NULL); +INSERT INTO `mix_taxonomy` VALUES (18,'ImpairmentLossAllowanceGrossLoanPortfolio',3,NULL,2,'An allowance for the risk of losses in the gross loan portfolio due to default .',NULL); +INSERT INTO `mix_taxonomy` VALUES (19,'Liabilities',1,NULL,1,NULL,NULL); +INSERT INTO `mix_taxonomy` VALUES (20,'Liabilities',3,'MaturityDimension:LessThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (21,'Liabilities',3,'MaturityDimension:MoreThanOneYearMember',1,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (22,'LoanPortfolioGross',3,NULL,2,'All outstanding principals due for all outstanding client loans. This includes current, delinquent, and renegotiated loans, but not loans that have been written off. It does not include interest receivable.',NULL); +INSERT INTO `mix_taxonomy` VALUES (23,'LoanPortfolioGross',3,'CreditProductsDimension:MicroenterpriseMember',2,'Loans that finance the production or trade of goods and services for an individual\'s microenterprise, whether or not the microenterprise is legally registered. Segmentation based on loan product.',NULL); +INSERT INTO `mix_taxonomy` VALUES (24,'LoanPortfolioGross',3,'DelinquencyDimension:OneMonthOrMoreMember',2,'Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated. Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.',NULL); +INSERT INTO `mix_taxonomy` VALUES (25,'LoanPortfolioGross',3,'DelinquencyDimension:ThreeMonthsOrMoreMember',2,'Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.? Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.',NULL); +INSERT INTO `mix_taxonomy` VALUES (26,'LoanPortfolioGross',3,'LocationDimension:RuralMember',2,'Located in rural areas. Segmentation based on geographic location.',NULL); +INSERT INTO `mix_taxonomy` VALUES (27,'LoanPortfolioGross',3,'LocationDimension:UrbanMember',2,'Located in urbal areas. Segmentation based on geographic location.',NULL); +INSERT INTO `mix_taxonomy` VALUES (28,'LoanPortfolioGross',3,'MaturityDimension:LessThanOneYearMember',2,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (29,'LoanPortfolioGross',3,'MaturityDimension:MoreThanOneYearMember',2,'Segmentation based on the life of an asset or liability.',NULL); +INSERT INTO `mix_taxonomy` VALUES (30,'NetLoanLoss',3,'',3,'Referred to the value of delinquency loans written off net of any principal recovery.',NULL); +INSERT INTO `mix_taxonomy` VALUES (31,'NetLoanLossProvisionExpense',3,NULL,3,'Represent the net value of loan portfolio impairment loss considering any reversal on impairment loss and any recovery on loans written off recognized as a income during the accounting period.',NULL); +INSERT INTO `mix_taxonomy` VALUES (32,'NetOperatingIncome',3,NULL,2,'Total operating revenue less all expenses related to the MFI\'s core financial service operation including total financial expense, impairment loss and operating expense. Donations are excluded.',NULL); +INSERT INTO `mix_taxonomy` VALUES (33,'NetOperatingIncomeNetOfTaxExpense',3,NULL,3,'Net operating income reported incorporating the effect of taxes. Taxes include all domestic and foreign taxes which are based on taxable profits, other taxes related to personnel, financial transactions or value-added taxes are not considered in calculation of this value.',NULL); +INSERT INTO `mix_taxonomy` VALUES (34,'NumberOfActiveBorrowers',3,NULL,0,'The number of individuals who currently have an outstanding loan balance with the MFI or are primarily responsible for repaying any portion of the gross loan portfolio. Individuals who have multiple loans with an MFI should be counted as a single borrower.',NULL); +INSERT INTO `mix_taxonomy` VALUES (35,'NumberOfActiveBorrowers',3,'GenderDimension:FemaleMember',0,'The number of individuals who currently have an outstanding loan balance with the MFI or are primarily responsible for repaying any portion of the gross loan portfolio. Individuals who have multiple loans with an MFI should be counted as a single borrower.',NULL); +INSERT INTO `mix_taxonomy` VALUES (36,'NumberOfBoardMembers',3,'GenderDimension:FemaleMember',0,'The number of members that comprise the board of directors at the end of the reporting period who are female.',NULL); +INSERT INTO `mix_taxonomy` VALUES (37,'NumberOfDepositAccounts',3,NULL,0,'The number of individuals who currently have funds on deposit with the MFI on a voluntary basis; i.e., they are not required to maintain the deposit account to access a loan. This number applies only to deposits held by an MFI, not to those deposits held in other institutions by the MFI\'s clients. The number should be based on the number of individuals rather than the number of groups. A single deposit account may represent multiple depositors.',NULL); +INSERT INTO `mix_taxonomy` VALUES (38,'NumberOfDepositors',3,'',0,'The number of deposit accounts, both voluntary and compulsory, opened at the MFI whose balances the institution is liable to repay. The number should be based on the number of individual accounts rather than on the number of groups.',NULL); +INSERT INTO `mix_taxonomy` VALUES (39,'NumberOfEmployees',3,NULL,0,'The number of individuals who are actively employed by an entity. This number includes contract employees or advisors who dedicate a substantial portion of their time to the entity, even if they are not on the entity\'s employees roster.',NULL); +INSERT INTO `mix_taxonomy` VALUES (40,'NumberOfEmployees',3,'GenderDimension:FemaleMember',0,'The number of individuals who are actively employed by an entity. This number includes contract employees or advisors who dedicate a substantial portion of their time to the entity, even if they are not on the entity\'s employees roster.',NULL); +INSERT INTO `mix_taxonomy` VALUES (41,'NumberOfLoanOfficers',3,NULL,0,'The number of employees whose main activity is to manage a portion of the gross loan portfolio. A loan officer is a staff member of record who is directly responsible for arranging and monitoring client loans.',NULL); +INSERT INTO `mix_taxonomy` VALUES (42,'NumberOfLoanOfficers',3,'GenderDimension:FemaleMember',0,'The number of employees whose main activity is to manage a portion of the gross loan portfolio. A loan officer is a staff member of record who is directly responsible for arranging and monitoring client loans.',NULL); +INSERT INTO `mix_taxonomy` VALUES (43,'NumberOfManagers',3,'GenderDimension:FemaleMember',0,'The number of members that comprise the management of the institution who are female.',NULL); +INSERT INTO `mix_taxonomy` VALUES (44,'NumberOfOffices',3,NULL,0,'The number of staffed points of service and administrative sites used to deliver or support the delivery of financial services to microfinance clients.',NULL); +INSERT INTO `mix_taxonomy` VALUES (45,'NumberOfOutstandingLoans',3,NULL,0,'The number of loans in the gross loan portfolio. For MFIs using a group lending methodology, the number of loans should refer to the number of individuals receiving loans as part of a group or as part of a group loan.',NULL); +INSERT INTO `mix_taxonomy` VALUES (46,'OperatingExpense',3,NULL,3,'Includes expenses not related to financial and credit loss impairment, such as personnel expenses, depreciation, amortization and administrative expenses.',NULL); +INSERT INTO `mix_taxonomy` VALUES (47,'OperatingIncome',3,NULL,2,'Includes all financial income and other operating revenue which is generated from non-financial services. Operating income also includes net gains (losses) from holding financial assets (changes on their values during the period and foreign exchange differences). Donations or any revenue not related with an MFI\'s core business of making loans and providing financial services are not considered under this category.',NULL); +INSERT INTO `mix_taxonomy` VALUES (48,'WriteOffsOnGrossLoanPortfolio',3,NULL,2,'The value of loans that have been recognized as uncollectible for accounting purposes. A write-off is an accounting procedure that removes the outstanding balance of the loan from the gross loan portfolio and impairment loss allowance. Thus, the write-off does not affect the net loan portfolio, total assets, or any equity account. If the impairment loss allowance is insufficient to cover the amount written off, the excess amount will result in an additional impairment loss on loans recognised in profit or loss of the period.',NULL); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `mix_taxonomy_mapping` VALUES (1,'default',NULL,NULL,''); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `mix_xbrl_namespace` VALUES (1,'ifrs','http://xbrl.iasb.org/taxonomy/2009-04-01/ifrs'); +INSERT INTO `mix_xbrl_namespace` VALUES (2,'iso4217','http://www.xbrl.org/2003/iso4217'); +INSERT INTO `mix_xbrl_namespace` VALUES (3,'mix','http://www.themix.org/INT/fr/ifrs/basi/YYYY-MM-DD/mx-cor'); +INSERT INTO `mix_xbrl_namespace` VALUES (4,'xbrldi','http://xbrl.org/2006/xbrldi'); +INSERT INTO `mix_xbrl_namespace` VALUES (5,'xbrli','http://www.xbrl.org/2003/instance'); +INSERT INTO `mix_xbrl_namespace` VALUES (6,'link','http://www.xbrl.org/2003/linkbase'); +INSERT INTO `mix_xbrl_namespace` VALUES (7,'dc-all','http://www.themix.org/INT/fr/ifrs/basi/2010-08-31/dc-all'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `oauth_client_details` VALUES ('community-app',NULL,'{SHA-256}a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3','all','password,refresh_token',NULL,NULL,NULL,NULL,NULL,NULL); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `ppi_scores` VALUES (1,0,4); +INSERT INTO `ppi_scores` VALUES (2,5,9); +INSERT INTO `ppi_scores` VALUES (3,10,14); +INSERT INTO `ppi_scores` VALUES (4,15,19); +INSERT INTO `ppi_scores` VALUES (5,20,24); +INSERT INTO `ppi_scores` VALUES (6,25,29); +INSERT INTO `ppi_scores` VALUES (7,30,34); +INSERT INTO `ppi_scores` VALUES (8,35,39); +INSERT INTO `ppi_scores` VALUES (9,40,44); +INSERT INTO `ppi_scores` VALUES (10,45,49); +INSERT INTO `ppi_scores` VALUES (11,50,54); +INSERT INTO `ppi_scores` VALUES (12,55,59); +INSERT INTO `ppi_scores` VALUES (13,60,64); +INSERT INTO `ppi_scores` VALUES (14,65,69); +INSERT INTO `ppi_scores` VALUES (15,70,74); +INSERT INTO `ppi_scores` VALUES (16,75,79); +INSERT INTO `ppi_scores` VALUES (17,80,84); +INSERT INTO `ppi_scores` VALUES (18,85,89); +INSERT INTO `ppi_scores` VALUES (19,90,94); +INSERT INTO `ppi_scores` VALUES (20,95,100); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `r_enum_value` VALUES ('account_type_type_enum',0,'INVALID','INVALID',0); +INSERT INTO `r_enum_value` VALUES ('account_type_type_enum',1,'INDIVIDUAL','INDIVIDUAL',0); +INSERT INTO `r_enum_value` VALUES ('account_type_type_enum',2,'GROUP','GROUP',0); +INSERT INTO `r_enum_value` VALUES ('account_type_type_enum',3,'JLG','JLG',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',1,'FUND_SOURCE','FUND_SOURCE',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',2,'LOAN_PORTFOLIO','LOAN_PORTFOLIO',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',3,'INTEREST_ON_LOANS','INTEREST_ON_LOANS',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',4,'INCOME_FROM_FEES','INCOME_FROM_FEES',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',5,'INCOME_FROM_PENALTIES','INCOME_FROM_PENALTIES',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',6,'LOSSES_WRITTEN_OFF','LOSSES_WRITTEN_OFF',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',7,'INTEREST_RECEIVABLE','INTEREST_RECEIVABLE',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',8,'FEES_RECEIVABLE','FEES_RECEIVABLE',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',9,'PENALTIES_RECEIVABLE','PENALTIES_RECEIVABLE',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',10,'TRANSFERS_SUSPENSE','TRANSFERS_SUSPENSE',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',11,'OVERPAYMENT','OVERPAYMENT',0); +INSERT INTO `r_enum_value` VALUES ('accrual_accounts_for_loan_type_enum',12,'INCOME_FROM_RECOVERY','INCOME_FROM_RECOVERY',0); +INSERT INTO `r_enum_value` VALUES ('amortization_method_enum',0,'Equal principle payments','Equal principle payments',0); +INSERT INTO `r_enum_value` VALUES ('amortization_method_enum',1,'Equal installments','Equal installments',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',0,'INVALID','INVALID',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',1,'CLIENTS','CLIENTS',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',2,'GROUPS','GROUPS',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',3,'LOANS','LOANS',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',4,'CENTERS','CENTERS',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',5,'SAVINGS','SAVINGS',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',6,'LOAN_RECALCULATION_REST_DETAIL','LOAN_RECALCULATION_REST_DETAIL',0); +INSERT INTO `r_enum_value` VALUES ('calendar_type_enum',7,'LOAN_RECALCULATION_COMPOUNDING_DETAIL','LOAN_RECALCULATION_COMPOUNDING_DETAIL',0); +INSERT INTO `r_enum_value` VALUES ('cash_account_for_shares_type_enum',1,'SHARES_REFERENCE','SHARES_REFERENCE',0); +INSERT INTO `r_enum_value` VALUES ('cash_account_for_shares_type_enum',2,'SHARES_SUSPENSE','SHARES_SUSPENSE',0); +INSERT INTO `r_enum_value` VALUES ('cash_account_for_shares_type_enum',3,'INCOME_FROM_FEES','INCOME_FROM_FEES',0); +INSERT INTO `r_enum_value` VALUES ('cash_account_for_shares_type_enum',4,'SHARES_EQUITY','SHARES_EQUITY',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',1,'FUND_SOURCE','FUND_SOURCE',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',2,'LOAN_PORTFOLIO','LOAN_PORTFOLIO',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',3,'INTEREST_ON_LOANS','INTEREST_ON_LOANS',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',4,'INCOME_FROM_FEES','INCOME_FROM_FEES',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',5,'INCOME_FROM_PENALTIES','INCOME_FROM_PENALTIES',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',6,'LOSSES_WRITTEN_OFF','LOSSES_WRITTEN_OFF',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',10,'TRANSFERS_SUSPENSE','TRANSFERS_SUSPENSE',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',11,'OVERPAYMENT','OVERPAYMENT',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_loan_type_enum',12,'INCOME_FROM_RECOVERY','INCOME_FROM_RECOVERY',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',1,'SAVINGS_REFERENCE','SAVINGS_REFERENCE',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',2,'SAVINGS_CONTROL','SAVINGS_CONTROL',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',3,'INTEREST_ON_SAVINGS','INTEREST_ON_SAVINGS',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',4,'INCOME_FROM_FEES','INCOME_FROM_FEES',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',5,'INCOME_FROM_PENALTIES','INCOME_FROM_PENALTIES',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',10,'TRANSFERS_SUSPENSE','TRANSFERS_SUSPENSE',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',11,'OVERDRAFT_PORTFOLIO_CONTROL','OVERDRAFT_PORTFOLIO_CONTROL',0); +INSERT INTO `r_enum_value` VALUES ('cash_accounts_for_savings_type_enum',12,'INCOME_FROM_INTEREST','INCOME_FROM_INTEREST',0); +INSERT INTO `r_enum_value` VALUES ('client_transaction_type_enum',1,'PAY_CHARGE','PAY_CHARGE',0); +INSERT INTO `r_enum_value` VALUES ('client_transaction_type_enum',2,'WAIVE_CHARGE','WAIVE_CHARGE',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',1,'CLIENT','CLIENT',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',2,'LOAN','LOAN',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',3,'SAVINGS','SAVINGS',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',4,'CENTER','CENTER',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',5,'GROUP','GROUP',0); +INSERT INTO `r_enum_value` VALUES ('entity_account_type_enum',6,'SHARES','SHARES',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',100,'ASSET_TRANSFER','ASSET_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',101,'CASH_AT_MAINVAULT','CASH_AT_MAINVAULT',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',102,'CASH_AT_TELLER','CASH_AT_TELLER',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',103,'ASSET_FUND_SOURCE','ASSET_FUND_SOURCE',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',200,'LIABILITY_TRANSFER','LIABILITY_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',201,'PAYABLE_DIVIDENDS','PAYABLE_DIVIDENDS',0); +INSERT INTO `r_enum_value` VALUES ('financial_activity_type_enum',300,'OPENING_BALANCES_TRANSFER_CONTRA','OPENING_BALANCES_TRANSFER_CONTRA',0); +INSERT INTO `r_enum_value` VALUES ('glaccount_type_enum',1,'ASSET','ASSET',0); +INSERT INTO `r_enum_value` VALUES ('glaccount_type_enum',2,'LIABILITY','LIABILITY',0); +INSERT INTO `r_enum_value` VALUES ('glaccount_type_enum',3,'EQUITY','EQUITY',0); +INSERT INTO `r_enum_value` VALUES ('glaccount_type_enum',4,'INCOME','INCOME',0); +INSERT INTO `r_enum_value` VALUES ('glaccount_type_enum',5,'EXPENSE','EXPENSE',0); +INSERT INTO `r_enum_value` VALUES ('interest_calculated_in_period_enum',0,'Daily','Daily',0); +INSERT INTO `r_enum_value` VALUES ('interest_calculated_in_period_enum',1,'Same as repayment period','Same as repayment period',0); +INSERT INTO `r_enum_value` VALUES ('interest_method_enum',0,'Declining Balance','Declining Balance',0); +INSERT INTO `r_enum_value` VALUES ('interest_method_enum',1,'Flat','Flat',0); +INSERT INTO `r_enum_value` VALUES ('interest_period_frequency_enum',2,'Per month','Per month',0); +INSERT INTO `r_enum_value` VALUES ('interest_period_frequency_enum',3,'Per year','Per year',0); +INSERT INTO `r_enum_value` VALUES ('journal_entry_type_type_enum',1,'CREDIT','CREDIT',0); +INSERT INTO `r_enum_value` VALUES ('journal_entry_type_type_enum',2,'DEBIT','DEBIT',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',0,'Invalid','Invalid',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',100,'Submitted and awaiting approval','Submitted and awaiting approval',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',200,'Approved','Approved',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',300,'Active','Active',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',400,'Withdrawn by client','Withdrawn by client',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',500,'Rejected','Rejected',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',600,'Closed','Closed',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',601,'Written-Off','Written-Off',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',602,'Rescheduled','Rescheduled',0); +INSERT INTO `r_enum_value` VALUES ('loan_status_id',700,'Overpaid','Overpaid',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',1,'mifos-standard-strategy','Mifos style',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',2,'heavensfamily-strategy','Heavensfamily',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',3,'creocore-strategy','Creocore',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',4,'rbi-india-strategy','RBI (India)',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',8,'Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest','Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_strategy_id',9,'Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee','Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',0,'INVALID','INVALID',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',1,'DISBURSEMENT','DISBURSEMENT',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',2,'REPAYMENT','REPAYMENT',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',3,'CONTRA','CONTRA',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',4,'WAIVE_INTEREST','WAIVE_INTEREST',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',5,'REPAYMENT_AT_DISBURSEMENT','REPAYMENT_AT_DISBURSEMENT',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',6,'WRITEOFF','WRITEOFF',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',7,'MARKED_FOR_RESCHEDULING','MARKED_FOR_RESCHEDULING',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',8,'RECOVERY_REPAYMENT','RECOVERY_REPAYMENT',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',9,'WAIVE_CHARGES','WAIVE_CHARGES',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',10,'ACCRUAL','ACCRUAL',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',12,'INITIATE_TRANSFER','INITIATE_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',13,'APPROVE_TRANSFER','APPROVE_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',14,'WITHDRAW_TRANSFER','WITHDRAW_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',15,'REJECT_TRANSFER','REJECT_TRANSFER',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',16,'REFUND','REFUND',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',17,'CHARGE_PAYMENT','CHARGE_PAYMENT',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',18,'REFUND_FOR_ACTIVE_LOAN','REFUND_FOR_ACTIVE_LOAN',0); +INSERT INTO `r_enum_value` VALUES ('loan_transaction_type_enum',19,'INCOME_POSTING','INCOME_POSTING',0); +INSERT INTO `r_enum_value` VALUES ('loan_type_enum',1,'Individual Loan','Individual Loan',0); +INSERT INTO `r_enum_value` VALUES ('loan_type_enum',2,'Group Loan','Group Loan',0); +INSERT INTO `r_enum_value` VALUES ('portfolio_account_type_enum',1,'LOAN','LOAN',0); +INSERT INTO `r_enum_value` VALUES ('portfolio_account_type_enum',2,'SAVING','EXPENSE',0); +INSERT INTO `r_enum_value` VALUES ('portfolio_account_type_enum',3,'PROVISIONING','PROVISIONING',0); +INSERT INTO `r_enum_value` VALUES ('portfolio_account_type_enum',4,'SHARES','SHARES',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',0,'invalid','Invalid',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',1,'processed','Processed',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',2,'awaiting.approval','Awaiting Approval',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',3,'rejected','Rejected',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',4,'underProcessing','Under Processing',0); +INSERT INTO `r_enum_value` VALUES ('processing_result_enum',5,'error','Error',0); +INSERT INTO `r_enum_value` VALUES ('repayment_period_frequency_enum',0,'Days','Days',0); +INSERT INTO `r_enum_value` VALUES ('repayment_period_frequency_enum',1,'Weeks','Weeks',0); +INSERT INTO `r_enum_value` VALUES ('repayment_period_frequency_enum',2,'Months','Months',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',0,'INVALID','INVALID',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',1,'deposit','deposit',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',2,'withdrawal','withdrawal',1); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',3,'Interest Posting','Interest Posting',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',4,'Withdrawal Fee','Withdrawal Fee',1); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',5,'Annual Fee','Annual Fee',1); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',6,'Waive Charge','Waive Charge',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',7,'Pay Charge','Pay Charge',1); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',8,'DIVIDEND_PAYOUT','DIVIDEND_PAYOUT',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',12,'Initiate Transfer','Initiate Transfer',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',13,'Approve Transfer','Approve Transfer',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',14,'Withdraw Transfer','Withdraw Transfer',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',15,'Reject Transfer','Reject Transfer',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',16,'Written-Off','Written-Off',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',17,'Overdraft Interest','Overdraft Interest',0); +INSERT INTO `r_enum_value` VALUES ('savings_transaction_type_enum',19,'WITHHOLD_TAX','WITHHOLD_TAX',0); +INSERT INTO `r_enum_value` VALUES ('status_enum',0,'Invalid','Invalid',0); +INSERT INTO `r_enum_value` VALUES ('status_enum',100,'Pending','Pending',0); +INSERT INTO `r_enum_value` VALUES ('status_enum',300,'Active','Active',0); +INSERT INTO `r_enum_value` VALUES ('status_enum',600,'Closed','Closed',0); +INSERT INTO `r_enum_value` VALUES ('teller_status',300,'Active','Active',0); +INSERT INTO `r_enum_value` VALUES ('teller_status',400,'Inactive','Inactive',0); +INSERT INTO `r_enum_value` VALUES ('teller_status',600,'Closed','Closed',0); +INSERT INTO `r_enum_value` VALUES ('term_period_frequency_enum',0,'Days','Days',0); +INSERT INTO `r_enum_value` VALUES ('term_period_frequency_enum',1,'Weeks','Weeks',0); +INSERT INTO `r_enum_value` VALUES ('term_period_frequency_enum',2,'Months','Months',0); +INSERT INTO `r_enum_value` VALUES ('term_period_frequency_enum',3,'Years','Years',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',1,'Disbursement','Disbursement',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',2,'Repayment','Repayment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',3,'Contra','Contra',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',4,'Waive Interest','Waive Interest',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',5,'Repayment At Disbursement','Repayment At Disbursement',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',6,'Write-Off','Write-Off',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',7,'Marked for Rescheduling','Marked for Rescheduling',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',8,'Recovery Repayment','Recovery Repayment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',9,'Waive Charges','Waive Charges',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',10,'Apply Charges','Apply Charges',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',11,'Apply Interest','Apply Interest',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',12,'Initiate Transfer','Initiate Transfer',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',13,'Approve Transfer','Approve Transfer',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',14,'Withdraw Transfer','Withdraw Transfer',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',15,'Reject Transfer','Reject Transfer',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',16,'Refund','Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',17,'Charge Payment','Charge Payment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',18,'Refund for Active Loan','Refund for Active Loan',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',19,'Income Posting','Income Posting',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',20,'Credit Balance Refund','Credit Balance Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',21,'Merchant Issued Refund','Merchant Issued Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',22,'Payout Refund','Payout Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',23,'Goodwill Credit','Goodwill Credit',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',24,'Charge Refund','Charge Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',25,'Chargeback','Chargeback',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',26,'Charge Adjustment','Charge Adjustment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',27,'Charge-off','Charge-off',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',31,'Interest Payment Waiver','Interest Payment Waiver',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',32,'Accrual Activity','Accrual Activity',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',33,'Interest Refund','Interest Refund',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',36,'Capitalized Income Amortization','Capitalized Income Amortization',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',37,'Capitalized Income Adjustment','Capitalized Income Adjustment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',39,'Capitalized Income Amortization Adjustment','Capitalized Income Amortization Adjustment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',40,'Buy Down Fee','Buy Down Fee',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',41,'Buy Down Fee Adjustment','Buy Down Fee Adjustment',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',42,'Buy Down Fee Amortization','Buy Down Fee Amortization',0); +INSERT INTO `r_enum_value` VALUES ('transaction_type_enum',43,'Buy Down Fee Amortization Adjustment','Buy Down Fee Amortization Adjustment',0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (1,'mifos-standard-strategy','Penalties, Fees, Interest, Principal order',1); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (2,'heavensfamily-strategy','HeavensFamily Unique',6); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (3,'creocore-strategy','Creocore Unique',7); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (4,'rbi-india-strategy','Overdue/Due Fee/Int,Principal',2); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (5,'principal-interest-penalties-fees-order-strategy','Principal, Interest, Penalties, Fees Order',3); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (6,'interest-principal-penalties-fees-order-strategy','Interest, Principal, Penalties, Fees Order',4); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (7,'early-repayment-strategy','Early Repayment Strategy',5); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (8,'due-penalty-fee-interest-principal-in-advance-principal-penalty-fee-interest-strategy','Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest',8); +INSERT INTO `ref_loan_transaction_processing_strategy` VALUES (9,'due-penalty-interest-principal-fee-in-advance-penalty-interest-principal-fee-strategy','Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee',9); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `scheduled_email_configuration` VALUES (1,'SMTP_SERVER',NULL); +INSERT INTO `scheduled_email_configuration` VALUES (2,'SMTP_PORT',NULL); +INSERT INTO `scheduled_email_configuration` VALUES (3,'SMTP_USERNAME',NULL); +INSERT INTO `scheduled_email_configuration` VALUES (4,'SMTP_PASSWORD',NULL); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `scheduler_detail` VALUES (1,0,1,1); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `stretchy_parameter` VALUES (1,'startDateSelect','startDate','startDate','date','date','today',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (2,'endDateSelect','endDate','endDate','date','date','today',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (3,'obligDateTypeSelect','obligDateType','obligDateType','select','number','0',NULL,NULL,NULL,'select * from\r\n(select 1 as id, \"Closed\" as `name` union all\r\nselect 2, \"Disbursal\" ) x\r\norder by x.`id`',NULL); +INSERT INTO `stretchy_parameter` VALUES (5,'OfficeIdSelectOne','officeId','Office','select','number','0',NULL,'Y',NULL,'select id, \r\nconcat(substring(\"........................................\", 1, \r\n \n\n((LENGTH(`hierarchy`) - LENGTH(REPLACE(`hierarchy`, \'.\', \'\')) - 1) * 4)), \r\n `name`) as tc\r\nfrom m_office\r\nwhere hierarchy like concat\n\n(\'${currentUserHierarchy}\', \'%\')\r\norder by hierarchy',NULL); +INSERT INTO `stretchy_parameter` VALUES (6,'loanOfficerIdSelectAll','loanOfficerId','Loan Officer','select','number','0',NULL,NULL,'Y','(select lo.id, lo.display_name as `Name` \r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\njoin m_staff lo on lo.office_id = ounder.id\r\nwhere lo.is_loan_officer = true\r\nand o.id = ${officeId})\r\nunion all\r\n(select -10, \'-\')\r\norder by 2',5); +INSERT INTO `stretchy_parameter` VALUES (10,'currencyIdSelectAll','currencyId','Currency','select','number','0',NULL,NULL,'Y','select `code`, `name`\r\nfrom m_organisation_currency\r\norder by `code`',NULL); +INSERT INTO `stretchy_parameter` VALUES (20,'fundIdSelectAll','fundId','Fund','select','number','0',NULL,NULL,'Y','(select id, `name`\r\nfrom m_fund)\r\nunion all\r\n(select -10, \'-\')\r\norder by 2',NULL); +INSERT INTO `stretchy_parameter` VALUES (25,'loanProductIdSelectAll','loanProductId','Product','select','number','0',NULL,NULL,'Y','select p.id, p.name\r\nfrom m_product_loan p\r\nwhere (p.currency_code = \'${currencyId}\' or \'-1\'= \'${currencyId}\')\r\norder by 2',10); +INSERT INTO `stretchy_parameter` VALUES (26,'loanPurposeIdSelectAll','loanPurposeId','Loan Purpose','select','number','0',NULL,NULL,'Y','select -10 as id, \'-\' as code_value\r\nunion all\r\nselect * from (select v.id, v.code_value\r\nfrom m_code c\r\njoin m_code_value v on v.code_id = c.id\r\nwhere c.code_name = \"loanPurpose\"\r\norder by v.order_position) x',NULL); +INSERT INTO `stretchy_parameter` VALUES (100,'parTypeSelect','parType','parType','select','number','0',NULL,NULL,NULL,'select * from\r\n(select 1 as id, \"Principal Only\" as `name` union all\r\nselect 2, \"Principal + Interest\" union all\r\nselect 3, \"Principal + Interest + Fees\" union all\r\nselect 4, \"Principal + Interest + Fees + Penalties\") x\r\norder by x.`id`',NULL); +INSERT INTO `stretchy_parameter` VALUES (1001,'FullReportList',NULL,'n/a','n/a','n/a','n/a','Y',NULL,NULL,'select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\nrp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id \n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.use_report is true\n and exists\n ( select \'f\'\n from m_appuser_role ur \n join m_role rr on rr.id = ur.role_id\n join m_role_permission rp on rp.role_id = rr.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (\'ALL_FUNCTIONS_READ\', \'ALL_FUNCTIONS\') or p.code = concat(\'READ_\', r.report_name)) )\n order by r.report_category, r.report_name, rp.id',NULL); +INSERT INTO `stretchy_parameter` VALUES (1002,'FullParameterList',NULL,'n/a','n/a','n/a','n/a','Y',NULL,NULL,'select sp.parameter_name, sp.parameter_variable, sp.parameter_label, sp.parameter_displayType, sp.parameter_FormatType, sp.parameter_default, sp.selectOne, sp.selectAll, spp.parameter_name as parentParameterName from stretchy_parameter sp left join stretchy_parameter spp on spp.id = sp.parent_id where sp.special is null and exists (select \'f\' from stretchy_report sr join stretchy_report_parameter srp on srp.report_id = sr.id where sr.report_name in(${reportListing}) and srp.parameter_id = sp.id) order by sp.id',NULL); +INSERT INTO `stretchy_parameter` VALUES (1003,'reportCategoryList',NULL,'n/a','n/a','n/a','n/a','Y',NULL,NULL,'select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\n rp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id\n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.report_category = \'${reportCategory}\'\n and r.use_report is true\n and exists\n (select \'f\'\n from m_appuser_role ur \n join m_role rr on rr.id = ur.role_id\n join m_role_permission rp on rp.role_id = rr.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (\'ALL_FUNCTIONS_READ\', \'ALL_FUNCTIONS\') or p.code = concat(\'READ_\', r.report_name)) )\n order by r.report_category, r.report_name, rp.id',NULL); +INSERT INTO `stretchy_parameter` VALUES (1004,'selectAccount','accountNo','Enter Account No','text','string','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1005,'savingsProductIdSelectAll','savingsProductId','Product','select','number','0',NULL,NULL,'Y','select p.id, p.`name`\r\nfrom m_savings_product p\r\norder by 2',NULL); +INSERT INTO `stretchy_parameter` VALUES (1006,'transactionId','transactionId','transactionId','text','string','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1007,'selectCenterId','centerId','Enter Center Id','text','string','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1008,'SelectGLAccountNO','GLAccountNO','GLAccountNO','select','number','0',NULL,NULL,NULL,'select id aid,name aname\r\nfrom acc_gl_account',NULL); +INSERT INTO `stretchy_parameter` VALUES (1009,'asOnDate','asOn','As On','date','date','today',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1010,'SavingsAccountSubStatus','subStatus','SavingsAccountDormancyStatus','select','number','100',NULL,NULL,NULL,'select * from\r\n(select 100 as id, \"Inactive\" as name union all\r\nselect 200 as id, \"Dormant\" as name union all \r\nselect 300 as id, \"Escheat\" as name) x\r\norder by x.`id`',NULL); +INSERT INTO `stretchy_parameter` VALUES (1011,'cycleXSelect','cycleX','Cycle X Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1012,'cycleYSelect','cycleY','Cycle Y Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1013,'fromXSelect','fromX','From X Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1014,'toYSelect','toY','To Y Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1015,'overdueXSelect','overdueX','Overdue X Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1016,'overdueYSelect','overdueY','Overdue Y Number','text','number','n/a',NULL,NULL,NULL,NULL,NULL); +INSERT INTO `stretchy_parameter` VALUES (1017,'DefaultLoan','loanId','Loan','none','number','-1',NULL,NULL,'Y','select ml.id \nfrom m_loan ml \nleft join m_client mc on mc.id = ml.client_id \nleft join m_office mo on mo.id = mc.office_id \nwhere mo.id = ${officeId} or ${officeId} = -1',5); +INSERT INTO `stretchy_parameter` VALUES (1018,'DefaultClient','clientId','Client','none','number','-1',NULL,NULL,'Y','select mc.id \nfrom m_client mc\n left join m_office on mc.office_id = mo.id\n where mo.id = ${officeId} or ${officeId} = -1',5); +INSERT INTO `stretchy_parameter` VALUES (1019,'DefaultGroup','groupId','Group','none','number','-1',NULL,NULL,'Y','select mg.id \nfrom m_group mg\nleft join m_office mo on mg.office_id = mo.id\nwhere mo.id = ${officeId} or ${officeId} = -1',5); +INSERT INTO `stretchy_parameter` VALUES (1020,'SelectLoanType','loanType','Loan Type','select','number','-1',NULL,NULL,'Y','select\nenum_id as id,\nenum_value as value\nfrom r_enum_value\nwhere enum_name = \'loan_type_enum\'',NULL); +INSERT INTO `stretchy_parameter` VALUES (1021,'DefaultSavings','savingsId','Savings','none','number','-1',NULL,NULL,'Y',NULL,5); +INSERT INTO `stretchy_parameter` VALUES (1022,'DefaultSavingsTransactionId','savingsTransactionId','Savings Transaction','none','number','-1',NULL,NULL,'Y',NULL,5); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `stretchy_report` VALUES (1,'Client Listing','Table',NULL,'Client','select\nconcat(repeat(\"..\",\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\n c.account_no as \"Client Account No.\",\nc.display_name as \"Name\",\nr.enum_message_property as \"Status\",\nc.activation_date as \"Activation\", c.external_id as \"External Id\"\nfrom m_office o\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_client c on c.office_id = ounder.id\nleft join r_enum_value r on r.enum_name = \'status_enum\' and r.enum_id = c.status_enum\nwhere o.id = ${officeId}\norder by ounder.hierarchy, c.account_no','Individual Client Report\r\n\r\nLists the small number of defined fields on the client table. Would expect to copy this \n\nreport and add any \'one to one\' additional data for specific tenant needs.\r\n\r\nCan be run for any size MFI but you\'d expect it only to be run within a branch for \n\nlarger ones. Depending on how many columns are displayed, there is probably is a limit of about 20/50k clients returned for html display (export to excel doesn\'t \n\nhave that client browser/memory impact).',1,1,0); +INSERT INTO `stretchy_report` VALUES (2,'Client Loans Listing','Table',NULL,'Client','select\nconcat(repeat(\"..\",\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\", c.account_no as \"Client Account No.\",\nc.display_name as \"Name\",\nr.enum_message_property as \"Client Status\",\nlo.display_name as \"Loan Officer\", l.account_no as \"Loan Account No.\", l.external_id as \"External Id\", p.name as Loan, st.enum_message_property as \"Status\",\nf.`name` as Fund, purp.code_value as \"Loan Purpose\",\nifnull(cur.display_symbol, l.currency_code) as Currency,\nl.principal_amount, l.arrearstolerance_amount as \"Arrears Tolerance Amount\",\nl.number_of_repayments as \"Expected No. Repayments\",\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\",\nl.nominal_interest_rate_per_period as \"Nominal Interest Rate Per Period\",\nipf.enum_message_property as \"Interest Rate Frequency\",\nim.enum_message_property as \"Interest Method\",\nicp.enum_message_property as \"Interest Calculated in Period\",\nl.term_frequency as \"Term Frequency\",\ntf.enum_message_property as \"Term Frequency Period\",\nl.repay_every as \"Repayment Frequency\",\nrf.enum_message_property as \"Repayment Frequency Period\",\nam.enum_message_property as \"Amortization\",\nl.total_charges_due_at_disbursement_derived as \"Total Charges Due At Disbursement\",\ndate(l.submittedon_date) as Submitted, date(l.approvedon_date) Approved, l.expected_disbursedon_date As \"Expected Disbursal\",\ndate(l.expected_firstrepaymenton_date) as \"Expected First Repayment\",\ndate(l.interest_calculated_from_date) as \"Interest Calculated From\" ,\ndate(l.disbursedon_date) as Disbursed,\ndate(l.expected_maturedon_date) \"Expected Maturity\",\ndate(l.maturedon_date) as \"Matured On\", date(l.closedon_date) as Closed,\ndate(l.rejectedon_date) as Rejected, date(l.rescheduledon_date) as Rescheduled,\ndate(l.withdrawnon_date) as Withdrawn, date(l.writtenoffon_date) \"Written Off\"\nfrom m_office o\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_client c on c.office_id = ounder.id\nleft join r_enum_value r on r.enum_name = \'status_enum\'\n and r.enum_id = c.status_enum\nleft join m_loan l on l.client_id = c.id\nleft join m_staff lo on lo.id = l.loan_officer_id\nleft join m_product_loan p on p.id = l.product_id\nleft join m_fund f on f.id = l.fund_id\nleft join r_enum_value st on st.enum_name = \"loan_status_id\" and st.enum_id = l.loan_status_id\nleft join r_enum_value ipf on ipf.enum_name = \"interest_period_frequency_enum\"\n and ipf.enum_id = l.interest_period_frequency_enum\nleft join r_enum_value im on im.enum_name = \"interest_method_enum\"\n and im.enum_id = l.interest_method_enum\nleft join r_enum_value tf on tf.enum_name = \"term_period_frequency_enum\"\n and tf.enum_id = l.term_period_frequency_enum\nleft join r_enum_value icp on icp.enum_name = \"interest_calculated_in_period_enum\"\n and icp.enum_id = l.interest_calculated_in_period_enum\nleft join r_enum_value rf on rf.enum_name = \"repayment_period_frequency_enum\"\n and rf.enum_id = l.repayment_period_frequency_enum\nleft join r_enum_value am on am.enum_name = \"amortization_method_enum\"\n and am.enum_id = l.amortization_method_enum\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\nleft join m_currency cur on cur.code = l.currency_code\nwhere o.id = ${officeId}\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\norder by ounder.hierarchy, 2 , l.id','Individual Client Report\r\n\r\nPretty \n\nwide report that lists the basic details of client loans. \r\n\r\nCan be run for any size MFI but you\'d expect it only to be run within a branch for larger ones. \n\nThere is probably is a limit of about 20/50k clients returned for html display (export to excel doesn\'t have that client browser/memory impact).',1,1,0); +INSERT INTO `stretchy_report` VALUES (5,'Loans Awaiting Disbursal','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nc.account_no as \"Client Account No\", c.display_name as \"Name\", l.account_no as \"Loan Account No.\", pl.`name` as \"Product\", \r\nf.`name` as Fund, ifnull(cur.display_symbol, l.currency_code) as Currency, \r\nl.principal_amount as Principal, \r\nl.term_frequency as \"Term Frequency\",\n\n\r\ntf.enum_message_property as \"Term Frequency Period\",\r\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\",\r\ndate(l.approvedon_date) \"Approved\",\r\ndatediff(l.expected_disbursedon_date, curdate()) as \"Days to Disbursal\",\r\ndate(l.expected_disbursedon_date) \"Expected Disbursal\",\r\npurp.code_value as \"Loan Purpose\",\r\n lo.display_name as \"Loan Officer\"\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nleft join r_enum_value tf on tf.enum_name = \"term_period_frequency_enum\" and tf.enum_id = l.term_period_frequency_enum\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 200\r\norder by ounder.hierarchy, datediff(l.expected_disbursedon_date, curdate()), c.account_no','Individual Client Report',1,1,0); +INSERT INTO `stretchy_report` VALUES (6,'Loans Awaiting Disbursal Summary','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\npl.`name` as \"Product\", \r\nifnull(cur.display_symbol, l.currency_code) as Currency, f.`name` as Fund,\r\nsum(l.principal_amount) as Principal\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 200\r\ngroup by ounder.hierarchy, ounder.name, pl.`name`, l.currency_code, f.`name`\r\norder by ounder.hierarchy, ounder.name, pl.`name`, l.currency_code, f.`name`','Individual Client Report',1,1,0); +INSERT INTO `stretchy_report` VALUES (7,'Loans Awaiting Disbursal Summary by Month','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\npl.`name` as \"Product\", \r\nifnull(cur.display_symbol, l.currency_code) as Currency, \r\nyear(l.expected_disbursedon_date) as \"Year\", \r\nmonthname(l.expected_disbursedon_date) as \"Month\",\r\nsum(l.principal_amount) as Principal\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 200\r\ngroup by ounder.hierarchy, pl.`name`, l.currency_code, year(l.expected_disbursedon_date), month(l.expected_disbursedon_date)\r\norder by ounder.hierarchy, pl.`name`, l.currency_code, year(l.expected_disbursedon_date), month(l.expected_disbursedon_date)','Individual Client Report',1,1,0); +INSERT INTO `stretchy_report` VALUES (8,'Loans Pending Approval','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nc.account_no as \"Client Account No.\", c.display_name as \"Client Name\", \r\nifnull(cur.display_symbol, l.currency_code) as Currency, pl.`name` as \"Product\", \r\nl.account_no as \"Loan Account No.\", \r\nl.principal_amount as \"Loan Amount\", \r\nl.term_frequency as \"Term Frequency\",\n\n\r\ntf.enum_message_property as \"Term Frequency Period\",\r\nl.annual_nominal_interest_rate as \" Annual \n\nNominal Interest Rate\", \r\ndatediff(curdate(), l.submittedon_date) \"Days Pending Approval\", \r\npurp.code_value as \"Loan Purpose\",\r\nlo.display_name as \"Loan Officer\"\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nleft join r_enum_value tf on tf.enum_name = \"term_period_frequency_enum\" and tf.enum_id = l.term_period_frequency_enum\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 100 /*Submitted and awaiting approval */\r\norder by ounder.hierarchy, l.submittedon_date, l.account_no','Individual Client Report',1,1,0); +INSERT INTO `stretchy_report` VALUES (11,'Active Loans - Summary','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(mo.`hierarchy`) - LENGTH(REPLACE(mo.`hierarchy`, \'.\', \'\')) - 1))), mo.`name`) as \"Office/Branch\", x.currency as Currency,\r\n x.client_count as \"No. of Clients\", x.active_loan_count as \"No. Active Loans\", x. loans_in_arrears_count as \"No. of Loans in Arrears\",\r\nx.principal as \"Total Loans Disbursed\", x.principal_repaid as \"Principal Repaid\", x.principal_outstanding as \"Principal Outstanding\", x.principal_overdue as \"Principal Overdue\",\r\nx.interest as \"Total Interest\", x.interest_repaid as \"Interest Repaid\", x.interest_outstanding as \"Interest Outstanding\", x.interest_overdue as \"Interest Overdue\",\r\nx.fees as \"Total Fees\", x.fees_repaid as \"Fees Repaid\", x.fees_outstanding as \"Fees Outstanding\", x.fees_overdue as \"Fees Overdue\",\r\nx.penalties as \"Total Penalties\", x.penalties_repaid as \"Penalties Repaid\", x.penalties_outstanding as \"Penalties Outstanding\", x.penalties_overdue as \"Penalties Overdue\",\r\n\r\n (case\r\n when ${parType} = 1 then\r\n cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) as char)\r\n when ${parType} = 2 then\r\n cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) as char)\r\n when ${parType} = 3 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) as char)\r\n when ${parType} = 4 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) as char)\r\n else \"invalid PAR Type\"\r\n end) as \"Portfolio at Risk %\"\r\n from m_office mo\r\njoin \r\n(select ounder.id as branch,\r\nifnull(cur.display_symbol, l.currency_code) as currency,\r\ncount(distinct(c.id)) as client_count, \r\ncount(distinct(l.id)) as active_loan_count,\r\ncount(distinct(if(laa.loan_id is not null, l.id, null) )) as loans_in_arrears_count,\r\n\r\nsum(l.principal_disbursed_derived) as principal,\r\nsum(l.principal_repaid_derived) as principal_repaid,\r\nsum(l.principal_outstanding_derived) as principal_outstanding,\r\nsum(laa.principal_overdue_derived) as principal_overdue,\r\n\r\nsum(l.interest_charged_derived) as interest,\r\nsum(l.interest_repaid_derived) as interest_repaid,\r\nsum(l.interest_outstanding_derived) as interest_outstanding,\r\nsum(laa.interest_overdue_derived) as interest_overdue,\r\n\r\nsum(l.fee_charges_charged_derived) as fees,\r\nsum(l.fee_charges_repaid_derived) as fees_repaid,\r\nsum(l.fee_charges_outstanding_derived) as fees_outstanding,\r\nsum(laa.fee_charges_overdue_derived) as fees_overdue,\r\n\r\nsum(l.penalty_charges_charged_derived) as penalties,\r\nsum(l.penalty_charges_repaid_derived) as penalties_repaid,\r\nsum(l.penalty_charges_outstanding_derived) as penalties_outstanding,\r\nsum(laa.penalty_charges_overdue_derived) as penalties_overdue\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nleft join m_currency cur on cur.code = l.currency_code\r\n\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\ngroup by ounder.id, l.currency_code) x on x.branch = mo.id\r\norder by mo.hierarchy, x.Currency',NULL,1,1,0); +INSERT INTO `stretchy_report` VALUES (12,'Active Loans - Details','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nlo.display_name as \"Loan Officer\", \r\nc.display_name as \"Client\", l.account_no as \"Loan Account No.\", pl.`name` as \"Product\", \r\nf.`name` as Fund, \r\nl.principal_amount as \"Loan Amount\", \r\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed Date\", \r\ndate(l.expected_maturedon_date) as \"Expected Matured On\",\r\n\r\nl.principal_repaid_derived as \"Principal Repaid\",\r\nl.principal_outstanding_derived as \"Principal Outstanding\",\r\nlaa.principal_overdue_derived as \"Principal Overdue\",\r\n\r\nl.interest_repaid_derived as \"Interest Repaid\",\r\nl.interest_outstanding_derived as \"Interest Outstanding\",\r\nlaa.interest_overdue_derived as \"Interest Overdue\",\r\n\r\nl.fee_charges_repaid_derived as \"Fees Repaid\",\r\nl.fee_charges_outstanding_derived as \"Fees Outstanding\",\r\nlaa.fee_charges_overdue_derived as \"Fees Overdue\",\r\n\r\nl.penalty_charges_repaid_derived as \"Penalties Repaid\",\r\nl.penalty_charges_outstanding_derived as \"Penalties Outstanding\",\r\npenalty_charges_overdue_derived as \"Penalties Overdue\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\ngroup by l.id\r\norder by ounder.hierarchy, l.currency_code, c.account_no, l.account_no','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (13,'Obligation Met Loans Details','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nc.account_no as \"Client Account No.\", c.display_name as \"Client\",\r\nl.account_no as \"Loan Account No.\", pl.`name` as \"Product\", \r\nf.`name` as Fund, \r\nl.principal_amount as \"Loan Amount\", \r\nl.total_repayment_derived as \"Total Repaid\", \r\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed\", \r\ndate(l.closedon_date) as \"Closed\",\r\n\r\nl.principal_repaid_derived as \"Principal Repaid\",\r\nl.interest_repaid_derived as \"Interest Repaid\",\r\nl.fee_charges_repaid_derived as \"Fees Repaid\",\r\nl.penalty_charges_repaid_derived as \"Penalties Repaid\",\r\nlo.display_name as \"Loan Officer\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand (case\r\n when ${obligDateType} = 1 then\r\n l.closedon_date between \'${startDate}\' and \'${endDate}\'\r\n when ${obligDateType} = 2 then\r\n l.disbursedon_date between \'${startDate}\' and \'${endDate}\'\r\n else 1 = 1\r\n end)\r\nand l.loan_status_id = 600\r\ngroup by l.id\r\norder by ounder.hierarchy, l.currency_code, c.account_no, l.account_no','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (14,'Obligation Met Loans Summary','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\ncount(distinct(c.id)) as \"No. of Clients\",\r\ncount(distinct(l.id)) as \"No. of Loans\",\r\nsum(l.principal_amount) as \"Total Loan Amount\", \r\nsum(l.principal_repaid_derived) as \"Total Principal Repaid\",\r\nsum(l.interest_repaid_derived) as \"Total Interest Repaid\",\r\nsum(l.fee_charges_repaid_derived) as \"Total Fees Repaid\",\r\nsum(l.penalty_charges_repaid_derived) as \"Total Penalties Repaid\",\r\nsum(l.interest_waived_derived) as \"Total Interest Waived\",\r\nsum(l.fee_charges_waived_derived) as \"Total Fees Waived\",\r\nsum(l.penalty_charges_waived_derived) as \"Total Penalties Waived\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand (case\r\n when ${obligDateType} = 1 then\r\n l.closedon_date between \'${startDate}\' and \'${endDate}\'\r\n when ${obligDateType} = 2 then\r\n l.disbursedon_date between \'${startDate}\' and \'${endDate}\'\r\n else 1 = 1\r\n end)\r\nand l.loan_status_id = 600\r\ngroup by ounder.hierarchy, l.currency_code\r\norder by ounder.hierarchy, l.currency_code','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (15,'Portfolio at Risk','Table',NULL,'Loan','select x.Currency, x.`Principal Outstanding`, x.`Principal Overdue`, x.`Interest Outstanding`, x.`Interest Overdue`, \r\nx.`Fees Outstanding`, x.`Fees Overdue`, x.`Penalties Outstanding`, x.`Penalties Overdue`,\r\n\r\n (case\r\n when ${parType} = 1 then\r\n cast(round((x.`Principal Overdue` * 100) / x.`Principal Outstanding`, 2) as char)\r\n when ${parType} = 2 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding`), 2) as char)\r\n when ${parType} = 3 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue` + x.`Fees Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding` + x.`Fees Outstanding`), 2) as char)\r\n when ${parType} = 4 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue` + x.`Fees Overdue` + x.`Penalties Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding` + x.`Fees Outstanding` + x.`Penalties Overdue`), 2) as char)\r\n else \"invalid PAR Type\"\r\n end) as \"Portfolio at Risk %\"\r\n from \r\n(select ifnull(cur.display_symbol, l.currency_code) as Currency, \r\nsum(l.principal_outstanding_derived) as \"Principal Outstanding\",\r\nsum(laa.principal_overdue_derived) as \"Principal Overdue\",\r\n\r\nsum(l.interest_outstanding_derived) as \"Interest Outstanding\",\r\nsum(laa.interest_overdue_derived) as \"Interest Overdue\",\r\n\r\nsum(l.fee_charges_outstanding_derived) as \"Fees Outstanding\",\r\nsum(laa.fee_charges_overdue_derived) as \"Fees Overdue\",\r\n\r\nsum(penalty_charges_outstanding_derived) as \"Penalties Outstanding\",\r\nsum(laa.penalty_charges_overdue_derived) as \"Penalties Overdue\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nleft join m_product_loan p on p.id = l.product_id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\ngroup by l.currency_code\r\norder by l.currency_code) x','Covers all loans.\r\n\r\nFor larger MFIs … we should add some derived fields on loan (or a 1:1 loan related table like mifos 2.x does)\r\nPrinciple, Interest, Fees, Penalties Outstanding and Overdue (possibly waived and written off too)',1,1,0); +INSERT INTO `stretchy_report` VALUES (16,'Portfolio at Risk by Branch','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(mo.`hierarchy`) - LENGTH(REPLACE(mo.`hierarchy`, \'.\', \'\')) - 1))), mo.`name`) as \"Office/Branch\",\r\nx.Currency, x.`Principal Outstanding`, x.`Principal Overdue`, x.`Interest Outstanding`, x.`Interest Overdue`, \r\nx.`Fees Outstanding`, x.`Fees Overdue`, x.`Penalties Outstanding`, x.`Penalties Overdue`,\r\n\r\n (case\r\n when ${parType} = 1 then\r\n cast(round((x.`Principal Overdue` * 100) / x.`Principal Outstanding`, 2) as char)\r\n when ${parType} = 2 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding`), 2) as char)\r\n when ${parType} = 3 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue` + x.`Fees Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding` + x.`Fees Outstanding`), 2) as char)\r\n when ${parType} = 4 then\r\n cast(round(((x.`Principal Overdue` + x.`Interest Overdue` + x.`Fees Overdue` + x.`Penalties Overdue`) * 100) / (x.`Principal Outstanding` + x.`Interest Outstanding` + x.`Fees Outstanding` + x.`Penalties Overdue`), 2) as char)\r\n else \"invalid PAR Type\"\r\n end) as \"Portfolio at Risk %\"\r\n from m_office mo\r\njoin \r\n(select ounder.id as \"branch\", ifnull(cur.display_symbol, l.currency_code) as Currency, \r\n\r\nsum(l.principal_outstanding_derived) as \"Principal Outstanding\",\r\nsum(laa.principal_overdue_derived) as \"Principal Overdue\",\r\n\r\nsum(l.interest_outstanding_derived) as \"Interest Outstanding\",\r\nsum(laa.interest_overdue_derived) as \"Interest Overdue\",\r\n\r\nsum(l.fee_charges_outstanding_derived) as \"Fees Outstanding\",\r\nsum(laa.fee_charges_overdue_derived) as \"Fees Overdue\",\r\n\r\nsum(penalty_charges_outstanding_derived) as \"Penalties Outstanding\",\r\nsum(laa.penalty_charges_overdue_derived) as \"Penalties Overdue\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_code_value purp on purp.id = l.loanpurpose_cv_id\r\nleft join m_product_loan p on p.id = l.product_id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\ngroup by ounder.id, l.currency_code) x on x.branch = mo.id\r\norder by mo.hierarchy, x.Currency','Covers all loans.\r\n\r\nFor larger MFIs … we should add some derived fields on loan (or a 1:1 loan related table like mifos 2.x does)\r\nPrinciple, Interest, Fees, Penalties Outstanding and Overdue (possibly waived and written off too)',1,1,0); +INSERT INTO `stretchy_report` VALUES (20,'Funds Disbursed Between Dates Summary','Table',NULL,'Fund','select ifnull(f.`name`, \'-\') as Fund, ifnull(cur.display_symbol, l.currency_code) as Currency, \r\nround(sum(l.principal_amount), 4) as disbursed_amount\r\nfrom m_office ounder \r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_currency cur on cur.`code` = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nwhere disbursedon_date between \'${startDate}\' and \'${endDate}\'\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (l.currency_code = \'${currencyId}\' or \'-1\' = \'${currencyId}\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\ngroup by ifnull(f.`name`, \'-\') , ifnull(cur.display_symbol, l.currency_code)\r\norder by ifnull(f.`name`, \'-\') , ifnull(cur.display_symbol, l.currency_code)',NULL,1,1,0); +INSERT INTO `stretchy_report` VALUES (21,'Funds Disbursed Between Dates Summary by Office','Table',NULL,'Fund','select \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\n \n\nifnull(f.`name`, \'-\') as Fund, ifnull(cur.display_symbol, l.currency_code) as Currency, round(sum(l.principal_amount), 4) as disbursed_amount\r\nfrom m_office o\r\n\n\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c \n\non c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_currency cur on cur.`code` = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\n\n\nwhere disbursedon_date between \'${startDate}\' and \'${endDate}\'\r\nand o.id = ${officeId}\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand \n\n(l.currency_code = \'${currencyId}\' or \'-1\' = \'${currencyId}\')\r\ngroup by ounder.`name`, ifnull(f.`name`, \'-\') , ifnull(cur.display_symbol, \n\nl.currency_code)\r\norder by ounder.`name`, ifnull(f.`name`, \'-\') , ifnull(cur.display_symbol, l.currency_code)',NULL,1,1,0); +INSERT INTO `stretchy_report` VALUES (51,'Written-Off Loans','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, ml.currency_code) as Currency, \r\nc.account_no as \"Client Account No.\",\r\nc.display_name AS \'Client Name\',\r\nml.account_no AS \'Loan Account No.\',\r\nmpl.name AS \'Product Name\',\r\nml.disbursedon_date AS \'Disbursed Date\',\r\nlt.transaction_date AS \'Written Off date\',\r\nml.principal_amount as \"Loan Amount\",\r\nifnull(lt.principal_portion_derived, 0) AS \'Written-Off Principal\',\r\nifnull(lt.interest_portion_derived, 0) AS \'Written-Off Interest\',\r\nifnull(lt.fee_charges_portion_derived,0) AS \'Written-Off Fees\',\r\nifnull(lt.penalty_charges_portion_derived,0) AS \'Written-Off Penalties\',\r\nn.note AS \'Reason For Write-Off\',\r\nIFNULL(ms.display_name,\'-\') AS \'Loan Officer Name\'\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nAND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_loan ml ON ml.client_id = c.id\r\nJOIN m_product_loan mpl ON mpl.id=ml.product_id\r\nLEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id\r\nJOIN m_loan_transaction lt ON lt.loan_id = ml.id\r\nLEFT JOIN m_note n ON n.loan_transaction_id = lt.id\r\nLEFT JOIN m_currency cur on cur.code = ml.currency_code\r\nWHERE lt.transaction_type_enum = 6 /*write-off */\r\nAND lt.is_reversed is false \r\nAND ml.loan_status_id=601\r\nAND o.id=${officeId}\r\nAND (mpl.id=${loanProductId} OR ${loanProductId}=-1)\r\nAND lt.transaction_date BETWEEN \'${startDate}\' AND \'${endDate}\'\r\nAND (ml.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\") \r\nORDER BY ounder.hierarchy, ifnull(cur.display_symbol, ml.currency_code), ml.account_no','Individual Lending Report. Written Off Loans',1,1,0); +INSERT INTO `stretchy_report` VALUES (52,'Aging Detail','Table',NULL,'Loan','\r\nSELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, ml.currency_code) as Currency, \r\nmc.account_no as \"Client Account No.\",\r\n mc.display_name AS \"Client Name\",\r\n ml.account_no AS \"Account Number\",\r\n ml.principal_amount AS \"Loan Amount\",\r\n ml.principal_disbursed_derived AS \"Original Principal\",\r\n ml.interest_charged_derived AS \"Original Interest\",\r\n ml.principal_repaid_derived AS \"Principal Paid\",\r\n ml.interest_repaid_derived AS \"Interest Paid\",\r\n laa.principal_overdue_derived AS \"Principal Overdue\",\r\n laa.interest_overdue_derived AS \"Interest Overdue\",\r\nDATEDIFF(CURDATE(), laa.overdue_since_date_derived) as \"Days in Arrears\",\r\n\r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<7, \'<1\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<8, \' 1\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<15, \'2\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<22, \' 3\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<29, \' 4\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<36, \' 5\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<43, \' 6\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<50, \' 7\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<57, \' 8\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<64, \' 9\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<71, \'10\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<78, \'11\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<85, \'12\', \'12+\')))))))))))) )AS \"Weeks In Arrears Band\",\r\n\r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<31, \'0 - 30\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<61, \'30 - 60\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<91, \'60 - 90\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<181, \'90 - 180\', \r\n IF(DATEDIFF(CURDATE(), laa.overdue_since_date_derived)<361, \'180 - 360\', \r\n \'> 360\'))))) AS \"Days in Arrears Band\"\r\n\r\n FROM m_office mo \r\n JOIN m_office ounder ON ounder.hierarchy like concat(mo.hierarchy, \'%\')\r\n AND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n INNER JOIN m_client mc ON mc.office_id=ounder.id\r\n INNER JOIN m_loan ml ON ml.client_id = mc.id\r\n INNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = \'loan_status_id\'\r\n INNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id\r\n left join m_currency cur on cur.code = ml.currency_code\r\n WHERE ml.loan_status_id=300\r\n AND mo.id=${officeId}\r\nORDER BY ounder.hierarchy, ifnull(cur.display_symbol, ml.currency_code), ml.account_no\r\n','Loan arrears aging (Weeks)',1,1,0); +INSERT INTO `stretchy_report` VALUES (53,'Aging Summary (Arrears in Weeks)','Table',NULL,'Loan','SELECT \r\n IFNULL(periods.currencyName, periods.currency) as currency, \r\n periods.period_no \'Weeks In Arrears (Up To)\', \r\n IFNULL(ars.loanId, 0) \'No Of Loans\', \r\n IFNULL(ars.principal,0.0) \'Original Principal\', \r\n IFNULL(ars.interest,0.0) \'Original Interest\', \r\n IFNULL(ars.prinPaid,0.0) \'Principal Paid\', \r\n IFNULL(ars.intPaid,0.0) \'Interest Paid\', \r\n IFNULL(ars.prinOverdue,0.0) \'Principal Overdue\', \r\n IFNULL(ars.intOverdue,0.0)\'Interest Overdue\'\r\nFROM \r\n /* full table of aging periods/currencies used combo to ensure each line represented */\r\n (SELECT curs.code as currency, curs.name as currencyName, pers.* from\r\n (SELECT \'On Schedule\' period_no,1 pid UNION\r\n SELECT \'1\',2 UNION\r\n SELECT \'2\',3 UNION\r\n SELECT \'3\',4 UNION\r\n SELECT \'4\',5 UNION\r\n SELECT \'5\',6 UNION\r\n SELECT \'6\',7 UNION\r\n SELECT \'7\',8 UNION\r\n SELECT \'8\',9 UNION\r\n SELECT \'9\',10 UNION\r\n SELECT \'10\',11 UNION\r\n SELECT \'11\',12 UNION\r\n SELECT \'12\',13 UNION\r\n SELECT \'12+\',14) pers,\r\n (SELECT distinctrow moc.code, moc.name\r\n FROM m_office mo2\r\n INNER JOIN m_office ounder2 ON ounder2.hierarchy \r\n LIKE CONCAT(mo2.hierarchy, \'%\')\r\nAND ounder2.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n INNER JOIN m_client mc2 ON mc2.office_id=ounder2.id\r\n INNER JOIN m_loan ml2 ON ml2.client_id = mc2.id\r\n INNER JOIN m_organisation_currency moc ON moc.code = ml2.currency_code\r\n WHERE ml2.loan_status_id=300 /* active */\r\n AND mo2.id=${officeId}\r\nAND (ml2.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")) curs) periods\r\n\r\n\r\nLEFT JOIN /* table of aging periods per currency with gaps if no applicable loans */\r\n(SELECT \r\n z.currency, z.arrPeriod, \r\n COUNT(z.loanId) as loanId, SUM(z.principal) as principal, SUM(z.interest) as interest, \r\n SUM(z.prinPaid) as prinPaid, SUM(z.intPaid) as intPaid, \r\n SUM(z.prinOverdue) as prinOverdue, SUM(z.intOverdue) as intOverdue\r\nFROM\r\n /*derived table just used to get arrPeriod value (was much slower to\r\n duplicate calc of minOverdueDate in inner query)\r\nmight not be now with derived fields but didn’t check */\r\n (SELECT x.loanId, x.currency, x.principal, x.interest, x.prinPaid, x.intPaid, x.prinOverdue, x.intOverdue,\r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<1, \'On Schedule\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<8, \'1\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<15, \'2\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<22, \'3\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<29, \'4\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<36, \'5\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<43, \'6\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<50, \'7\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<57, \'8\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<64, \'9\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<71, \'10\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<78, \'11\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<85, \'12\',\r\n \'12+\'))))))))))))) AS arrPeriod\r\n\r\n FROM /* get the individual loan details */\r\n (SELECT ml.id AS loanId, ml.currency_code as currency,\r\n ml.principal_disbursed_derived as principal, \r\n ml.interest_charged_derived as interest, \r\n ml.principal_repaid_derived as prinPaid, \r\n ml.interest_repaid_derived intPaid,\r\n\r\n laa.principal_overdue_derived as prinOverdue,\r\n laa.interest_overdue_derived as intOverdue,\r\n\r\n IFNULL(laa.overdue_since_date_derived, curdate()) as minOverdueDate\r\n \r\n FROM m_office mo\r\n INNER JOIN m_office ounder ON ounder.hierarchy \r\n LIKE CONCAT(mo.hierarchy, \'%\')\r\nAND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n INNER JOIN m_client mc ON mc.office_id=ounder.id\r\n INNER JOIN m_loan ml ON ml.client_id = mc.id\r\n LEFT JOIN m_loan_arrears_aging laa on laa.loan_id = ml.id\r\n WHERE ml.loan_status_id=300 /* active */\r\n AND mo.id=${officeId}\r\n AND (ml.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\n GROUP BY ml.id) x\r\n ) z \r\nGROUP BY z.currency, z.arrPeriod ) ars ON ars.arrPeriod=periods.period_no and ars.currency = periods.currency\r\nORDER BY periods.currency, periods.pid','Loan amount in arrears by branch',1,1,0); +INSERT INTO `stretchy_report` VALUES (54,'Rescheduled Loans','Table',NULL,'Loan','SELECT \r\nconcat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, ml.currency_code) as Currency, \r\nc.account_no as \"Client Account No.\",\r\nc.display_name AS \'Client Name\',\r\nml.account_no AS \'Loan Account No.\',\r\nmpl.name AS \'Product Name\',\r\nml.disbursedon_date AS \'Disbursed Date\',\r\nlt.transaction_date AS \'Written Off date\',\r\nml.principal_amount as \"Loan Amount\",\r\nifnull(lt.principal_portion_derived, 0) AS \'Rescheduled Principal\',\r\nifnull(lt.interest_portion_derived, 0) AS \'Rescheduled Interest\',\r\nifnull(lt.fee_charges_portion_derived,0) AS \'Rescheduled Fees\',\r\nifnull(lt.penalty_charges_portion_derived,0) AS \'Rescheduled Penalties\',\r\nn.note AS \'Reason For Rescheduling\',\r\nIFNULL(ms.display_name,\'-\') AS \'Loan Officer Name\'\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nAND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_loan ml ON ml.client_id = c.id\r\nJOIN m_product_loan mpl ON mpl.id=ml.product_id\r\nLEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id\r\nJOIN m_loan_transaction lt ON lt.loan_id = ml.id\r\nLEFT JOIN m_note n ON n.loan_transaction_id = lt.id\r\nLEFT JOIN m_currency cur on cur.code = ml.currency_code\r\nWHERE lt.transaction_type_enum = 7 /*marked for rescheduling */\r\nAND lt.is_reversed is false \r\nAND ml.loan_status_id=602\r\nAND o.id=${officeId}\r\nAND (mpl.id=${loanProductId} OR ${loanProductId}=-1)\r\nAND lt.transaction_date BETWEEN \'${startDate}\' AND \'${endDate}\'\r\nAND (ml.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nORDER BY ounder.hierarchy, ifnull(cur.display_symbol, ml.currency_code), ml.account_no','Individual Lending Report. Rescheduled Loans. The ability to reschedule (or mark that you have rescheduled the loan elsewhere) is a legacy of the older Mifos product. Needed for migration.',1,1,0); +INSERT INTO `stretchy_report` VALUES (55,'Active Loans Passed Final Maturity','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nlo.display_name as \"Loan Officer\", \r\nc.display_name as \"Client\", l.account_no as \"Loan Account No.\", pl.`name` as \"Product\", \r\nf.`name` as Fund, \r\nl.principal_amount as \"Loan Amount\", \r\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed Date\", \r\ndate(l.expected_maturedon_date) as \"Expected Matured On\",\r\n\r\nl.principal_repaid_derived as \"Principal Repaid\",\r\nl.principal_outstanding_derived as \"Principal Outstanding\",\r\nlaa.principal_overdue_derived as \"Principal Overdue\",\r\n\r\nl.interest_repaid_derived as \"Interest Repaid\",\r\nl.interest_outstanding_derived as \"Interest Outstanding\",\r\nlaa.interest_overdue_derived as \"Interest Overdue\",\r\n\r\nl.fee_charges_repaid_derived as \"Fees Repaid\",\r\nl.fee_charges_outstanding_derived as \"Fees Outstanding\",\r\nlaa.fee_charges_overdue_derived as \"Fees Overdue\",\r\n\r\nl.penalty_charges_repaid_derived as \"Penalties Repaid\",\r\nl.penalty_charges_outstanding_derived as \"Penalties Outstanding\",\r\nlaa.penalty_charges_overdue_derived as \"Penalties Overdue\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\nand l.expected_maturedon_date < curdate()\r\ngroup by l.id\r\norder by ounder.hierarchy, l.currency_code, c.account_no, l.account_no','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (56,'Active Loans Passed Final Maturity Summary','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(mo.`hierarchy`) - LENGTH(REPLACE(mo.`hierarchy`, \'.\', \'\')) - 1))), mo.`name`) as \"Office/Branch\", x.currency as Currency,\r\n x.client_count as \"No. of Clients\", x.active_loan_count as \"No. Active Loans\", x. arrears_loan_count as \"No. of Loans in Arrears\",\r\nx.principal as \"Total Loans Disbursed\", x.principal_repaid as \"Principal Repaid\", x.principal_outstanding as \"Principal Outstanding\", x.principal_overdue as \"Principal Overdue\",\r\nx.interest as \"Total Interest\", x.interest_repaid as \"Interest Repaid\", x.interest_outstanding as \"Interest Outstanding\", x.interest_overdue as \"Interest Overdue\",\r\nx.fees as \"Total Fees\", x.fees_repaid as \"Fees Repaid\", x.fees_outstanding as \"Fees Outstanding\", x.fees_overdue as \"Fees Overdue\",\r\nx.penalties as \"Total Penalties\", x.penalties_repaid as \"Penalties Repaid\", x.penalties_outstanding as \"Penalties Outstanding\", x.penalties_overdue as \"Penalties Overdue\",\r\n\r\n (case\r\n when ${parType} = 1 then\r\n cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) as char)\r\n when ${parType} = 2 then\r\n cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) as char)\r\n when ${parType} = 3 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) as char)\r\n when ${parType} = 4 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) as char)\r\n else \"invalid PAR Type\"\r\n end) as \"Portfolio at Risk %\"\r\n from m_office mo\r\njoin \r\n(select ounder.id as branch,\r\nifnull(cur.display_symbol, l.currency_code) as currency,\r\ncount(distinct(c.id)) as client_count, \r\ncount(distinct(l.id)) as active_loan_count,\r\ncount(distinct(laa.loan_id) ) as arrears_loan_count,\r\n\r\nsum(l.principal_disbursed_derived) as principal,\r\nsum(l.principal_repaid_derived) as principal_repaid,\r\nsum(l.principal_outstanding_derived) as principal_outstanding,\r\nsum(ifnull(laa.principal_overdue_derived,0)) as principal_overdue,\r\n\r\nsum(l.interest_charged_derived) as interest,\r\nsum(l.interest_repaid_derived) as interest_repaid,\r\nsum(l.interest_outstanding_derived) as interest_outstanding,\r\nsum(ifnull(laa.interest_overdue_derived,0)) as interest_overdue,\r\n\r\nsum(l.fee_charges_charged_derived) as fees,\r\nsum(l.fee_charges_repaid_derived) as fees_repaid,\r\nsum(l.fee_charges_outstanding_derived) as fees_outstanding,\r\nsum(ifnull(laa.fee_charges_overdue_derived,0)) as fees_overdue,\r\n\r\nsum(l.penalty_charges_charged_derived) as penalties,\r\nsum(l.penalty_charges_repaid_derived) as penalties_repaid,\r\nsum(l.penalty_charges_outstanding_derived) as penalties_outstanding,\r\nsum(ifnull(laa.penalty_charges_overdue_derived,0)) as penalties_overdue\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\n\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\nand l.expected_maturedon_date < curdate()\r\ngroup by ounder.id, l.currency_code) x on x.branch = mo.id\r\norder by mo.hierarchy, x.Currency',NULL,1,1,0); +INSERT INTO `stretchy_report` VALUES (57,'Active Loans in last installment','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(lastInstallment.`hierarchy`) - LENGTH(REPLACE(lastInstallment.`hierarchy`, \'.\', \'\')) - 1))), lastInstallment.branch) as \"Office/Branch\",\r\nlastInstallment.Currency,\r\nlastInstallment.`Loan Officer`, \r\nlastInstallment.`Client Account No`, lastInstallment.`Client`, \r\nlastInstallment.`Loan Account No`, lastInstallment.`Product`, \r\nlastInstallment.`Fund`, lastInstallment.`Loan Amount`, \r\nlastInstallment.`Annual Nominal Interest Rate`, \r\nlastInstallment.`Disbursed`, lastInstallment.`Expected Matured On` ,\r\n\r\nl.principal_repaid_derived as \"Principal Repaid\",\r\nl.principal_outstanding_derived as \"Principal Outstanding\",\r\nlaa.principal_overdue_derived as \"Principal Overdue\",\r\n\r\nl.interest_repaid_derived as \"Interest Repaid\",\r\nl.interest_outstanding_derived as \"Interest Outstanding\",\r\nlaa.interest_overdue_derived as \"Interest Overdue\",\r\n\r\nl.fee_charges_repaid_derived as \"Fees Repaid\",\r\nl.fee_charges_outstanding_derived as \"Fees Outstanding\",\r\nlaa.fee_charges_overdue_derived as \"Fees Overdue\",\r\n\r\nl.penalty_charges_repaid_derived as \"Penalties Repaid\",\r\nl.penalty_charges_outstanding_derived as \"Penalties Outstanding\",\r\nlaa.penalty_charges_overdue_derived as \"Penalties Overdue\"\r\n\r\nfrom \r\n(select l.id as loanId, l.number_of_repayments, min(r.installment), \r\nounder.id, ounder.hierarchy, ounder.`name` as branch, \r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nlo.display_name as \"Loan Officer\", c.account_no as \"Client Account No\",\r\nc.display_name as \"Client\", l.account_no as \"Loan Account No\", pl.`name` as \"Product\", \r\nf.`name` as Fund, l.principal_amount as \"Loan Amount\", \r\nl.annual_nominal_interest_rate as \"Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed\", date(l.expected_maturedon_date) as \"Expected Matured On\"\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_loan_repayment_schedule r on r.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\nand r.completed_derived is false\r\nand r.duedate >= curdate()\r\ngroup by l.id\r\nhaving l.number_of_repayments = min(r.installment)) lastInstallment\r\njoin m_loan l on l.id = lastInstallment.loanId\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\norder by lastInstallment.hierarchy, lastInstallment.Currency, lastInstallment.`Client Account No`, lastInstallment.`Loan Account No`','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (58,'Active Loans in last installment Summary','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(mo.`hierarchy`) - LENGTH(REPLACE(mo.`hierarchy`, \'.\', \'\')) - 1))), mo.`name`) as \"Office/Branch\", x.currency as Currency,\r\n x.client_count as \"No. of Clients\", x.active_loan_count as \"No. Active Loans\", x. arrears_loan_count as \"No. of Loans in Arrears\",\r\nx.principal as \"Total Loans Disbursed\", x.principal_repaid as \"Principal Repaid\", x.principal_outstanding as \"Principal Outstanding\", x.principal_overdue as \"Principal Overdue\",\r\nx.interest as \"Total Interest\", x.interest_repaid as \"Interest Repaid\", x.interest_outstanding as \"Interest Outstanding\", x.interest_overdue as \"Interest Overdue\",\r\nx.fees as \"Total Fees\", x.fees_repaid as \"Fees Repaid\", x.fees_outstanding as \"Fees Outstanding\", x.fees_overdue as \"Fees Overdue\",\r\nx.penalties as \"Total Penalties\", x.penalties_repaid as \"Penalties Repaid\", x.penalties_outstanding as \"Penalties Outstanding\", x.penalties_overdue as \"Penalties Overdue\",\r\n\r\n (case\r\n when ${parType} = 1 then\r\n cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) as char)\r\n when ${parType} = 2 then\r\n cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) as char)\r\n when ${parType} = 3 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) as char)\r\n when ${parType} = 4 then\r\n cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) as char)\r\n else \"invalid PAR Type\"\r\n end) as \"Portfolio at Risk %\"\r\n from m_office mo\r\njoin \r\n(select lastInstallment.branchId as branchId,\r\nlastInstallment.Currency,\r\ncount(distinct(lastInstallment.clientId)) as client_count, \r\ncount(distinct(lastInstallment.loanId)) as active_loan_count,\r\ncount(distinct(laa.loan_id) ) as arrears_loan_count,\r\n\r\nsum(l.principal_disbursed_derived) as principal,\r\nsum(l.principal_repaid_derived) as principal_repaid,\r\nsum(l.principal_outstanding_derived) as principal_outstanding,\r\nsum(ifnull(laa.principal_overdue_derived,0)) as principal_overdue,\r\n\r\nsum(l.interest_charged_derived) as interest,\r\nsum(l.interest_repaid_derived) as interest_repaid,\r\nsum(l.interest_outstanding_derived) as interest_outstanding,\r\nsum(ifnull(laa.interest_overdue_derived,0)) as interest_overdue,\r\n\r\nsum(l.fee_charges_charged_derived) as fees,\r\nsum(l.fee_charges_repaid_derived) as fees_repaid,\r\nsum(l.fee_charges_outstanding_derived) as fees_outstanding,\r\nsum(ifnull(laa.fee_charges_overdue_derived,0)) as fees_overdue,\r\n\r\nsum(l.penalty_charges_charged_derived) as penalties,\r\nsum(l.penalty_charges_repaid_derived) as penalties_repaid,\r\nsum(l.penalty_charges_outstanding_derived) as penalties_outstanding,\r\nsum(ifnull(laa.penalty_charges_overdue_derived,0)) as penalties_overdue\r\n\r\nfrom \r\n(select l.id as loanId, l.number_of_repayments, min(r.installment), \r\nounder.id as branchId, ounder.hierarchy, ounder.`name` as branch, \r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nlo.display_name as \"Loan Officer\", c.id as clientId, c.account_no as \"Client Account No\",\r\nc.display_name as \"Client\", l.account_no as \"Loan Account No\", pl.`name` as \"Product\", \r\nf.`name` as Fund, l.principal_amount as \"Loan Amount\", \r\nl.annual_nominal_interest_rate as \"Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed\", date(l.expected_maturedon_date) as \"Expected Matured On\"\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_loan_repayment_schedule r on r.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.loan_status_id = 300\r\nand r.completed_derived is false\r\nand r.duedate >= curdate()\r\ngroup by l.id\r\nhaving l.number_of_repayments = min(r.installment)) lastInstallment\r\njoin m_loan l on l.id = lastInstallment.loanId\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\ngroup by lastInstallment.branchId) x on x.branchId = mo.id\r\norder by mo.hierarchy, x.Currency','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (59,'Active Loans by Disbursal Period','Table',NULL,'Loan','select concat(repeat(\"..\", \r\n ((LENGTH(ounder.`hierarchy`) - LENGTH(REPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) as \"Office/Branch\",\r\nifnull(cur.display_symbol, l.currency_code) as Currency,\r\nc.account_no as \"Client Account No\", c.display_name as \"Client\", l.account_no as \"Loan Account No\", pl.`name` as \"Product\", \r\nf.`name` as Fund, \r\nl.principal_amount as \"Loan Principal Amount\", \r\nl.annual_nominal_interest_rate as \" Annual Nominal Interest Rate\", \r\ndate(l.disbursedon_date) as \"Disbursed Date\", \r\n\r\nl.total_expected_repayment_derived as \"Total Loan (P+I+F+Pen)\",\r\nl.total_repayment_derived as \"Total Repaid (P+I+F+Pen)\",\r\nlo.display_name as \"Loan Officer\"\r\n\r\nfrom m_office o \r\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\r\nand ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\r\njoin m_client c on c.office_id = ounder.id\r\njoin m_loan l on l.client_id = c.id\r\njoin m_product_loan pl on pl.id = l.product_id\r\nleft join m_staff lo on lo.id = l.loan_officer_id\r\nleft join m_currency cur on cur.code = l.currency_code\r\nleft join m_fund f on f.id = l.fund_id\r\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\r\nwhere o.id = ${officeId}\r\nand (l.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\nand (l.product_id = \"${loanProductId}\" or \"-1\" = \"${loanProductId}\")\r\nand (ifnull(l.loan_officer_id, -10) = \"${loanOfficerId}\" or \"-1\" = \"${loanOfficerId}\")\r\nand (ifnull(l.fund_id, -10) = ${fundId} or -1 = ${fundId})\r\nand (ifnull(l.loanpurpose_cv_id, -10) = ${loanPurposeId} or -1 = ${loanPurposeId})\r\nand l.disbursedon_date between \'${startDate}\' and \'${endDate}\'\r\nand l.loan_status_id = 300\r\ngroup by l.id\r\norder by ounder.hierarchy, l.currency_code, c.account_no, l.account_no','Individual Client \n\nReport',1,1,0); +INSERT INTO `stretchy_report` VALUES (61,'Aging Summary (Arrears in Months)','Table',NULL,'Loan','SELECT \r\n IFNULL(periods.currencyName, periods.currency) as currency, \r\n periods.period_no \'Days In Arrears\', \r\n IFNULL(ars.loanId, 0) \'No Of Loans\', \r\n IFNULL(ars.principal,0.0) \'Original Principal\', \r\n IFNULL(ars.interest,0.0) \'Original Interest\', \r\n IFNULL(ars.prinPaid,0.0) \'Principal Paid\', \r\n IFNULL(ars.intPaid,0.0) \'Interest Paid\', \r\n IFNULL(ars.prinOverdue,0.0) \'Principal Overdue\', \r\n IFNULL(ars.intOverdue,0.0)\'Interest Overdue\'\r\nFROM \r\n /* full table of aging periods/currencies used combo to ensure each line represented */\r\n (SELECT curs.code as currency, curs.name as currencyName, pers.* from\r\n (SELECT \'On Schedule\' period_no,1 pid UNION\r\n SELECT \'0 - 30\',2 UNION\r\n SELECT \'30 - 60\',3 UNION\r\n SELECT \'60 - 90\',4 UNION\r\n SELECT \'90 - 180\',5 UNION\r\n SELECT \'180 - 360\',6 UNION\r\n SELECT \'> 360\',7 ) pers,\r\n (SELECT distinctrow moc.code, moc.name\r\n FROM m_office mo2\r\n INNER JOIN m_office ounder2 ON ounder2.hierarchy \r\n LIKE CONCAT(mo2.hierarchy, \'%\')\r\nAND ounder2.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n INNER JOIN m_client mc2 ON mc2.office_id=ounder2.id\r\n INNER JOIN m_loan ml2 ON ml2.client_id = mc2.id\r\n INNER JOIN m_organisation_currency moc ON moc.code = ml2.currency_code\r\n WHERE ml2.loan_status_id=300 /* active */\r\n AND mo2.id=${officeId}\r\nAND (ml2.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")) curs) periods\r\n\r\n\r\nLEFT JOIN /* table of aging periods per currency with gaps if no applicable loans */\r\n(SELECT \r\n z.currency, z.arrPeriod, \r\n COUNT(z.loanId) as loanId, SUM(z.principal) as principal, SUM(z.interest) as interest, \r\n SUM(z.prinPaid) as prinPaid, SUM(z.intPaid) as intPaid, \r\n SUM(z.prinOverdue) as prinOverdue, SUM(z.intOverdue) as intOverdue\r\nFROM\r\n /*derived table just used to get arrPeriod value (was much slower to\r\n duplicate calc of minOverdueDate in inner query)\r\nmight not be now with derived fields but didn’t check */\r\n (SELECT x.loanId, x.currency, x.principal, x.interest, x.prinPaid, x.intPaid, x.prinOverdue, x.intOverdue,\r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<1, \'On Schedule\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<31, \'0 - 30\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<61, \'30 - 60\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<91, \'60 - 90\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<181, \'90 - 180\', \r\n IF(DATEDIFF(CURDATE(), minOverdueDate)<361, \'180 - 360\', \r\n \'> 360\')))))) AS arrPeriod\r\n\r\n FROM /* get the individual loan details */\r\n (SELECT ml.id AS loanId, ml.currency_code as currency,\r\n ml.principal_disbursed_derived as principal, \r\n ml.interest_charged_derived as interest, \r\n ml.principal_repaid_derived as prinPaid, \r\n ml.interest_repaid_derived intPaid,\r\n\r\n laa.principal_overdue_derived as prinOverdue,\r\n laa.interest_overdue_derived as intOverdue,\r\n\r\n IFNULL(laa.overdue_since_date_derived, curdate()) as minOverdueDate\r\n \r\n FROM m_office mo\r\n INNER JOIN m_office ounder ON ounder.hierarchy \r\n LIKE CONCAT(mo.hierarchy, \'%\')\r\nAND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n INNER JOIN m_client mc ON mc.office_id=ounder.id\r\n INNER JOIN m_loan ml ON ml.client_id = mc.id\r\n LEFT JOIN m_loan_arrears_aging laa on laa.loan_id = ml.id\r\n WHERE ml.loan_status_id=300 /* active */\r\n AND mo.id=${officeId}\r\n AND (ml.currency_code = \"${currencyId}\" or \"-1\" = \"${currencyId}\")\r\n GROUP BY ml.id) x\r\n ) z \r\nGROUP BY z.currency, z.arrPeriod ) ars ON ars.arrPeriod=periods.period_no and ars.currency = periods.currency\r\nORDER BY periods.currency, periods.pid','Loan amount in arrears by branch',1,1,0); +INSERT INTO `stretchy_report` VALUES (93,'Expected Payments By Date - Basic','Table',NULL,'Loan','SELECT \r\n ounder.name \'Office\', \r\n IFNULL(ms.display_name,\'-\') \'Loan Officer\',\r\n mc.account_no \'Client Account Number\',\r\n mc.display_name \'Name\',\r\n mp.name \'Product\',\r\n ml.account_no \'Loan Account Number\',\r\n mr.duedate \'Due Date\',\r\n mr.installment \'Installment\',\r\n cu.display_symbol \'Currency\',\r\n mr.principal_amount- IFNULL(mr.principal_completed_derived,0) \'Principal Due\',\r\n mr.interest_amount- IFNULL(IFNULL(mr.interest_completed_derived,mr.interest_waived_derived),0) \'Interest Due\', \r\n IFNULL(mr.fee_charges_amount,0)- IFNULL(IFNULL(mr.fee_charges_completed_derived,mr.fee_charges_waived_derived),0) \'Fees Due\', \r\n IFNULL(mr.penalty_charges_amount,0)- IFNULL(IFNULL(mr.penalty_charges_completed_derived,mr.penalty_charges_waived_derived),0) \'Penalty Due\',\r\n (mr.principal_amount- IFNULL(mr.principal_completed_derived,0)) +\r\n (mr.interest_amount- IFNULL(IFNULL(mr.interest_completed_derived,mr.interest_waived_derived),0)) + \r\n (IFNULL(mr.fee_charges_amount,0)- IFNULL(IFNULL(mr.fee_charges_completed_derived,mr.fee_charges_waived_derived),0)) + \r\n (IFNULL(mr.penalty_charges_amount,0)- IFNULL(IFNULL(mr.penalty_charges_completed_derived,mr.penalty_charges_waived_derived),0)) \'Total Due\', \r\n mlaa.total_overdue_derived \'Total Overdue\'\r\n \r\n FROM m_office mo\r\n JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\r\n \r\n AND ounder.hierarchy like CONCAT(\'${currentUserHierarchy}\', \'%\')\r\n \r\n LEFT JOIN m_client mc ON mc.office_id=ounder.id\r\n LEFT JOIN m_loan ml ON ml.client_id=mc.id AND ml.loan_status_id=300\r\n LEFT JOIN m_loan_arrears_aging mlaa ON mlaa.loan_id=ml.id\r\n LEFT JOIN m_loan_repayment_schedule mr ON mr.loan_id=ml.id AND mr.completed_derived=0\r\n LEFT JOIN m_product_loan mp ON mp.id=ml.product_id\r\n LEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id\r\n LEFT JOIN m_currency cu ON cu.code=ml.currency_code\r\n WHERE mo.id=${officeId}\r\n AND (IFNULL(ml.loan_officer_id, -10) = \"${loanOfficerId}\" OR \"-1\" = \"${loanOfficerId}\")\r\n AND mr.duedate BETWEEN \'${startDate}\' AND \'${endDate}\'\r\n ORDER BY ounder.id,mr.duedate,ml.account_no','Test',1,1,0); +INSERT INTO `stretchy_report` VALUES (96,'GroupSummaryCounts','Table',NULL,NULL,'\n/*\nActive Client is a client linked to the \'group\' via m_group_client\nand with an active \'status_enum\'.)\nActive Borrowers - Borrower may be a client or a \'group\'\n*/\nselect x.*\nfrom m_office o,\nm_group g,\n\n(select a.activeClients,\n(b.activeClientLoans + c.activeGroupLoans) as activeLoans,\nb.activeClientLoans, c.activeGroupLoans,\n(b.activeClientBorrowers + c.activeGroupBorrowers) as activeBorrowers,\nb.activeClientBorrowers, c.activeGroupBorrowers,\n(b.overdueClientLoans + c.overdueGroupLoans) as overdueLoans,\nb.overdueClientLoans, c.overdueGroupLoans\nfrom\n(select count(*) as activeClients\nfrom m_group topgroup\njoin m_group g on g.hierarchy like concat(topgroup.hierarchy, \'%\')\njoin m_group_client gc on gc.group_id = g.id\njoin m_client c on c.id = gc.client_id\nwhere topgroup.id = ${groupId}\nand c.status_enum = 300) a,\n\n(select count(*) as activeClientLoans,\ncount(distinct(l.client_id)) as activeClientBorrowers,\nifnull(sum(if(laa.loan_id is not null, 1, 0)), 0) as overdueClientLoans\nfrom m_group topgroup\njoin m_group g on g.hierarchy like concat(topgroup.hierarchy, \'%\')\njoin m_loan l on l.group_id = g.id and l.client_id is not null\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nwhere topgroup.id = ${groupId}\nand l.loan_status_id = 300) b,\n\n(select count(*) as activeGroupLoans,\ncount(distinct(l.group_id)) as activeGroupBorrowers,\nifnull(sum(if(laa.loan_id is not null, 1, 0)), 0) as overdueGroupLoans\nfrom m_group topgroup\njoin m_group g on g.hierarchy like concat(topgroup.hierarchy, \'%\')\njoin m_loan l on l.group_id = g.id and l.client_id is null\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nwhere topgroup.id = ${groupId}\nand l.loan_status_id = 300) c\n) x\n\nwhere g.id = ${groupId}\nand o.id = g.office_id\nand o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\n','Utility query for getting group summary count details for a group_id',1,0,0); +INSERT INTO `stretchy_report` VALUES (97,'GroupSummaryAmounts','Table',NULL,NULL,'\nselect ifnull(cur.display_symbol, l.currency_code) as currency,\nifnull(sum(l.principal_disbursed_derived),0) as totalDisbursedAmount,\nifnull(sum(l.principal_outstanding_derived),0) as totalLoanOutstandingAmount,\ncount(laa.loan_id) as overdueLoans, ifnull(sum(laa.total_overdue_derived), 0) as totalLoanOverdueAmount\nfrom m_group topgroup\njoin m_office o on o.id = topgroup.office_id and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group g on g.hierarchy like concat(topgroup.hierarchy, \'%\')\njoin m_loan l on l.group_id = g.id\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_currency cur on cur.code = l.currency_code\nwhere topgroup.id = ${groupId}\nand l.disbursedon_date is not null\ngroup by l.currency_code\n','Utility query for getting group summary currency amount details for a group_id',1,0,0); +INSERT INTO `stretchy_report` VALUES (106,'TxnRunningBalances','Table',NULL,'Transaction','\nselect date(\'${startDate}\') as \'Transaction Date\', \'Opening Balance\' as `Transaction Type`, null as Office,\n null as \'Loan Officer\', null as `Loan Account No`, null as `Loan Product`, null as `Currency`,\n null as `Client Account No`, null as Client,\n null as Amount, null as Principal, null as Interest,\n@totalOutstandingPrincipal :=\nifnull(round(sum(\n if (txn.transaction_type_enum = 1 /* disbursement */,\n ifnull(txn.amount,0.00),\n ifnull(txn.principal_portion_derived,0.00) * -1))\n ,2),0.00) as \'Outstanding Principal\',\n\n@totalInterestIncome :=\nifnull(round(sum(\n if (txn.transaction_type_enum in (2,5,8) /* repayment, repayment at disbursal, recovery repayment */,\n ifnull(txn.interest_portion_derived,0.00),\n 0))\n ,2),0.00) as \'Interest Income\',\n\n@totalWriteOff :=\nifnull(round(sum(\n if (txn.transaction_type_enum = 6 /* write-off */,\n ifnull(txn.principal_portion_derived,0.00),\n 0))\n ,2),0.00) as \'Principal Write Off\'\nfrom m_office o\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\n and ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_client c on c.office_id = ounder.id\njoin m_loan l on l.client_id = c.id\njoin m_product_loan lp on lp.id = l.product_id\njoin m_loan_transaction txn on txn.loan_id = l.id\nleft join m_currency cur on cur.code = l.currency_code\nwhere txn.is_reversed = false\nand txn.transaction_type_enum not in (10,11)\nand o.id = ${officeId}\nand txn.transaction_date < date(\'${startDate}\')\n\nunion all\n\nselect x.`Transaction Date`, x.`Transaction Type`, x.Office, x.`Loan Officer`, x.`Loan Account No`, x.`Loan Product`, x.`Currency`,\n x.`Client Account No`, x.Client, x.Amount, x.Principal, x.Interest,\ncast(round(\n if (x.transaction_type_enum = 1 /* disbursement */,\n @totalOutstandingPrincipal := @totalOutstandingPrincipal + x.`Amount`,\n @totalOutstandingPrincipal := @totalOutstandingPrincipal - x.`Principal`)\n ,2) as decimal(19,2)) as \'Outstanding Principal\',\ncast(round(\n if (x.transaction_type_enum in (2,5,8) /* repayment, repayment at disbursal, recovery repayment */,\n @totalInterestIncome := @totalInterestIncome + x.`Interest`,\n @totalInterestIncome)\n ,2) as decimal(19,2)) as \'Interest Income\',\ncast(round(\n if (x.transaction_type_enum = 6 /* write-off */,\n @totalWriteOff := @totalWriteOff + x.`Principal`,\n @totalWriteOff)\n ,2) as decimal(19,2)) as \'Principal Write Off\'\nfrom\n(select txn.transaction_type_enum, txn.id as txn_id, txn.transaction_date as \'Transaction Date\',\ncast(\n ifnull(re.enum_message_property, concat(\'Unknown Transaction Type Value: \' , txn.transaction_type_enum))\n as char) as \'Transaction Type\',\nounder.`name` as Office, lo.display_name as \'Loan Officer\',\nl.account_no as \'Loan Account No\', lp.`name` as \'Loan Product\',\nifnull(cur.display_symbol, l.currency_code) as Currency,\nc.account_no as \'Client Account No\', c.display_name as \'Client\',\nifnull(txn.amount,0.00) as Amount,\nifnull(txn.principal_portion_derived,0.00) as Principal,\nifnull(txn.interest_portion_derived,0.00) as Interest\nfrom m_office o\njoin m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\')\n and ounder.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_client c on c.office_id = ounder.id\njoin m_loan l on l.client_id = c.id\nleft join m_staff lo on lo.id = l.loan_officer_id\njoin m_product_loan lp on lp.id = l.product_id\njoin m_loan_transaction txn on txn.loan_id = l.id\nleft join m_currency cur on cur.code = l.currency_code\nleft join r_enum_value re on re.enum_name = \'transaction_type_enum\'\n and re.enum_id = txn.transaction_type_enum\nwhere txn.is_reversed = false\nand txn.transaction_type_enum not in (10,11)\nand (ifnull(l.loan_officer_id, -10) = \'${loanOfficerId}\' or \'-1\' = \'${loanOfficerId}\')\nand o.id = ${officeId}\nand txn.transaction_date >= date(\'${startDate}\')\nand txn.transaction_date <= date(\'${endDate}\')\norder by txn.transaction_date, txn.id) x\n','Running Balance Txn report for Individual Lending.\nSuitable for small MFI\'s. Larger could use it using the branch or other parameters.\nBasically, suck it and see if its quick enough for you out-of-te box or whether it needs performance work in your situation.\n',0,0,0); +INSERT INTO `stretchy_report` VALUES (107,'FieldAgentStats','Table',NULL,'Quipo','\nselect ifnull(cur.display_symbol, l.currency_code) as Currency,\n/*This query will return more than one entry if more than one currency is used */\ncount(distinct(c.id)) as activeClients, count(*) as activeLoans,\nsum(l.principal_disbursed_derived) as disbursedAmount,\nsum(l.principal_outstanding_derived) as loanOutstandingAmount,\nround((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC,\nsum(ifnull(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance,\nsum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) as portfolioAtRisk,\n\nround((sum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC,\n\ncount(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) as clientsInDefault,\nround((count(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) * 100) / count(distinct(c.id)),2) as clientsInDefaultPC,\n(sum(l.principal_disbursed_derived) / count(*)) as averageLoanAmount\nfrom m_staff fa\njoin m_office o on o.id = fa.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group pgm on pgm.staff_id = fa.id\njoin m_loan l on l.group_id = pgm.id and l.client_id is not null\nleft join m_currency cur on cur.code = l.currency_code\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\njoin m_client c on c.id = l.client_id\nwhere fa.id = ${staffId}\nand l.loan_status_id = 300\ngroup by l.currency_code\n','Field Agent Statistics',0,0,0); +INSERT INTO `stretchy_report` VALUES (108,'FieldAgentPrograms','Table',NULL,'Quipo','\nselect pgm.id, pgm.display_name as `name`, sts.enum_message_property as status\n from m_group pgm\n join m_office o on o.id = pgm.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\n left join r_enum_value sts on sts.enum_name = \'status_enum\' and sts.enum_id = pgm.status_enum\n where pgm.staff_id = ${staffId}\n','List of Field Agent Programs',0,0,0); +INSERT INTO `stretchy_report` VALUES (109,'ProgramDetails','Table',NULL,'Quipo','\n select l.id as loanId, l.account_no as loanAccountNo, c.id as clientId, c.account_no as clientAccountNo,\n pgm.display_name as programName,\n\n(select count(*)\nfrom m_loan cy\nwhere cy.group_id = pgm.id and cy.client_id =c.id\nand cy.disbursedon_date <= l.disbursedon_date) as loanCycleNo,\n\nc.display_name as clientDisplayName,\n ifnull(cur.display_symbol, l.currency_code) as Currency,\nifnull(l.principal_repaid_derived,0.0) as loanRepaidAmount,\nifnull(l.principal_outstanding_derived, 0.0) as loanOutstandingAmount,\nifnull(lpa.principal_in_advance_derived,0.0) as LoanPaidInAdvance,\n\nifnull(laa.principal_overdue_derived, 0.0) as loanInArrearsAmount,\nif(ifnull(laa.principal_overdue_derived, 0.00) > 0, \'Yes\', \'No\') as inDefault,\n\nif(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0) as portfolioAtRisk\n\n from m_group pgm\n join m_office o on o.id = pgm.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\n join m_loan l on l.group_id = pgm.id and l.client_id is not null\n left join m_currency cur on cur.code = l.currency_code\n join m_client c on c.id = l.client_id\n left join m_loan_arrears_aging laa on laa.loan_id = l.id\n left join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\n where pgm.id = ${programId}\n and l.loan_status_id = 300\norder by c.display_name, l.account_no\n\n','List of Loans in a Program',0,0,0); +INSERT INTO `stretchy_report` VALUES (110,'ChildrenStaffList','Table',NULL,'Quipo','\n select s.id, s.display_name,\ns.firstname, s.lastname, s.organisational_role_enum,\ns.organisational_role_parent_staff_id,\nsp.display_name as `organisational_role_parent_staff_display_name`\nfrom m_staff s\njoin m_staff sp on s.organisational_role_parent_staff_id = sp.id\nwhere s.organisational_role_parent_staff_id = ${staffId}\n','Get Next Level Down Staff',0,0,0); +INSERT INTO `stretchy_report` VALUES (111,'CoordinatorStats','Table',NULL,'Quipo','\nselect ifnull(cur.display_symbol, l.currency_code) as Currency,\n/*This query will return more than one entry if more than one currency is used */\ncount(distinct(c.id)) as activeClients, count(*) as activeLoans,\nsum(l.principal_disbursed_derived) as disbursedAmount,\nsum(l.principal_outstanding_derived) as loanOutstandingAmount,\nround((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC,\nsum(ifnull(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance,\nsum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) as portfolioAtRisk,\n\nround((sum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC,\n\ncount(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) as clientsInDefault,\nround((count(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) * 100) / count(distinct(c.id)),2) as clientsInDefaultPC,\n(sum(l.principal_disbursed_derived) / count(*)) as averageLoanAmount\nfrom m_staff coord\njoin m_staff fa on fa.organisational_role_parent_staff_id = coord.id\njoin m_office o on o.id = fa.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group pgm on pgm.staff_id = fa.id\njoin m_loan l on l.group_id = pgm.id and l.client_id is not null\nleft join m_currency cur on cur.code = l.currency_code\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\njoin m_client c on c.id = l.client_id\nwhere coord.id = ${staffId}\nand l.loan_status_id = 300\ngroup by l.currency_code\n','Coordinator Statistics',0,0,0); +INSERT INTO `stretchy_report` VALUES (112,'BranchManagerStats','Table',NULL,'Quipo','\nselect ifnull(cur.display_symbol, l.currency_code) as Currency,\n/*This query will return more than one entry if more than one currency is used */\ncount(distinct(c.id)) as activeClients, count(*) as activeLoans,\nsum(l.principal_disbursed_derived) as disbursedAmount,\nsum(l.principal_outstanding_derived) as loanOutstandingAmount,\nround((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC,\nsum(ifnull(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance,\nsum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) as portfolioAtRisk,\n\nround((sum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC,\n\ncount(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) as clientsInDefault,\nround((count(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) * 100) / count(distinct(c.id)),2) as clientsInDefaultPC,\n(sum(l.principal_disbursed_derived) / count(*)) as averageLoanAmount\nfrom m_staff bm\njoin m_staff coord on coord.organisational_role_parent_staff_id = bm.id\njoin m_staff fa on fa.organisational_role_parent_staff_id = coord.id\njoin m_office o on o.id = fa.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group pgm on pgm.staff_id = fa.id\njoin m_loan l on l.group_id = pgm.id and l.client_id is not null\nleft join m_currency cur on cur.code = l.currency_code\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\njoin m_client c on c.id = l.client_id\nwhere bm.id = ${staffId}\nand l.loan_status_id = 300\ngroup by l.currency_code\n','Branch Manager Statistics',0,0,0); +INSERT INTO `stretchy_report` VALUES (113,'ProgramDirectorStats','Table',NULL,'Quipo','\nselect ifnull(cur.display_symbol, l.currency_code) as Currency,\n/*This query will return more than one entry if more than one currency is used */\ncount(distinct(c.id)) as activeClients, count(*) as activeLoans,\nsum(l.principal_disbursed_derived) as disbursedAmount,\nsum(l.principal_outstanding_derived) as loanOutstandingAmount,\nround((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC,\nsum(ifnull(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance,\nsum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) as portfolioAtRisk,\n\nround((sum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC,\n\ncount(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) as clientsInDefault,\nround((count(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) * 100) / count(distinct(c.id)),2) as clientsInDefaultPC,\n(sum(l.principal_disbursed_derived) / count(*)) as averageLoanAmount\nfrom m_staff pd\njoin m_staff bm on bm.organisational_role_parent_staff_id = pd.id\njoin m_staff coord on coord.organisational_role_parent_staff_id = bm.id\njoin m_staff fa on fa.organisational_role_parent_staff_id = coord.id\njoin m_office o on o.id = fa.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group pgm on pgm.staff_id = fa.id\njoin m_loan l on l.group_id = pgm.id and l.client_id is not null\nleft join m_currency cur on cur.code = l.currency_code\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\njoin m_client c on c.id = l.client_id\nwhere pd.id = ${staffId}\nand l.loan_status_id = 300\ngroup by l.currency_code\n','Program DirectorStatistics',0,0,0); +INSERT INTO `stretchy_report` VALUES (114,'ProgramStats','Table',NULL,'Quipo','\nselect ifnull(cur.display_symbol, l.currency_code) as Currency,\n/*This query will return more than one entry if more than one currency is used */\ncount(distinct(c.id)) as activeClients, count(*) as activeLoans,\nsum(l.principal_disbursed_derived) as disbursedAmount,\nsum(l.principal_outstanding_derived) as loanOutstandingAmount,\nround((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC,\nsum(ifnull(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance,\nsum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) as portfolioAtRisk,\n\nround((sum(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n l.principal_outstanding_derived,0)) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC,\n\ncount(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) as clientsInDefault,\nround((count(distinct(\n if(date_sub(curdate(), interval 28 day) > ifnull(laa.overdue_since_date_derived, curdate()),\n c.id,null))) * 100) / count(distinct(c.id)),2) as clientsInDefaultPC,\n(sum(l.principal_disbursed_derived) / count(*)) as averageLoanAmount\nfrom m_group pgm\njoin m_office o on o.id = pgm.office_id\n and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_loan l on l.group_id = pgm.id and l.client_id is not null\nleft join m_currency cur on cur.code = l.currency_code\nleft join m_loan_arrears_aging laa on laa.loan_id = l.id\nleft join m_loan_paid_in_advance lpa on lpa.loan_id = l.id\njoin m_client c on c.id = l.client_id\nwhere pgm.id = ${programId}\nand l.loan_status_id = 300\ngroup by l.currency_code\n','Program Statistics',0,0,0); +INSERT INTO `stretchy_report` VALUES (115,'ClientSummary ','Table',NULL,NULL,'SELECT x.* FROM m_client c, m_office o, \n(\n SELECT a.loanCycle, a.activeLoans, b.lastLoanAmount, d.activeSavings, d.totalSavings FROM \n (SELECT IFNULL(MAX(l.loan_counter),0) AS loanCycle, COUNT(l.id) AS activeLoans FROM m_loan l WHERE l.loan_status_id=300 AND l.client_id=${clientId}) a, \n (SELECT count(l.id), IFNULL(l.principal_amount,0) AS \'lastLoanAmount\' FROM m_loan l WHERE l.client_id=${clientId} AND l.disbursedon_date = (SELECT IFNULL(MAX(disbursedon_date),NOW()) FROM m_loan where client_id=${clientId} and loan_status_id=300) group by l.principal_amount) b, \n (SELECT COUNT(s.id) AS \'activeSavings\', IFNULL(SUM(s.account_balance_derived),0) AS \'totalSavings\' FROM m_savings_account s WHERE s.status_enum=300 AND s.client_id=${clientId}) d\n) x\nWHERE c.id=${clientId} AND o.id = c.office_id AND o.hierarchy LIKE CONCAT(\'${currentUserHierarchy}\', \'%\')','Utility query for getting the client summary details',1,0,0); +INSERT INTO `stretchy_report` VALUES (116,'LoanCyclePerProduct','Table',NULL,NULL,'SELECT lp.name AS \'productName\', MAX(l.loan_product_counter) AS \'loanProductCycle\' FROM m_loan l JOIN m_product_loan lp ON l.product_id=lp.id WHERE lp.include_in_borrower_cycle=1 AND l.loan_product_counter IS NOT NULL AND l.client_id=${clientId} GROUP BY l.product_id','Utility query for getting the client loan cycle details',1,0,0); +INSERT INTO `stretchy_report` VALUES (117,'GroupSavingSummary','Table',NULL,NULL,'select ifnull(cur.display_symbol, sa.currency_code) as currency,\ncount(sa.id) as totalSavingAccounts, ifnull(sum(sa.account_balance_derived),0) as totalSavings\nfrom m_group topgroup\njoin m_office o on o.id = topgroup.office_id and o.hierarchy like concat(\'${currentUserHierarchy}\', \'%\')\njoin m_group g on g.hierarchy like concat(topgroup.hierarchy, \'%\')\njoin m_savings_account sa on sa.group_id = g.id\nleft join m_currency cur on cur.code = sa.currency_code\nwhere topgroup.id = ${groupId}\nand sa.activatedon_date is not null\ngroup by sa.currency_code','Utility query for getting group or center saving summary details for a group_id',1,0,0); +INSERT INTO `stretchy_report` VALUES (148,'GroupNamesByStaff','Table','','','Select gr.id as id, gr.display_name as name from m_group gr where gr.level_id=1 and gr.staff_id = ${staffId}','',1,0,0); +INSERT INTO `stretchy_report` VALUES (149,'ClientTrendsByDay','Table','','Client','SELECT COUNT(cl.id) AS count, cl.activation_date AS days FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (cl.activation_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 DAY) AND DATE(NOW()- INTERVAL 1 DAY)) GROUP BY days ','Retrieves the number of clients joined in last 12 days',1,0,0); +INSERT INTO `stretchy_report` VALUES (150,'ClientTrendsByWeek','Table','','Client','SELECT COUNT(cl.id) AS count, WEEK(cl.activation_date) AS Weeks FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (cl.activation_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 WEEK) AND DATE(NOW())) GROUP BY Weeks ','',1,0,0); +INSERT INTO `stretchy_report` VALUES (151,'ClientTrendsByMonth','Table','','Client','SELECT COUNT(cl.id) AS count, MONTHNAME(cl.activation_date) AS Months FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (cl.activation_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 MONTH) AND DATE(NOW())) GROUP BY Months ','',1,0,0); +INSERT INTO `stretchy_report` VALUES (152,'LoanTrendsByDay','Table','','Loan','SELECT COUNT(ln.id) AS lcount, ln.disbursedon_date AS days FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (ln.disbursedon_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 DAY) AND DATE(NOW()- INTERVAL 1 DAY)) GROUP BY days ','Retrieves Number of loans disbursed for last 12 days',1,0,0); +INSERT INTO `stretchy_report` VALUES (153,'LoanTrendsByWeek','Table','','Loan','SELECT COUNT(ln.id) AS lcount, WEEK(ln.disbursedon_date) AS Weeks FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (ln.disbursedon_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 12 WEEK) AND DATE(NOW())) GROUP BY Weeks ','',1,0,0); +INSERT INTO `stretchy_report` VALUES (154,'LoanTrendsByMonth','Table','','Loan','SELECT COUNT(ln.id) AS lcount, MONTHNAME(ln.disbursedon_date) AS Months FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) AND (ln.disbursedon_date BETWEEN (CURDATE() - INTERVAL 12 MONTH) AND DATE(NOW())) GROUP BY Months ','',1,0,0); +INSERT INTO `stretchy_report` VALUES (155,'Demand Vs Collection','Table','','Loan','SELECT amount.AmountDue-amount.AmountPaid as AmountDue, amount.AmountPaid as AmountPaid FROM (SELECT (COALESCE(SUM(ls.principal_amount),0) - COALESCE(SUM(ls.principal_writtenoff_derived),0) + COALESCE(SUM(ls.interest_amount),0) - COALESCE(SUM(ls.interest_writtenoff_derived),0) - COALESCE(SUM(ls.interest_waived_derived),0) + COALESCE(SUM(ls.fee_charges_amount),0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived),0) - COALESCE(SUM(ls.fee_charges_waived_derived),0) + COALESCE(SUM(ls.penalty_charges_amount),0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived),0) - COALESCE(SUM(ls.penalty_charges_waived_derived),0) ) AS AmountDue, (COALESCE(SUM(ls.principal_completed_derived),0) - COALESCE(SUM(ls.principal_writtenoff_derived),0) + COALESCE(SUM(ls.interest_completed_derived),0) - COALESCE(SUM(ls.interest_writtenoff_derived),0) - COALESCE(SUM(ls.interest_waived_derived),0) + COALESCE(SUM(ls.fee_charges_completed_derived),0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived),0) - COALESCE(SUM(ls.fee_charges_waived_derived),0) + COALESCE(SUM(ls.penalty_charges_completed_derived),0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived),0) - COALESCE(SUM(ls.penalty_charges_waived_derived),0) ) AS AmountPaid FROM m_office o LEFT JOIN m_client cl ON o.id = cl.office_id LEFT JOIN m_loan ln ON cl.id = ln.client_id LEFT JOIN m_loan_repayment_schedule ls ON ln.id = ls.loan_id WHERE (o.hierarchy LIKE CONCAT((SELECT ino.hierarchy FROM m_office ino WHERE ino.id = ${officeId}),\'%\'))) as amount ','Demand Vs Collection',1,0,0); +INSERT INTO `stretchy_report` VALUES (156,'Disbursal Vs Awaitingdisbursal','Table','','Loan','SELECT awaitinddisbursal.amount-disbursedAmount.amount as amountToBeDisburse, disbursedAmount.amount as disbursedAmount from (SELECT COUNT(ln.id) AS noOfLoans, COALESCE(SUM(ln.principal_amount),0) AS amount FROM m_office o LEFT JOIN m_client cl ON cl.office_id = o.id LEFT JOIN m_loan ln ON cl.id = ln.client_id WHERE (ln.loan_status_id=200 OR ln.loan_status_id=300) AND o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) ) awaitinddisbursal, (SELECT COUNT(ltrxn.id) as count, COALESCE(SUM(ltrxn.amount),0) as amount FROM m_office o LEFT JOIN m_client cl ON cl.office_id = o.id LEFT JOIN m_loan ln ON cl.id = ln.client_id LEFT JOIN m_loan_transaction ltrxn ON ln.id = ltrxn.loan_id WHERE ltrxn.is_reversed = false AND ltrxn.transaction_type_enum=1 AND o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),\'%\' ) ) disbursedAmount ','Disbursal_Vs_Awaitingdisbursal',1,0,0); +INSERT INTO `stretchy_report` VALUES (165,'Savings Accounts Dormancy Report','Table',NULL,'Savings','select cl.display_name as \'Client Display Name\',\r\nsa.account_no as \'Account Number\',\r\ncl.mobile_no as \'Mobile Number\',\r\n@lastdate:=(select IFNULL(max(sat.transaction_date),sa.activatedon_date) \r\n from m_savings_account_transaction as sat \r\n where sat.is_reversed = 0 \r\n and sat.transaction_type_enum in (1,2) \r\n and sat.savings_account_id = sa.id) as \'Date of Last Activity\',\r\nDATEDIFF(now(), @lastdate) as \'Days Since Last Activity\'\r\nfrom m_savings_account as sa \r\ninner join m_savings_product as sp on (sa.product_id = sp.id and sp.is_dormancy_tracking_active = 1) \r\nleft join m_client as cl on sa.client_id = cl.id \r\nwhere sa.sub_status_enum = ${subStatus}\r\nand cl.office_id = ${officeId}',NULL,1,1,0); +INSERT INTO `stretchy_report` VALUES (166,'Active Clients','SMS','NonTriggered','Client','SELECT c.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nWHERE o.id = ${officeId} AND c.status_enum = 300 AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId})\r\nGROUP BY c.id\r\nORDER BY ounder.hierarchy, c.account_no','All clients with the status ‘Active’',0,1,0); +INSERT INTO `stretchy_report` VALUES (167,'Prospective Clients','SMS','NonTriggered','Client','SELECT c.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nLEFT JOIN m_loan l ON l.client_id = c.id\r\nWHERE o.id = ${officeId} AND c.status_enum = 300 AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND l.client_id IS NULL\r\nGROUP BY c.id\r\nORDER BY ounder.hierarchy, c.account_no','All clients with the status ‘Active’ who have never had a loan before',0,1,0); +INSERT INTO `stretchy_report` VALUES (168,'Active Loan Clients','SMS','NonTriggered','Client','SELECT \r\nc.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", \r\nl.principal_amount AS \"loanAmount\", \r\n(IFNULL(l.principal_outstanding_derived, 0) + IFNULL(l.interest_outstanding_derived, 0) + IFNULL(l.fee_charges_outstanding_derived, 0) + IFNULL(l.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nl.principal_disbursed_derived AS \"loanDisbursed\",\r\nounder.id AS \"officeNumber\", \r\nl.account_no AS \"loanAccountId\", \r\ngua.lastname AS \"guarantorLastName\", COUNT(gua.id) AS \"numberOfGuarantors\",\r\ng.display_name AS \"groupName\"\r\n\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_loan l ON l.client_id = c.id\r\nJOIN m_product_loan pl ON pl.id = l.product_id\r\nLEFT JOIN m_group_client gc ON gc.client_id = c.id\r\nLEFT JOIN m_group g ON g.id = gc.group_id\r\nLEFT JOIN m_staff lo ON lo.id = l.loan_officer_id\r\nLEFT JOIN m_currency cur ON cur.code = l.currency_code\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = l.id\r\nWHERE o.id = ${officeId} AND (IFNULL(l.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND l.loan_status_id = 300 AND (DATEDIFF(CURDATE(), l.disbursedon_date) BETWEEN ${cycleX} AND ${cycleY})\r\nGROUP BY l.id\r\nORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no','All clients with an outstanding loan between cycleX and cycleY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (169,'Loan in arrears','SMS','NonTriggered','Loan','SELECT \r\nmc.id AS \"id\", \r\nmc.firstname AS \"firstName\",\r\nmc.middlename AS \"middleName\",\r\nmc.lastname AS \"lastName\",\r\nmc.display_name AS \"fullName\",\r\nmc.mobile_no AS \"mobileNo\", \r\nml.principal_amount AS \"loanAmount\", \r\n(IFNULL(ml.principal_outstanding_derived, 0) + IFNULL(ml.interest_outstanding_derived, 0) + IFNULL(ml.fee_charges_outstanding_derived, 0) + IFNULL(ml.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nml.principal_disbursed_derived AS \"loanDisbursed\",\r\nlaa.overdue_since_date_derived AS \"paymentDueDate\",\r\nIFNULL(laa.total_overdue_derived, 0) AS \"totalDue\",\r\nounder.id AS \"officeNumber\", \r\nml.account_no AS \"loanAccountId\", \r\ngua.lastname AS \"guarantorLastName\", \r\nCOUNT(gua.id) AS \"numberOfGuarantors\",\r\ng.display_name AS \"groupName\"\r\n\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\r\nINNER JOIN m_client mc ON mc.office_id=ounder.id\r\nINNER JOIN m_loan ml ON ml.client_id = mc.id\r\nINNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = \'loan_status_id\'\r\nINNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id\r\nLEFT JOIN m_currency cur ON cur.code = ml.currency_code\r\nLEFT JOIN m_group_client gc ON gc.client_id = mc.id\r\nLEFT JOIN m_group g ON g.id = gc.group_id\r\nLEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = ml.id\r\nWHERE ml.loan_status_id=300 AND mo.id=${officeId} AND (IFNULL(ml.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND (DATEDIFF(CURDATE(), laa.overdue_since_date_derived) BETWEEN ${fromX} AND ${toY})\r\nGROUP BY ml.id\r\nORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no','All clients with an outstanding loan in arrears between fromX and toY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (170,'Loan payments due','SMS','NonTriggered','Loan','SELECT \r\ncl.id AS \"id\", \r\ncl.firstname AS \"firstName\",\r\ncl.middlename AS \"middleName\",\r\ncl.lastname AS \"lastName\",\r\ncl.display_name AS \"fullName\",\r\ncl.mobile_no AS \"mobileNo\", \r\nl.principal_amount AS \"loanAmount\",\r\nof.id AS \"officeNumber\",\r\n(IFNULL(l.principal_outstanding_derived, 0) + IFNULL(l.interest_outstanding_derived, 0) + IFNULL(l.fee_charges_outstanding_derived, 0) + IFNULL(l.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nl.principal_disbursed_derived AS \"loanDisbursed\",\r\nls.duedate AS \"paymentDueDate\",\r\n(IFNULL(SUM(ls.principal_amount),0) - IFNULL(SUM(ls.principal_writtenoff_derived),0)\r\n + IFNULL(SUM(ls.interest_amount),0) - IFNULL(SUM(ls.interest_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.interest_waived_derived),0)\r\n + IFNULL(SUM(ls.fee_charges_amount),0) - IFNULL(SUM(ls.fee_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.fee_charges_waived_derived),0)\r\n + IFNULL(SUM(ls.penalty_charges_amount),0) - IFNULL(SUM(ls.penalty_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.penalty_charges_waived_derived),0)\r\n) AS \"totalDue\",\r\nlaa.total_overdue_derived AS \"totalOverdue\",\r\nl.account_no AS \"loanAccountId\",\r\ngua.lastname AS \"guarantorLastName\",\r\nCOUNT(gua.id) AS \"numberOfGuarantors\",\r\ngp.display_name AS \"groupName\"\r\n\r\nFROM m_office of\r\nLEFT JOIN m_client cl ON of.id = cl.office_id\r\nLEFT JOIN m_loan l ON cl.id = l.client_id\r\nLEFT JOIN m_group_client gc ON gc.client_id = cl.id\r\nLEFT JOIN m_group gp ON gp.id = l.group_id\r\nLEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = l.id\r\nINNER JOIN m_loan_arrears_aging laa ON laa.loan_id=l.id\r\nWHERE of.id = ${officeId} AND (IFNULL(l.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND (DATEDIFF(CURDATE(), ls.duedate) BETWEEN ${fromX} AND ${toY}) \r\nAND (of.hierarchy LIKE CONCAT((\r\nSELECT ino.hierarchy\r\nFROM m_office ino\r\nWHERE ino.id = ${officeId}),\"%\"))\r\nGROUP BY l.id\r\nORDER BY of.hierarchy, l.currency_code, cl.account_no, l.account_no','All clients with an unpaid installment due on their loan between fromX and toY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (171,'Dormant Prospects','SMS','NonTriggered','Client','SELECT c.id AS \"id\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", \r\no.id AS \"officeNumber\", \r\nTIMESTAMPDIFF(MONTH, c.activation_date, CURDATE()) AS \"dormant\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nLEFT JOIN m_loan l ON l.client_id = c.id\r\nWHERE o.id = ${officeId} AND c.status_enum = 300 AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND l.client_id IS NULL AND (TIMESTAMPDIFF(MONTH, c.activation_date, CURDATE()) > 3)\r\nGROUP BY c.id\r\nORDER BY ounder.hierarchy, c.account_no','All individuals who have not yet received a loan but were also entered into the system more than 3 months',0,1,0); +INSERT INTO `stretchy_report` VALUES (172,'Active group leaders','SMS','NonTriggered','Client','SELECT c.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_group g ON g.office_id = ounder.id\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN m_group_client gc ON gc.group_id = g.id AND gc.client_id = c.id\r\nLEFT JOIN m_group_roles gr ON gr.group_id = g.id AND gr.client_id = c.id\r\nLEFT JOIN m_staff ms ON ms.id = c.staff_id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nLEFT JOIN m_code_value cv ON cv.id = gr.role_cv_id\r\nLEFT JOIN m_code code ON code.id = cv.code_id\r\nWHERE o.id = ${officeId} AND g.status_enum = 300 AND c.status_enum = 300 AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND code.code_name = \'GROUPROLE\' AND cv.code_value = \'Leader\'\r\nGROUP BY c.id\r\nORDER BY ounder.hierarchy, c.account_no','All active group chairmen',0,1,0); +INSERT INTO `stretchy_report` VALUES (173,'Loan payments due (Overdue Loans)','SMS','NonTriggered','Loan','SELECT \r\nmc.id AS \"id\", \r\nmc.firstname AS \"firstName\",\r\nmc.middlename AS \"middleName\",\r\nmc.lastname AS \"lastName\",\r\nmc.display_name AS \"fullName\",\r\nmc.mobile_no AS \"mobileNo\", \r\nml.principal_amount AS \"loanAmount\", \r\n(IFNULL(ml.principal_outstanding_derived, 0) + IFNULL(ml.interest_outstanding_derived, 0) + IFNULL(ml.fee_charges_outstanding_derived, 0) + IFNULL(ml.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nml.principal_disbursed_derived AS \"loanDisbursed\",\r\nlaa.overdue_since_date_derived AS \"paymentDueDate\",\r\n(IFNULL(SUM(ls.principal_amount),0) - IFNULL(SUM(ls.principal_writtenoff_derived),0)\r\n + IFNULL(SUM(ls.interest_amount),0) - IFNULL(SUM(ls.interest_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.interest_waived_derived),0)\r\n + IFNULL(SUM(ls.fee_charges_amount),0) - IFNULL(SUM(ls.fee_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.fee_charges_waived_derived),0)\r\n + IFNULL(SUM(ls.penalty_charges_amount),0) - IFNULL(SUM(ls.penalty_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.penalty_charges_waived_derived),0)\r\n) AS \"totalDue\",\r\nlaa.total_overdue_derived AS \"totalOverdue\",\r\nounder.id AS \"officeNumber\", \r\nml.account_no AS \"loanAccountId\", \r\ngua.lastname AS \"guarantorLastName\", \r\nCOUNT(gua.id) AS \"numberOfGuarantors\",\r\ng.display_name AS \"groupName\"\r\n\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\r\nINNER JOIN m_client mc ON mc.office_id=ounder.id\r\nINNER JOIN m_loan ml ON ml.client_id = mc.id\r\nINNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = \'loan_status_id\'\r\nINNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id\r\nLEFT JOIN m_loan_repayment_schedule ls ON ls.loan_id = ml.id\r\nLEFT JOIN m_currency cur ON cur.code = ml.currency_code\r\nLEFT JOIN m_group_client gc ON gc.client_id = mc.id\r\nLEFT JOIN m_group g ON g.id = gc.group_id\r\nLEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = ml.id\r\nWHERE ml.loan_status_id=300 AND mo.id=${officeId} AND (IFNULL(ml.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) \r\nAND (DATEDIFF(CURDATE(), ls.duedate) BETWEEN ${fromX} AND ${toY})\r\nAND (DATEDIFF(CURDATE(), laa.overdue_since_date_derived) BETWEEN ${overdueX} AND ${overdueY})\r\nGROUP BY ml.id\r\nORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no','Loan Payments Due between fromX to toY days for clients in arrears between overdueX and overdueY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (174,'Loan payments received (Active Loans)','SMS','NonTriggered','Loan','SELECT \r\nmc.id AS \"id\", \r\nmc.firstname AS \"firstName\",\r\nmc.middlename AS \"middleName\",\r\nmc.lastname AS \"lastName\",\r\nmc.display_name AS \"fullName\",\r\nmc.mobile_no AS \"mobileNo\", \r\nml.principal_amount AS \"loanAmount\", \r\n(IFNULL(ml.principal_outstanding_derived, 0) + IFNULL(ml.interest_outstanding_derived, 0) + IFNULL(ml.fee_charges_outstanding_derived, 0) + IFNULL(ml.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nounder.id AS \"officeNumber\", \r\nml.account_no AS \"loanAccountNumber\",\r\nSUM(lt.amount) AS \"repaymentAmount\"\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\r\nINNER JOIN m_client mc ON mc.office_id=ounder.id\r\nINNER JOIN m_loan ml ON ml.client_id = mc.id\r\nINNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = \'loan_status_id\'\r\nINNER JOIN m_loan_transaction lt ON lt.loan_id = ml.id\r\nINNER JOIN m_appuser au ON au.id = lt.createdby_id\r\nLEFT JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id\r\nLEFT JOIN m_payment_detail mpd ON mpd.id=lt.payment_detail_id\r\nLEFT JOIN m_currency cur ON cur.code = ml.currency_code\r\nLEFT JOIN m_group_client gc ON gc.client_id = mc.id\r\nLEFT JOIN m_group g ON g.id = gc.group_id\r\nLEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = ml.id\r\nWHERE ml.loan_status_id=300 AND mo.id=${officeId} AND (IFNULL(ml.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND (DATEDIFF(CURDATE(), lt.transaction_date) BETWEEN ${fromX} AND ${toY}) AND lt.is_reversed=0 AND lt.transaction_type_enum=2 AND laa.loan_id IS NULL\r\nGROUP BY ml.id\r\nORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no','Payments received in the last fromX to toY days for any loan with the status Active (on-time)',0,1,0); +INSERT INTO `stretchy_report` VALUES (175,'Loan payments received (Overdue Loans)','SMS','NonTriggered','Loan','SELECT \r\nml.id AS \"loanId\", \r\nmc.id AS \"id\", \r\nmc.firstname AS \"firstName\",\r\nmc.middlename AS \"middleName\",\r\nmc.lastname AS \"lastName\",\r\nmc.display_name AS \"fullName\",\r\nmc.mobile_no AS \"mobileNo\", \r\nml.principal_amount AS \"loanAmount\", \r\n(IFNULL(ml.principal_outstanding_derived, 0) + IFNULL(ml.interest_outstanding_derived, 0) + IFNULL(ml.fee_charges_outstanding_derived, 0) + IFNULL(ml.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nounder.id AS \"officeNumber\", \r\nml.account_no AS \"loanAccountNumber\",\r\nSUM(lt.amount) AS \"repaymentAmount\"\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\r\nINNER JOIN m_client mc ON mc.office_id=ounder.id\r\nINNER JOIN m_loan ml ON ml.client_id = mc.id\r\nINNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = \'loan_status_id\'\r\nINNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id\r\nINNER JOIN m_loan_transaction lt ON lt.loan_id = ml.id\r\nINNER JOIN m_appuser au ON au.id = lt.created_by\r\nLEFT JOIN m_payment_detail mpd ON mpd.id=lt.payment_detail_id\r\nLEFT JOIN m_currency cur ON cur.code = ml.currency_code\r\nLEFT JOIN m_group_client gc ON gc.client_id = mc.id\r\nLEFT JOIN m_group g ON g.id = gc.group_id\r\nLEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = ml.id\r\nWHERE ml.loan_status_id=300 AND mo.id=${officeId} AND (IFNULL(ml.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND (DATEDIFF(CURDATE(), lt.transaction_date) BETWEEN ${fromX} AND ${toY}) AND (DATEDIFF(CURDATE(), laa.overdue_since_date_derived) BETWEEN ${overdueX} AND ${overdueY}) AND lt.is_reversed=0 AND lt.transaction_type_enum=2\r\nGROUP BY ml.id\r\nORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no','Payments received in the last fromX to toY days for any loan with the status Overdue (arrears) between overdueX and overdueY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (176,'Happy Birthday','SMS','NonTriggered','Client','SELECT \r\nc.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\", \r\nc.date_of_birth AS \"dateOfBirth\",\r\nIF(c.date_of_birth IS NULL, 0, CEIL(DATEDIFF (NOW(), c.date_of_birth)/365)) AS \"age\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nLEFT JOIN m_staff ms ON ms.id = c.staff_id\r\nWHERE o.id = ${officeId} AND c.status_enum = 300 AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND c.date_of_birth IS NOT NULL AND (DAY(c.date_of_birth)=DAY(NOW())) AND (MONTH(c.date_of_birth)=MONTH(NOW()))\r\nORDER BY ounder.hierarchy, c.account_no','This sends a message to all clients with the status Active on their Birthday',0,1,0); +INSERT INTO `stretchy_report` VALUES (177,'Loan fully repaid','SMS','NonTriggered','Loan','SELECT \r\nc.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", \r\nl.principal_amount AS \"loanAmount\",\r\n(IFNULL(l.principal_outstanding_derived, 0) + IFNULL(l.interest_outstanding_derived, 0) + IFNULL(l.fee_charges_outstanding_derived, 0) + IFNULL(l.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nl.principal_disbursed_derived AS \"loanDisbursed\",\r\no.id AS \"officeNumber\",\r\nl.account_no AS \"loanAccountId\",\r\ngua.lastname AS \"guarantorLastName\", COUNT(gua.id) AS \"numberOfGuarantors\",\r\nls.duedate AS \"dueDate\",\r\nlaa.total_overdue_derived AS \"totalDue\",\r\ngp.display_name AS \"groupName\",\r\nl.total_repayment_derived AS \"totalFullyPaid\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_loan l ON l.client_id = c.id\r\nLEFT JOIN m_staff lo ON lo.id = l.loan_officer_id\r\nLEFT JOIN m_currency cur ON cur.code = l.currency_code\r\nLEFT JOIN m_group_client gc ON gc.client_id = c.id\r\nLEFT JOIN m_group gp ON gp.id = l.group_id\r\nLEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = l.id\r\nLEFT JOIN m_loan_arrears_aging laa ON laa.loan_id=l.id\r\nWHERE o.id = ${officeId} AND (IFNULL(l.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND \r\n(DATEDIFF(CURDATE(), l.closedon_date) BETWEEN ${fromX} AND ${toY})\r\n AND (l.loan_status_id IN (600, 700))\r\nGROUP BY l.id\r\nORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no','All loans that have been fully repaid (Closed or Overpaid) in the last fromX to toY days',0,1,0); +INSERT INTO `stretchy_report` VALUES (178,'Loan outstanding after final instalment date','SMS','NonTriggered','Loan','SELECT \r\nc.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", \r\nl.principal_amount AS \"loanAmount\",\r\no.id AS \"officeNumber\",\r\n(IFNULL(l.principal_outstanding_derived, 0) + IFNULL(l.interest_outstanding_derived, 0) + IFNULL(l.fee_charges_outstanding_derived, 0) + IFNULL(l.penalty_charges_outstanding_derived, 0)) AS \"loanOutstanding\",\r\nl.principal_disbursed_derived AS \"loanDisbursed\",\r\nls.duedate AS \"paymentDueDate\",\r\n(IFNULL(SUM(ls.principal_amount),0) - IFNULL(SUM(ls.principal_writtenoff_derived),0)\r\n + IFNULL(SUM(ls.interest_amount),0) - IFNULL(SUM(ls.interest_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.interest_waived_derived),0)\r\n + IFNULL(SUM(ls.fee_charges_amount),0) - IFNULL(SUM(ls.fee_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.fee_charges_waived_derived),0)\r\n + IFNULL(SUM(ls.penalty_charges_amount),0) - IFNULL(SUM(ls.penalty_charges_writtenoff_derived),0) \r\n - IFNULL(SUM(ls.penalty_charges_waived_derived),0)\r\n) AS \"totalDue\",\r\nlaa.total_overdue_derived AS \"totalOverdue\",\r\nl.account_no AS \"loanAccountId\",\r\ngua.lastname AS \"guarantorLastName\",\r\nCOUNT(gua.id) AS \"numberOfGuarantors\",\r\ngp.display_name AS \"groupName\"\r\n\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_loan l ON l.client_id = c.id\r\nLEFT JOIN m_staff lo ON lo.id = l.loan_officer_id\r\nLEFT JOIN m_currency cur ON cur.code = l.currency_code\r\nLEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id\r\nLEFT JOIN m_group_client gc ON gc.client_id = c.id\r\nLEFT JOIN m_group gp ON gp.id = l.group_id\r\nLEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id\r\nLEFT JOIN m_guarantor gua ON gua.loan_id = l.id\r\nWHERE o.id = ${officeId} AND (IFNULL(l.loan_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND l.loan_status_id = 300 AND l.expected_maturedon_date < CURDATE() \r\nAND (DATEDIFF(CURDATE(), l.expected_maturedon_date) BETWEEN ${fromX} AND ${toY})\r\nGROUP BY l.id\r\nORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no','All active loans (with an outstanding balance) between fromX to toY days after the final instalment date on their loan schedule',0,1,0); +INSERT INTO `stretchy_report` VALUES (179,'Loan Repayment','SMS','Triggered',NULL,'select ml.id as loanId,mc.id, mc.firstname, ifnull(mc.middlename,\'\') as middlename, mc.lastname, mc.display_name as FullName, mobile_no as mobileNo, mc.group_name as GroupName, round(ml.principal_amount, ml.currency_digits) as LoanAmount, round(ml.`total_outstanding_derived`, ml.currency_digits) as LoanOutstanding,\nml.`account_no` as LoanAccountId, round(mlt.amountPaid, ml.currency_digits) as repaymentAmount\nFROM m_office mo\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\')\nAND ounder.hierarchy like CONCAT(\'.\', \'%\')\nLEFT JOIN (\n select \n ml.id as loanId, \n ifnull(mc.id,mc2.id) as id, \n ifnull(mc.firstname,mc2.firstname) as firstname, \n ifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, \n ifnull(mc.lastname,mc2.lastname) as lastname, \n ifnull(mc.display_name,mc2.display_name) as display_name, \n ifnull(mc.status_enum,mc2.status_enum) as status_enum,\n ifnull(mc.mobile_no,mc2.mobile_no) as mobile_no,\n ifnull(mg.office_id,mc2.office_id) as office_id,\n ifnull(mg.staff_id,mc2.staff_id) as staff_id,\n mg.id as group_id, \nmg.display_name as group_name\n from\n m_loan ml\n left join m_group mg on mg.id = ml.group_id\n left join m_group_client mgc on mgc.group_id = mg.id\n left join m_client mc on mc.id = mgc.client_id\n left join m_client mc2 on mc2.id = ml.client_id\n order by loanId\n ) mc on mc.office_id = ounder.id\nright join m_loan as ml on mc.loanId = ml.id\nright join(\nselect mlt.amount as amountPaid,mlt.id,mlt.loan_id\nfrom m_loan_transaction mlt\nwhere mlt.is_reversed = 0 \ngroup by mlt.loan_id\n) as mlt on mlt.loan_id = ml.id\nright join m_loan_repayment_schedule as mls1 on ml.id = mls1.loan_id and mls1.`completed_derived` = 0\nand mls1.installment = (SELECT MIN(installment) from m_loan_repayment_schedule where loan_id = ml.id and duedate <= CURDATE() and completed_derived=0)\nwhere mc.status_enum = 300 and mobile_no is not null and ml.`loan_status_id` = 300\nand (mo.id = ${officeId} or ${officeId} = -1)\nand (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1)\nand (ml.loan_type_enum = ${loanType} or ${loanType} = -1)\nand ml.id in (select mla.loan_id from m_loan_arrears_aging mla)\ngroup by ml.id','Loan Repayment',0,0,0); +INSERT INTO `stretchy_report` VALUES (180,'Loan Approved','SMS','Triggered',NULL,'SELECT mc.id, mc.firstname, mc.middlename as middlename, mc.lastname, mc.display_name as FullName, mc.mobile_no as mobileNo, mc.group_name as GroupName, mo.name as officename, ml.id as loanId, ml.account_no as accountnumber, ml.principal_amount_proposed as loanamount, ml.annual_nominal_interest_rate as annualinterestrate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\') AND ounder.hierarchy like CONCAT(\'.\', \'%\') LEFT JOIN ( select ml.id as loanId, ifnull(mc.id,mc2.id) as id, ifnull(mc.firstname,mc2.firstname) as firstname, ifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, ifnull(mc.lastname,mc2.lastname) as lastname, ifnull(mc.display_name,mc2.display_name) as display_name, ifnull(mc.status_enum,mc2.status_enum) as status_enum, ifnull(mc.mobile_no,mc2.mobile_no) as mobile_no, ifnull(mg.office_id,mc2.office_id) as office_id, ifnull(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id order by loanId ) mc on mc.office_id = ounder.id left join m_loan ml on ml.id = mc.loanId WHERE mc.status_enum = 300 and mc.mobile_no is not null and (mo.id = ${officeId} or ${officeId} = -1) and (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1)and (ml.id = ${loanId} or ${loanId} = -1)and (mc.id = ${clientId} or ${clientId} = -1)and (mc.group_id = ${groupId} or ${groupId} = -1)and (ml.loan_type_enum = ${loanType} or ${loanType} = -1)','Loan and client data of approved loan',0,0,0); +INSERT INTO `stretchy_report` VALUES (181,'Loan Rejected','SMS','Triggered',NULL,'SELECT mc.id, mc.firstname, mc.middlename as middlename, mc.lastname, mc.display_name as FullName, mc.mobile_no as mobileNo, mc.group_name as GroupName, mo.name as officename, ml.id as loanId, ml.account_no as accountnumber, ml.principal_amount_proposed as loanamount, ml.annual_nominal_interest_rate as annualinterestrate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\') AND ounder.hierarchy like CONCAT(\'.\', \'%\') LEFT JOIN ( select ml.id as loanId, ifnull(mc.id,mc2.id) as id, ifnull(mc.firstname,mc2.firstname) as firstname, ifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, ifnull(mc.lastname,mc2.lastname) as lastname, ifnull(mc.display_name,mc2.display_name) as display_name, ifnull(mc.status_enum,mc2.status_enum) as status_enum, ifnull(mc.mobile_no,mc2.mobile_no) as mobile_no, ifnull(mg.office_id,mc2.office_id) as office_id, ifnull(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id order by loanId ) mc on mc.office_id = ounder.id left join m_loan ml on ml.id = mc.loanId WHERE mc.status_enum = 300 and mc.mobile_no is not null and (mo.id = ${officeId} or ${officeId} = -1) and (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1) and (ml.id = ${loanId} or ${loanId} = -1) and (mc.id = ${clientId} or ${clientId} = -1) and (mc.group_id = ${groupId} or ${groupId} = -1) and (ml.loan_type_enum = ${loanType} or ${loanType} = -1)','Loan and client data of rejected loan',0,0,0); +INSERT INTO `stretchy_report` VALUES (182,'Client Rejected','SMS','Triggered','Client','SELECT c.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nWHERE o.id = ${officeId} AND c.id = ${clientId} AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId})','Client Rejection',0,1,0); +INSERT INTO `stretchy_report` VALUES (183,'Client Activated','SMS','Triggered','Client','SELECT c.id AS \"id\", \r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\", CONCAT(REPEAT(\"..\", ((LENGTH(ounder.`hierarchy`) - LENGTH(\r\nREPLACE(ounder.`hierarchy`, \'.\', \'\')) - 1))), ounder.`name`) AS \"officeName\", \r\no.id AS \"officeNumber\"\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nLEFT JOIN r_enum_value r ON r.enum_name = \'status_enum\' AND r.enum_id = c.status_enum\r\nWHERE o.id = ${officeId} AND c.id = ${clientId} AND (IFNULL(c.staff_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId})','Client Activation',0,1,0); +INSERT INTO `stretchy_report` VALUES (184,'Savings Rejected','SMS','Triggered','Savings','SELECT \r\nc.id AS \"id\",\r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\",\r\ns.account_no AS \"savingsAccountNo\",\r\nounder.id AS \"officeNumber\",\r\nounder.name AS \"officeName\"\r\n\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_savings_account s ON s.client_id = c.id\r\nJOIN m_savings_product sp ON sp.id = s.product_id\r\nLEFT JOIN m_staff st ON st.id = s.field_officer_id\r\nLEFT JOIN m_currency cur ON cur.code = s.currency_code\r\nWHERE o.id = ${officeId} AND (IFNULL(s.field_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND s.id = ${savingsId}','Savings Rejected',0,1,0); +INSERT INTO `stretchy_report` VALUES (185,'Savings Activated','SMS','Triggered','Savings','SELECT \r\nc.id AS \"id\",\r\nc.firstname AS \"firstName\",\r\nc.middlename AS \"middleName\",\r\nc.lastname AS \"lastName\",\r\nc.display_name AS \"fullName\",\r\nc.mobile_no AS \"mobileNo\",\r\ns.account_no AS \"savingsAccountNo\",\r\nounder.id AS \"officeNumber\",\r\nounder.name AS \"officeName\"\r\n\r\nFROM m_office o\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, \'%\')\r\nJOIN m_client c ON c.office_id = ounder.id\r\nJOIN m_savings_account s ON s.client_id = c.id\r\nJOIN m_savings_product sp ON sp.id = s.product_id\r\nLEFT JOIN m_staff st ON st.id = s.field_officer_id\r\nLEFT JOIN m_currency cur ON cur.code = s.currency_code\r\nWHERE o.id = ${officeId} AND (IFNULL(s.field_officer_id, -10) = ${loanOfficerId} OR \"-1\" = ${loanOfficerId}) AND s.id = ${savingsId}','Savings Activation',0,1,0); +INSERT INTO `stretchy_report` VALUES (186,'Savings Deposit','SMS','Triggered',NULL,'SELECT sc.savingsId AS savingsId, sc.id AS clientId, sc.firstname, IFNULL(sc.middlename,\'\') AS middlename, sc.lastname, sc.display_name AS FullName, sc.mobile_no AS mobileNo,\r\nms.`account_no` AS savingsAccountNo, ROUND(mst.amountPaid, ms.currency_digits) AS depositAmount, ms.account_balance_derived AS balance, \r\nmst.transactionDate AS transactionDate\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\') AND ounder.hierarchy LIKE CONCAT(\'.\', \'%\')\r\nLEFT JOIN (\r\nSELECT \r\n sa.id AS savingsId, mc.id AS id, mc.firstname AS firstname, mc.middlename AS middlename, mc.lastname AS lastname, \r\n mc.display_name AS display_name, mc.status_enum AS status_enum, \r\n mc.mobile_no AS mobile_no, mc.office_id AS office_id, \r\n mc.staff_id AS staff_id\r\nFROM\r\nm_savings_account sa\r\nLEFT JOIN m_client mc ON mc.id = sa.client_id\r\nORDER BY savingsId) sc ON sc.office_id = ounder.id\r\nRIGHT JOIN m_savings_account AS ms ON sc.savingsId = ms.id\r\nRIGHT JOIN(\r\nSELECT st.amount AS amountPaid, st.id, st.savings_account_id, st.id AS savingsTransactionId, st.transaction_date AS transactionDate\r\nFROM m_savings_account_transaction st\r\nWHERE st.is_reversed = 0\r\nGROUP BY st.savings_account_id\r\n) AS mst ON mst.savings_account_id = ms.id\r\nWHERE sc.mobile_no IS NOT NULL AND (mo.id = ${officeId} OR ${officeId} = -1) AND (sc.staff_id = ${loanOfficerId} OR ${loanOfficerId} = -1) AND mst.savingsTransactionId = ${savingsTransactionId}','Savings Deposit',0,1,0); +INSERT INTO `stretchy_report` VALUES (187,'Savings Withdrawal','SMS','Triggered',NULL,'SELECT sc.savingsId AS savingsId, sc.id AS clientId, sc.firstname, IFNULL(sc.middlename,\'\') AS middlename, sc.lastname, sc.display_name AS FullName, sc.mobile_no AS mobileNo,\r\nms.`account_no` AS savingsAccountNo, ROUND(mst.amountPaid, ms.currency_digits) AS withdrawAmount, ms.account_balance_derived AS balance, \r\nmst.transactionDate AS transactionDate\r\nFROM m_office mo\r\nJOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, \'%\') AND ounder.hierarchy LIKE CONCAT(\'.\', \'%\')\r\nLEFT JOIN (\r\nSELECT \r\n sa.id AS savingsId, mc.id AS id, mc.firstname AS firstname, mc.middlename AS middlename, mc.lastname AS lastname, \r\n mc.display_name AS display_name, mc.status_enum AS status_enum, \r\n mc.mobile_no AS mobile_no, mc.office_id AS office_id, \r\n mc.staff_id AS staff_id\r\nFROM\r\nm_savings_account sa\r\nLEFT JOIN m_client mc ON mc.id = sa.client_id\r\nORDER BY savingsId) sc ON sc.office_id = ounder.id\r\nRIGHT JOIN m_savings_account AS ms ON sc.savingsId = ms.id\r\nRIGHT JOIN(\r\nSELECT st.amount AS amountPaid, st.id, st.savings_account_id, st.id AS savingsTransactionId, st.transaction_date AS transactionDate\r\nFROM m_savings_account_transaction st\r\nWHERE st.is_reversed = 0\r\nGROUP BY st.savings_account_id\r\n) AS mst ON mst.savings_account_id = ms.id\r\nWHERE sc.mobile_no IS NOT NULL AND (mo.id = ${officeId} OR ${officeId} = -1) AND (sc.staff_id = ${loanOfficerId} OR ${loanOfficerId} = -1) AND mst.savingsTransactionId = ${savingsTransactionId}','Savings Withdrawal',0,1,0); +INSERT INTO `stretchy_report` VALUES (188,'ReportCategoryList','Table',NULL,'(NULL)','(NULL)','(NULL)',1,1,0); +INSERT INTO `stretchy_report` VALUES (189,'FullReportList','Table',NULL,'(NULL)','(NULL)','(NULL)',1,1,0); +INSERT INTO `stretchy_report` VALUES (190,'Loan Approved - Email','Email','Triggered',NULL,'select ml.id as loanId, ifnull(mc.id,mc2.id) as id, ifnull(mc.firstname,mc2.firstname) as firstname, \nifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, ifnull(mc.lastname,mc2.lastname) as lastname, \nifnull(mc.display_name,mc2.display_name) as display_name, ifnull(mc.status_enum,mc2.status_enum) as status_enum, \nifnull(mc.mobile_no,mc2.mobile_no) as mobile_no, ifnull(mg.office_id,mc2.office_id) as office_id, ifnull(mg.staff_id,mc2.staff_id) as staff_id, \nmg.id as group_id, mg.display_name as group_name, ifnull(mc.email_address,mc2.email_address) as emailAddress\nfrom m_loan ml left join m_group mg on mg.id = ml.group_id \nleft join m_group_client mgc on mgc.group_id = mg.id \nleft join m_client mc on mc.id = mgc.client_id \nleft join m_client mc2 on mc2.id = ml.client_id\nWHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId}\n','Loan and client data of approved loan',0,1,0); +INSERT INTO `stretchy_report` VALUES (191,'Loan Rejected - Email','Email','Triggered',NULL,'select ml.id as loanId, ifnull(mc.id,mc2.id) as id, ifnull(mc.firstname,mc2.firstname) as firstname, \nifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, ifnull(mc.lastname,mc2.lastname) as lastname, \nifnull(mc.display_name,mc2.display_name) as display_name, ifnull(mc.status_enum,mc2.status_enum) as status_enum, \nifnull(mc.mobile_no,mc2.mobile_no) as mobile_no, ifnull(mg.office_id,mc2.office_id) as office_id, ifnull(mg.staff_id,mc2.staff_id) as staff_id, \nmg.id as group_id, mg.display_name as group_name, ifnull(mc.email_address,mc2.email_address) as emailAddress\nfrom m_loan ml left join m_group mg on mg.id = ml.group_id \nleft join m_group_client mgc on mgc.group_id = mg.id \nleft join m_client mc on mc.id = mgc.client_id \nleft join m_client mc2 on mc2.id = ml.client_id\nWHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId}\n','Loan and client data of rejected loan',0,1,0); +INSERT INTO `stretchy_report` VALUES (192,'Loan Repayment - Email','Email','Triggered',NULL,'select ml.id as loanId, ifnull(mc.id,mc2.id) as id, ifnull(mc.firstname,mc2.firstname) as firstname, \nifnull(mc.middlename,ifnull(mc2.middlename,(\'\'))) as middlename, ifnull(mc.lastname,mc2.lastname) as lastname, \nifnull(mc.display_name,mc2.display_name) as display_name, ifnull(mc.status_enum,mc2.status_enum) as status_enum, \nifnull(mc.mobile_no,mc2.mobile_no) as mobile_no, ifnull(mg.office_id,mc2.office_id) as office_id, ifnull(mg.staff_id,mc2.staff_id) as staff_id, \nmg.id as group_id, mg.display_name as group_name, ifnull(mc.email_address,mc2.email_address) as emailAddress, lt.amount as repaymentAmount \nfrom m_loan_transaction lt join m_loan ml on ml.id=lt.loan_id left join m_group mg on mg.id = ml.group_id \nleft join m_group_client mgc on mgc.group_id = mg.id \nleft join m_client mc on mc.id = mgc.client_id \nleft join m_client mc2 on mc2.id = ml.client_id\nWHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId} and lt.id = ${loanTransactionId}\n','Loan and client data of rejected loan',0,1,0); +INSERT INTO `stretchy_report` VALUES (193,'Trial Balance Table','Table',NULL,'Accounting','select * from (select debits.glcode as \'glcode\', debits.name as \'name\', IF(debits.type = 1 or debits.type = 5, ifnull(debits.debitamount,0)-ifnull(credits.creditamount,0),null) as \'debit\', IF(debits.type = 4 or debits.type = 3 or debits.type = 2, ifnull(credits.creditamount,0)-ifnull(debits.debitamount,0),null) as \'credit\' from (select acc_gl_account.gl_code as \'glcode\', name,sum(amount) as \'debitamount\', acc_gl_account.classification_enum as \'type\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) debits LEFT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\', name as \'name\', sum(amount) as \'creditamount\', acc_gl_account.classification_enum as \'type\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) credits on debits.glcode=credits.glcode union select credits.glcode as \'glcode\', credits.name as \'name\', IF(credits.type = 1 or credits.type = 5, ifnull(debits.debitamount,0)-ifnull(credits.creditamount,0),null) as \'debit\', IF(credits.type = 4 or credits.type = 3 or credits.type = 2, ifnull(credits.creditamount,0)-ifnull(debits.debitamount,0),null) as \'credit\' from (select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\', acc_gl_account.classification_enum as \'type\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) debits RIGHT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\',name as \'name\', sum(amount) as \'creditamount\', acc_gl_account.classification_enum as \'type\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) credits on debits.glcode=credits.glcode) as fullouterjoinresult order by glcode ','Trial Balance Report',1,1,0); +INSERT INTO `stretchy_report` VALUES (194,'GeneralLedgerReport Table','Table',NULL,'Accounting','select details.edate entry_date, details.account_name account_name, sum(details.debit_amount) debit_amount, sum(details.credit_amount) credit_amount, details.description, ifnull(opb.openingbalance, 0) openingbalance, if(details.manual_entry = 1, details.id, \'0system\') transtype, if(actype in (1, 5), (sum(details.debit_amount) - sum(details.credit_amount)), (sum(details.credit_amount) - sum(details.debit_amount))) as cumulative_sum from ( select a.account_id acid1 , concat(gl.gl_code, \'-\', gl.name) as report_header , gl.classification_enum actype , gl.gl_code as reportid , j1.entry_date edate , concat(gl1.gl_code, \'-\', gl1.name) as account_name , if (j1.type_enum = 1, j1.amount, 0) as debit_amount , if (j1.type_enum = 2, j1.amount , 0) as credit_amount , j1.id , j1.office_id , j1.transaction_id , j1.type_enum , j1.office_running_balance as aftertxn , j1.description as description , j1.transaction_id as transactionid , a.manual_entry from acc_gl_journal_entry j1 inner join ( select distinct je.transaction_id tid, je.account_id, je.manual_entry from m_office o left join m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\') inner join acc_gl_journal_entry je on je.office_id = ounder.id where je.account_id = ${GLAccountNO} and o.id = ${officeId} and je.entry_date between \'${startDate}\' and \'${endDate}\')a on a.tid = j1.transaction_id and j1.account_id <> ${GLAccountNO} left join acc_gl_account gl on gl.id = a.account_id left join acc_gl_account gl1 on gl1.id = j1.account_id order by j1.entry_date, j1.id) details left join ( select je.account_id acid2, if(aga1.classification_enum in (1, 5), (sum(if(je.type_enum = 2, ifnull(je.amount, 0), 0))- sum(if(je.type_enum = 1, ifnull(je.amount, 0), 0))), (sum(if(je.type_enum = 1, ifnull(je.amount, 0), 0))- sum(if(je.type_enum = 2, ifnull(je.amount, 0), 0)))) openingbalance from m_office o left join m_office ounder on ounder.hierarchy like concat(o.hierarchy, \'%\') left join acc_gl_journal_entry je on je.office_id = ounder.id left join acc_gl_account aga1 on aga1.id = je.account_id where je.entry_date >= DATE_SUB(\'${startDate}\', INTERVAL 2 day) and je.office_running_balance is not null and (o.id = ${officeId}) and je.account_id = ${GLAccountNO} group by je.account_id)opb on opb.acid2 = details.acid1 left join ( select name branchname from m_office mo where mo.id = 1)branch on details.office_id = ${officeId} group by details.edate, details.acid1, details.report_header, details.reportid, details.account_name, branch.branchname , transtype, details.description, openingbalance ',NULL,0,1,0); +INSERT INTO `stretchy_report` VALUES (195,'Income Statement Table','Table',NULL,'Accounting','(select * from ( select debits.glcode as \'glcode\', debits.name as \'name\', \'Expense\'as IncomeOrExpense, (ifnull(debits.debitamount,0)-ifnull(credits.creditamount,0)) as \'balance\' from (select acc_gl_account.gl_code as \'glcode\',name,sum(amount) as \'debitamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by gl_code order by glcode) debits LEFT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\',name,sum(amount) as \'creditamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by gl_code) credits on debits.glcode=credits.glcode union select credits.glcode as \'glcode\', credits.name as \'name\', \'Expense\'as IncomeOrExpense, (ifnull(debits.debitamount,0)-ifnull(credits.creditamount,0)) as \'balance\' from (select acc_gl_account.gl_code as \'glcode\',name,sum(amount) as \'debitamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by gl_code order by glcode) debits RIGHT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\',name as \'name\',sum(amount) as \'creditamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by gl_code order by glcode) credits on debits.glcode=credits.glcode)as fullouterjoinresult order by glcode) UNION (select * from ( select debits.glcode as \'glcode\', debits.name as \'name\', \'Income\' as IncomeOrExpense, (ifnull(credits.creditamount,0)-ifnull(debits.debitamount,0)) as \'balance\' from (select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) debits LEFT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\',name,sum(amount) as \'creditamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) credits on debits.glcode=credits.glcode union select credits.glcode as \'glcode\', credits.name as \'name\', \'Income\' as IncomeOrExpense, (ifnull(credits.creditamount,0)-ifnull(debits.debitamount,0)) as \'balance\' from (select acc_gl_account.gl_code as \'glcode\',name,sum(amount) as \'debitamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=2 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) debits RIGHT OUTER JOIN (select acc_gl_account.gl_code as \'glcode\',name as \'name\',sum(amount) as \'creditamount\' from acc_gl_journal_entry,acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum=1 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between date(\'${startDate}\') and date(\'${endDate}\') and (acc_gl_journal_entry.office_id= ${officeId} or ${officeId}=1) group by glcode order by glcode) credits on debits.glcode=credits.glcode)as fullouterjoinresult order by glcode)','Profit and Loss Statement',1,1,0); +INSERT INTO `stretchy_report` VALUES (196,'Balance Sheet Table','Table',NULL,'Accounting','( select debits.glcode as \'glcode\', debits.name as \'name\', \'Assets\' as BalanceType, ( ifnull(debits.debitamount, 0)- ifnull(credits.creditamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits LEFT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode ) union ( select credits.glcode as \'glcode\', credits.name as \'name\', \'Assets\' as BalanceType, ( ifnull(debits.debitamount, 0)- ifnull(credits.creditamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits RIGHT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode ) UNION ( select debits.glcode as \'glcode\', debits.name as \'name\', \'Liability\' as BalanceType, ( ifnull(credits.creditamount, 0)- ifnull(debits.debitamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits LEFT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode ) union ( select credits.glcode as \'glcode\', credits.name as \'name\', \'Liability\' as BalanceType, ( ifnull(credits.creditamount, 0)- ifnull(debits.debitamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits RIGHT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode ) UNION ( select debits.glcode as \'glcode\', debits.name as \'name\', \'Equity\' as BalanceType, ( ifnull(credits.creditamount, 0)- ifnull(debits.debitamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits LEFT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode ) UNION ( select credits.glcode as \'glcode\', credits.name as \'name\', \'Equity\' as BalanceType, ( ifnull(credits.creditamount, 0)- ifnull(debits.debitamount, 0) ) as \'balance\' from ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'debitamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) debits RIGHT OUTER JOIN ( select acc_gl_account.gl_code as \'glcode\', name, sum(amount) as \'creditamount\' from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= date(\'${endDate}\') and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode order by glcode ) credits on debits.glcode = credits.glcode )','Balance Sheet',1,1,0); +INSERT INTO `stretchy_report` VALUES (197,'Trial Balance Summary Report','Table',NULL,'Accounting','SELECT * FROM ( SELECT \'${endDate}\' AS PostingDate, loan.pname AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS BeginningBalance, (loan.debitamount * 1) AS DebitMovement, (loan.creditamount *-1) AS CreditMovement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS EndingBalance FROM ( SELECT g.pname, g.gl_code, g.glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM ( SELECT ag.gl_code, pl.name AS pname, ag.name AS glname FROM acc_gl_account ag JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 JOIN m_product_loan pl ON pl.id = am.product_id ) g LEFT JOIN ( SELECT lp.name AS productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account JOIN acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id JOIN m_product_loan lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 1 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date < \'${endDate}\' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode AND debits.productname = g.pname LEFT JOIN ( SELECT lp.name AS productname, account_id, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 END ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 END ) AS creditamount FROM acc_gl_journal_entry JOIN acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id JOIN m_product_loan lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 1 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date = \'${endDate}\' AND ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, account_id, glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode AND loanproduct.productname = g.pname ) loan UNION SELECT \'${endDate}\' AS PostingDate, loan.pname AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS Beginning_Balance, loan.debitamount AS Debit_Movement, loan.creditamount AS Credit_Movement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS Ending_Balance FROM ( SELECT g.pname, g.gl_code, g.glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM ( SELECT ag.gl_code, pl.name AS pname, ag.name AS glname FROM acc_gl_account ag JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 2 JOIN m_savings_product pl ON pl.id = am.product_id ) g LEFT join ( SELECT lp.name productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account join acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_savings_account m ON m.id = acc_gl_journal_entry.entity_id JOIN m_savings_product lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 2 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date < \'${endDate}\' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode AND debits.productname = g.pname left JOIN ( SELECT lp.name productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount from acc_gl_journal_entry join acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_savings_account m ON m.id = acc_gl_journal_entry.entity_id JOIN m_savings_product lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 2 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date = \'${endDate}\' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode AND loanproduct.productname = g.pname ) loan UNION SELECT \'${endDate}\' AS PostingDate, \'manual\' AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS Beginning_Balance, loan.debitamount AS Debit_Movement, loan.creditamount AS Credit_Movement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS Ending_Balance FROM ( SELECT g.gl_code, g.name AS glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM acc_gl_account g LEFT join ( SELECT acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account JOIN acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id WHERE acc_gl_journal_entry.manual_entry = true and acc_gl_journal_entry.submitted_on_date < \'${endDate}\' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode left JOIN ( SELECT acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_journal_entry join acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id where acc_gl_journal_entry.manual_entry = true and acc_gl_journal_entry.submitted_on_date = \'${endDate}\' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode ) loan ) a where a.EndingBalance != 0 or a.DebitMovement != 0 or a.CreditMovement != 0 ','Trial Balance Summary Report',0,1,0); +INSERT INTO `stretchy_report` VALUES (198,'Transaction Summary Report','Table',NULL,'Accounting','SELECT \'${endDate}\' AS TransactionDate, a.product AS Product, ( SELECT enum_message_property FROM r_enum_value WHERE enum_name = \'transaction_type_enum\' and enum_id = a.transaction_type ) 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 IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 41, 43) 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, 41, 43) AND a.reversal_indicator = true then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20, 40, 42) AND a.reversal_indicator = false then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20, 40, 42) AND a.reversal_indicator = true then sum(a.amount) * -1 end AS Transaction_Amount 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 WHERE t.reversed_on_date = \'${endDate}\' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) ) a GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.chargetype, a.reversal_indicator, a.Allocation_Type order by 1, 2, 3, 4, 5, 6, 7 ','Transaction Summary Report',0,1,0); +INSERT INTO `stretchy_report` VALUES (199,'Trial Balance Summary Report with Asset Owner','Table',NULL,'Accounting','WITH retained_earning AS (SELECT DISTINCT \'${endDate}\' AS postingdate,\n lp.name AS product,\n gl_code AS glacct,\n COALESCE((SELECT name FROM acc_gl_account WHERE gl_code = e.gl_code),\n \'\') AS description,\n COALESCE(e.owner_external_id, \'self\') AS assetowner,\n SUM(opening_balance_amount) AS beginningbalance,\n 0 AS debitmovement,\n 0 AS creditmovement,\n SUM(opening_balance_amount) AS endingbalance,\n COALESCE(e.originator_external_ids, \'\') AS originator_external_ids\n FROM acc_gl_journal_entry_annual_summary e,\n m_product_loan lp\n WHERE e.office_id = ${officeId}\n AND lp.id = product_id\n AND EXTRACT(YEAR FROM e.year_end_date) < EXTRACT(YEAR FROM CAST(\'${endDate}\' AS DATE))\n GROUP BY gl_code, lp.name, office_id, owner_external_id, originator_external_ids),\n aggregated_date AS (SELECT MAX(aggregated_on_date_to) AS latest\n FROM m_journal_entry_aggregation_tracking\n WHERE aggregated_on_date_to < \'${endDate}\'),\n summary_snapshot_baseline_data AS (SELECT lp.NAME AS productname,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.NAME AS glname,\n CASE\n WHEN ags.external_owner_id IS NULL THEN 0\n ELSE ags.external_owner_id END AS assetowner,\n COALESCE(ags.originator_external_ids, \'\') AS originator_external_ids,\n SUM(ags.debit_amount) AS debitamount,\n SUM(ags.credit_amount) AS creditamount\n FROM acc_gl_account\n JOIN m_journal_entry_aggregation_summary ags\n ON acc_gl_account.id = ags.gl_account_id\n JOIN m_product_loan lp ON lp.id = ags.product_id\n WHERE ags.entity_type_enum = 1\n AND ags.manual_entry = FALSE\n AND ags.aggregated_on_date <= (SELECT latest FROM aggregated_date)\n AND (ags.office_id = ${officeId})\n GROUP BY productname, glcode, glname, assetowner, originator_external_ids),\n post_snapshot_delta_data AS (SELECT lp.NAME AS productname,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.NAME AS glname,\n CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount,\n COALESCE((SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \')\n FROM m_loan_originator_mapping mlom\n JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id\n WHERE mlom.loan_id = m.id), \'\') AS originator_external_ids\n FROM acc_gl_account\n JOIN acc_gl_journal_entry\n ON acc_gl_account.id = acc_gl_journal_entry.account_id\n JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id\n JOIN m_product_loan lp ON lp.id = m.product_id\n LEFT JOIN m_external_asset_owner_journal_entry_mapping aw\n ON aw.journal_entry_id = acc_gl_journal_entry.id\n WHERE acc_gl_journal_entry.entity_type_enum = 1\n AND acc_gl_journal_entry.manual_entry = FALSE\n AND (\n (SELECT latest FROM aggregated_date) IS NULL\n OR\n acc_gl_journal_entry.submitted_on_date > (SELECT latest FROM aggregated_date)\n )\n AND acc_gl_journal_entry.submitted_on_date < \'${endDate}\'\n AND (acc_gl_journal_entry.office_id = ${officeId})\n GROUP BY productname, glcode, glname, assetowner, originator_external_ids),\n merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname,\n COALESCE(s.glcode, p.glcode) AS glcode,\n COALESCE(s.glname, p.glname) AS glname,\n COALESCE(s.assetowner, p.assetowner, 0) AS assetowner,\n COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount,\n COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount,\n COALESCE(p.originator_external_ids, s.originator_external_ids, \'\') AS originator_external_ids\n FROM summary_snapshot_baseline_data s\n LEFT JOIN post_snapshot_delta_data p\n ON s.glcode = p.glcode\n AND s.productname = p.productname\n AND s.assetowner = p.assetowner\n AND s.originator_external_ids = p.originator_external_ids\n\n UNION ALL\n\n SELECT p.productname AS productname,\n p.glcode AS glcode,\n p.glname AS glname,\n COALESCE(p.assetowner, 0) AS assetowner,\n COALESCE(p.debitamount, 0) AS debitamount,\n COALESCE(p.creditamount, 0) AS creditamount,\n COALESCE(p.originator_external_ids, \'\') AS originator_external_ids\n FROM post_snapshot_delta_data p\n LEFT JOIN summary_snapshot_baseline_data s\n ON s.glcode = p.glcode\n AND s.productname = p.productname\n AND s.assetowner = p.assetowner\n AND s.originator_external_ids = p.originator_external_ids\n WHERE s.glcode IS NULL),\n current_cob_data AS (SELECT lp.name AS productname,\n account_id,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.name AS glname,\n CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount,\n COALESCE((SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \')\n FROM m_loan_originator_mapping mlom\n JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id\n WHERE mlom.loan_id = m.id), \'\') AS originator_external_ids\n FROM acc_gl_journal_entry\n JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id\n JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id\n JOIN m_product_loan lp ON lp.id = m.product_id\n LEFT JOIN m_external_asset_owner_journal_entry_mapping aw\n ON aw.journal_entry_id = acc_gl_journal_entry.id\n WHERE acc_gl_journal_entry.entity_type_enum = 1\n AND acc_gl_journal_entry.manual_entry = FALSE\n AND acc_gl_journal_entry.submitted_on_date = \'${endDate}\'\n AND (acc_gl_journal_entry.office_id = ${officeId})\n GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids)\n\nSELECT *\nFROM (SELECT *\n FROM retained_earning\n WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = \'Retained Earnings Prior Year\')\n\n UNION\n\n SELECT txnreport.postingdate,\n txnreport.product,\n txnreport.glacct,\n txnreport.description,\n txnreport.assetowner,\n (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance,\n txnreport.debitmovement AS debitmovement,\n txnreport.creditmovement AS creditmovement,\n (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance,\n txnreport.originator_external_ids AS originator_external_ids\n FROM (SELECT *\n FROM (SELECT DISTINCT \'${endDate}\' AS postingdate,\n loan.pname AS product,\n loan.gl_code AS glacct,\n loan.glname AS description,\n COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner),\n \'self\') AS assetowner,\n loan.openingbalance AS beginningbalance,\n (loan.debitamount * 1) AS debitmovement,\n (loan.creditamount * -1) AS creditmovement,\n (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance,\n loan.originator_external_ids AS originator_external_ids\n FROM (SELECT DISTINCT g.pname AS pname,\n g.gl_code AS gl_code,\n g.glname AS glname,\n COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner,\n COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance,\n COALESCE(c.debitamount, 0) AS debitamount,\n COALESCE(c.creditamount, 0) AS creditamount,\n COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids\n FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname\n FROM acc_gl_account ag\n JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1\n JOIN m_product_loan pl ON pl.id = am.product_id) g\n LEFT JOIN merged_historical_data mh\n ON g.gl_code = mh.glcode\n AND mh.productname = g.pname\n LEFT JOIN current_cob_data c\n ON g.gl_code = c.glcode\n AND c.productname = g.pname\n AND mh.assetowner = c.assetowner\n AND mh.originator_external_ids = c.originator_external_ids\n\n UNION ALL\n\n SELECT DISTINCT c.productname AS pname,\n c.glcode AS gl_code,\n c.glname AS glname,\n COALESCE(c.assetowner, 0) AS assetowner,\n 0 AS openingbalance,\n COALESCE(c.debitamount, 0) AS debitamount,\n COALESCE(c.creditamount, 0) AS creditamount,\n COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids\n FROM current_cob_data c\n LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids\n FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname\n FROM acc_gl_account ag\n JOIN acc_product_mapping am\n ON am.gl_account_id = ag.id AND am.product_type = 1\n JOIN m_product_loan pl ON pl.id = am.product_id) g3\n LEFT JOIN merged_historical_data mh\n ON g3.gl_code = mh.glcode\n AND mh.productname = g3.pname) matched\n ON matched.gl_code = c.glcode\n AND matched.pname = c.productname\n AND matched.assetowner = c.assetowner\n AND matched.originator_external_ids = c.originator_external_ids\n WHERE matched.gl_code IS NULL) loan) a) AS txnreport\n LEFT JOIN retained_earning summary\n ON txnreport.glacct = summary.glacct\n AND txnreport.assetowner = summary.assetowner\n AND summary.product = txnreport.product\n AND summary.originator_external_ids = txnreport.originator_external_ids) report\nWHERE report.endingbalance != 0\n OR report.debitmovement != 0\n OR report.creditmovement != 0\nORDER BY glacct','Trial Balance Summary Report with Asset Owner',0,1,0); +INSERT INTO `stretchy_report` VALUES (200,'Transaction Summary Report with Asset Owner','Table',NULL,'Accounting','WITH slt_except_charge_adj_and_accrual AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id)\n ELSE NULL END AS classification_name,\n t.transaction_type_enum,\n t.amount,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND\n e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n slt_charge_adj AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 26\n AND (t.office_id = ${officeId})),\n rlt_except_charge_adj_and_accrual AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id)\n ELSE NULL END AS classification_name,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND\n e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n rlt_charge_adj AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 26\n AND (t.office_id = ${officeId})),\n slt_cap_income_amortization AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id)\n ELSE NULL END AS classification_name,\n CASE\n WHEN t.overpayment_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS overpayment_portion_derived,\n CASE\n WHEN t.principal_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS principal_portion_derived,\n CASE\n WHEN t.interest_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS interest_portion_derived,\n CASE\n WHEN t.fee_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS fee_charges_portion_derived,\n CASE\n WHEN t.penalty_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS penalty_charges_portion_derived,\n map.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n JOIN m_loan_amortization_allocation_mapping map\n ON map.amortization_loan_transaction_id = t.id\n JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_id\n LEFT JOIN m_external_asset_owner_transfer e ON e.loan_id = t.loan_id AND\n e.settlement_date <\n \'${endDate}\' AND\n e.effective_date_to >=\n \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.is_reversed = false\n AND t.transaction_type_enum IN (36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n rlt_cap_income_amortization AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id)\n ELSE NULL END AS classification_name,\n CASE\n WHEN t.overpayment_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS overpayment_portion_derived,\n CASE\n WHEN t.principal_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS principal_portion_derived,\n CASE\n WHEN t.interest_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS interest_portion_derived,\n CASE\n WHEN t.fee_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS fee_charges_portion_derived,\n CASE\n WHEN t.penalty_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS penalty_charges_portion_derived,\n map.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n JOIN m_loan_amortization_allocation_mapping map\n ON map.amortization_loan_transaction_id = t.id\n JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_id\n LEFT JOIN m_external_asset_owner_transfer e ON e.loan_id = t.loan_id AND\n e.settlement_date <\n \'${endDate}\' AND\n e.effective_date_to >=\n \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.is_reversed = true\n AND t.transaction_type_enum IN (36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n active_external_asset_owner_transfers AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n p.name,\n t.owner_id,\n t.previous_owner_id,\n dt.principal_outstanding_derived,\n dt.interest_outstanding_derived,\n dt.fee_charges_outstanding_derived,\n dt.penalty_charges_outstanding_derived,\n dt.total_overpaid_derived,\n l.charged_off_on_date,\n t.settlement_date,\n l.charge_off_reason_cv_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_external_asset_owner_transfer t\n JOIN m_loan l ON l.id = t.loan_id\n JOIN m_client c ON c.id = l.client_id\n JOIN m_product_loan p ON p.id = l.product_id\n JOIN m_external_asset_owner_transfer_details dt\n ON dt.asset_owner_transfer_id = t.id\n WHERE t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\')\n AND c.office_id = ${officeId}\n AND t.settlement_date = \'${endDate}\'),\n buyback_external_asset_owner_transfers AS (SELECT \'${endDate}\' AS transactiondate,\n t.id,\n p.name,\n dt.principal_outstanding_derived,\n dt.interest_outstanding_derived,\n dt.fee_charges_outstanding_derived,\n dt.penalty_charges_outstanding_derived,\n dt.total_overpaid_derived,\n l.charged_off_on_date,\n t.settlement_date,\n l.charge_off_reason_cv_id,\n t.owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_external_asset_owner_transfer t\n JOIN m_loan l ON l.id = t.loan_id\n JOIN m_client c ON c.id = l.client_id\n JOIN m_product_loan p ON p.id = l.product_id\n JOIN m_external_asset_owner_transfer_details dt\n ON dt.asset_owner_transfer_id = t.id\n WHERE t.status in (\'BUYBACK\', \'BUYBACK_INTERMEDIATE\')\n AND c.office_id = ${officeId}\n AND t.settlement_date = \'${endDate}\')\nSELECT \'${endDate}\' AS TransactionDate,\n a.product AS Product,\n CASE\n WHEN a.transaction_type = 9999 THEN \'Asset Transfer\'\n WHEN a.transaction_type = 99999 THEN \'Asset Buyback\'\n ELSE (SELECT enum_message_property\n FROM r_enum_value\n WHERE enum_name = \'transaction_type_enum\'\n AND enum_id = a.transaction_type) END AS TransactionType_Name,\n COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id),\n a.classification_name) AS PaymentType_Name,\n a.chargetype AS chargetype,\n a.reversal_indicator AS Reversed,\n a.Allocation_Type AS Allocation_Type,\n (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) AS Chargeoff_ReasonCode,\n CASE\n WHEN a.transaction_type = 9999 THEN sum(a.amount) * + 1\n WHEN a.transaction_type = 99999 THEN sum(a.amount) * - 1\n WHEN a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 28, 31, 33, 34, 37, 39, 41, 43) AND\n a.reversal_indicator = false THEN sum(a.amount) * -1\n WHEN a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 28, 31, 33, 34, 37, 39, 41, 43) AND\n a.reversal_indicator = true THEN sum(a.amount) * + 1\n WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1\n WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = true\n THEN sum(a.amount) * -1 END AS Transaction_Amount,\n (SELECT external_id\n FROM m_external_asset_owner\n WHERE id = a.asset_owner_id) AS Asset_owner_id,\n (SELECT external_id\n FROM m_external_asset_owner\n WHERE id = a.from_asset_owner_id) AS From_asset_owner_id,\n a.originator_external_ids AS Originator_External_Ids\nFROM (SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE\n WHEN t.transaction_type_enum in (1) THEN (CASE\n WHEN t.amount is null THEN 0\n WHEN t.overpayment_portion_derived is null THEN t.amount\n WHEN t.overpayment_portion_derived is not null\n THEN t.amount - t.overpayment_portion_derived\n ELSE t.amount END)\n ELSE (CASE\n WHEN t.principal_portion_derived is null THEN 0\n ELSE t.principal_portion_derived end) END amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = false\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 10\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = true\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 10\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.submitted_on_date = \'${endDate}\'\n AND t.transaction_type_enum in (10, 34)\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE\n WHEN t.transaction_type_enum in (1) THEN (CASE\n WHEN t.amount is null THEN 0\n WHEN t.overpayment_portion_derived is null THEN t.amount\n WHEN t.overpayment_portion_derived is not null\n THEN t.amount - t.overpayment_portion_derived\n ELSE t.amount END)\n ELSE (CASE\n WHEN t.principal_portion_derived is null THEN 0\n ELSE t.principal_portion_derived end) END amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n true AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = false\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n true AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = true\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN e.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND e.settlement_date < \'${endDate}\'\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR \', \') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < \'${endDate}\' AND\n e.effective_date_to >= \'${endDate}\'\n WHERE t.reversed_on_date = \'${endDate}\'\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Fees\' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Penalty\' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Interest\' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Principal\' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n true AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (\'ACTIVE\', \'ACTIVE_INTERMEDIATE\') AND t.settlement_date < \'${endDate}\'\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_type,\n t.principal_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.principal_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_type,\n t.interest_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.interest_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_type,\n t.fee_charges_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.fee_charges_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_type,\n t.penalty_charges_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.penalty_charges_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_type,\n t.total_overpaid_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.total_overpaid_derived > 0\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Principal\' AS Allocation_type,\n t.principal_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.principal_outstanding_derived > 0\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Interest\' AS Allocation_type,\n t.interest_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.interest_outstanding_derived > 0\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Fees\' AS Allocation_type,\n t.fee_charges_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.fee_charges_outstanding_derived > 0\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Penalty\' AS Allocation_type,\n t.penalty_charges_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.penalty_charges_outstanding_derived > 0\n UNION ALL\n SELECT \'${endDate}\' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n \'\' AS chargetype,\n false AS reversal_indicator,\n \'Unallocated Credit (UNC)\' AS Allocation_type,\n t.total_overpaid_derived * -1 AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.total_overpaid_derived > 0) a\nGROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype,\n a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id,\n a.originator_external_ids\nORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11','',0,1,0); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `stretchy_report_parameter` VALUES (1,1,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (2,2,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (3,2,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (4,2,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (5,2,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (6,2,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (7,2,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (8,5,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (9,5,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (10,5,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (11,5,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (12,5,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (13,5,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (14,6,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (15,6,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (16,6,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (17,6,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (18,6,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (19,6,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (20,7,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (21,7,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (22,7,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (23,7,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (24,7,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (25,7,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (26,8,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (27,8,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (28,8,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (29,8,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (30,8,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (31,11,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (32,11,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (33,11,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (34,11,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (35,11,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (36,11,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (37,11,100,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (38,12,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (39,12,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (40,12,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (41,12,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (42,12,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (43,12,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (44,13,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (45,13,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (46,13,3,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (47,13,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (48,13,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (49,13,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (50,13,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (51,13,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (52,13,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (53,14,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (54,14,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (55,14,3,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (56,14,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (57,14,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (58,14,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (59,14,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (60,14,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (61,14,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (62,15,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (63,15,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (64,15,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (65,15,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (66,15,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (67,15,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (68,15,100,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (69,16,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (70,16,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (71,16,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (72,16,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (73,16,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (74,16,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (75,16,100,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (76,20,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (77,20,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (78,20,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (79,20,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (80,21,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (81,21,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (82,21,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (83,21,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (84,21,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (93,51,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (94,51,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (95,51,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (96,51,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (97,51,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (98,52,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (99,53,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (100,53,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (101,54,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (102,54,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (103,54,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (104,54,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (105,54,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (106,55,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (107,55,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (108,55,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (109,55,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (110,55,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (111,55,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (112,56,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (113,56,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (114,56,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (115,56,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (116,56,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (117,56,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (118,56,100,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (119,57,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (120,57,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (121,57,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (122,57,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (123,57,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (124,57,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (125,58,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (126,58,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (127,58,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (128,58,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (129,58,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (130,58,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (131,58,100,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (132,59,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (133,59,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (134,59,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (135,59,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (136,59,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (137,59,20,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (138,59,25,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (139,59,26,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (140,61,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (141,61,10,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (145,93,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (146,93,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (147,93,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (148,93,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (256,106,2,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (257,106,6,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (258,106,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (259,106,1,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (418,149,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (419,150,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (420,151,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (421,152,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (422,153,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (423,154,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (424,155,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (425,156,5,''); +INSERT INTO `stretchy_report_parameter` VALUES (441,165,1010,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (442,165,5,NULL); +INSERT INTO `stretchy_report_parameter` VALUES (443,166,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (444,166,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (445,167,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (446,167,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (447,168,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (448,168,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (449,168,1011,'cycleX'); +INSERT INTO `stretchy_report_parameter` VALUES (450,168,1012,'cycleY'); +INSERT INTO `stretchy_report_parameter` VALUES (451,169,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (452,169,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (453,169,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (454,169,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (455,170,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (456,170,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (457,170,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (458,170,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (459,171,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (460,171,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (461,172,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (462,172,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (463,173,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (464,173,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (465,173,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (466,173,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (467,173,1015,'overdueX'); +INSERT INTO `stretchy_report_parameter` VALUES (468,173,1016,'overdueY'); +INSERT INTO `stretchy_report_parameter` VALUES (469,174,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (470,174,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (471,174,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (472,174,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (473,175,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (474,175,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (475,175,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (476,175,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (477,175,1015,'overdueX'); +INSERT INTO `stretchy_report_parameter` VALUES (478,175,1016,'overdueY'); +INSERT INTO `stretchy_report_parameter` VALUES (479,176,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (480,176,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (481,177,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (482,177,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (483,177,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (484,177,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (485,178,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (486,178,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (487,178,1013,'fromX'); +INSERT INTO `stretchy_report_parameter` VALUES (488,178,1014,'toY'); +INSERT INTO `stretchy_report_parameter` VALUES (489,181,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (490,180,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (491,179,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (492,181,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (493,180,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (494,179,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (495,181,1017,'loanId'); +INSERT INTO `stretchy_report_parameter` VALUES (496,180,1017,'loanId'); +INSERT INTO `stretchy_report_parameter` VALUES (497,181,1018,'clientId'); +INSERT INTO `stretchy_report_parameter` VALUES (498,180,1018,'clientId'); +INSERT INTO `stretchy_report_parameter` VALUES (499,181,1019,'groupId'); +INSERT INTO `stretchy_report_parameter` VALUES (500,180,1019,'groupId'); +INSERT INTO `stretchy_report_parameter` VALUES (501,181,1020,'loanType'); +INSERT INTO `stretchy_report_parameter` VALUES (502,180,1020,'loanType'); +INSERT INTO `stretchy_report_parameter` VALUES (503,179,1020,'loanType'); +INSERT INTO `stretchy_report_parameter` VALUES (504,182,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (505,183,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (506,182,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (507,183,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (508,182,1018,'clientId'); +INSERT INTO `stretchy_report_parameter` VALUES (509,183,1018,'clientId'); +INSERT INTO `stretchy_report_parameter` VALUES (510,184,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (511,184,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (512,184,1021,'savingsId'); +INSERT INTO `stretchy_report_parameter` VALUES (513,185,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (514,185,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (515,185,1021,'savingsId'); +INSERT INTO `stretchy_report_parameter` VALUES (516,186,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (517,186,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (518,186,1022,'savingsTransactionId'); +INSERT INTO `stretchy_report_parameter` VALUES (519,187,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (520,187,6,'loanOfficerId'); +INSERT INTO `stretchy_report_parameter` VALUES (521,187,1022,'savingsTransactionId'); +INSERT INTO `stretchy_report_parameter` VALUES (522,193,1,'fromDate'); +INSERT INTO `stretchy_report_parameter` VALUES (523,193,5,'branch'); +INSERT INTO `stretchy_report_parameter` VALUES (524,193,2,'toDate'); +INSERT INTO `stretchy_report_parameter` VALUES (525,194,1008,'GLAccountNO'); +INSERT INTO `stretchy_report_parameter` VALUES (526,194,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (527,194,2,'endDate'); +INSERT INTO `stretchy_report_parameter` VALUES (528,194,1,'startDate'); +INSERT INTO `stretchy_report_parameter` VALUES (529,196,5,'branch'); +INSERT INTO `stretchy_report_parameter` VALUES (530,196,2,'date'); +INSERT INTO `stretchy_report_parameter` VALUES (531,195,5,'branch'); +INSERT INTO `stretchy_report_parameter` VALUES (532,195,1,'fromDate'); +INSERT INTO `stretchy_report_parameter` VALUES (533,195,2,'toDate'); +INSERT INTO `stretchy_report_parameter` VALUES (534,197,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (535,197,2,'endDate'); +INSERT INTO `stretchy_report_parameter` VALUES (536,198,5,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (537,198,2,'endDate'); +INSERT INTO `stretchy_report_parameter` VALUES (538,199,2,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (539,199,5,'endDate'); +INSERT INTO `stretchy_report_parameter` VALUES (540,200,2,'officeId'); +INSERT INTO `stretchy_report_parameter` VALUES (541,200,5,'endDate'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; +SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; +INSERT INTO `twofactor_configuration` VALUES (1,'otp-delivery-email-enable','true'); +INSERT INTO `twofactor_configuration` VALUES (2,'otp-delivery-email-subject','Fineract Two-Factor Authentication Token'); +INSERT INTO `twofactor_configuration` VALUES (3,'otp-delivery-email-body','Hello {{username}}.\nYour OTP login token is {{token}}.'); +INSERT INTO `twofactor_configuration` VALUES (4,'otp-delivery-sms-enable','false'); +INSERT INTO `twofactor_configuration` VALUES (5,'otp-delivery-sms-provider','1'); +INSERT INTO `twofactor_configuration` VALUES (6,'otp-delivery-sms-text','Your authentication token for Fineract is {{token}}.'); +INSERT INTO `twofactor_configuration` VALUES (7,'otp-token-live-time','300'); +INSERT INTO `twofactor_configuration` VALUES (8,'otp-token-length','5'); +INSERT INTO `twofactor_configuration` VALUES (9,'access-token-live-time','86400'); +INSERT INTO `twofactor_configuration` VALUES (10,'access-token-live-time-extended','604800'); +COMMIT; +SET AUTOCOMMIT=@OLD_AUTOCOMMIT; diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_postgresql.sql b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_postgresql.sql new file mode 100644 index 00000000000..6c4473dff33 --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0002_initial_data_postgresql.sql @@ -0,0 +1,4165 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +-- PostgreSQL database dump + +-- Dumped from database version 18.3 (Debian 18.3-1.pgdg13+1) +-- Dumped by pg_dump version 18.3 (Debian 18.3-1.pgdg13+1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +-- SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- Data for Name: m_code; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('1', 'Customer Identifier', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('2', 'LoanCollateral', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('3', 'LoanPurpose', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('4', 'Gender', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('5', 'YesNo', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('6', 'GuarantorRelationship', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('7', 'AssetAccountTags', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('8', 'LiabilityAccountTags', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('9', 'EquityAccountTags', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('10', 'IncomeAccountTags', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('11', 'ExpenseAccountTags', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('13', 'GROUPROLE', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('14', 'ClientClosureReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('15', 'GroupClosureReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('16', 'ClientType', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('17', 'ClientClassification', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('18', 'ClientSubStatus', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('19', 'ClientRejectReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('20', 'ClientWithdrawReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('21', 'Entity to Entity Access Types', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('22', 'CenterClosureReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('23', 'LoanRescheduleReason', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('24', 'Constitution', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('25', 'Main Business Line', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('26', 'WriteOffReasons', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('27', 'STATE', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('28', 'COUNTRY', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('29', 'ADDRESS_TYPE', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('30', 'MARITAL STATUS', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('31', 'RELATIONSHIP', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('32', 'PROFESSION', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('33', 'PaymentType', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('34', 'Customer Documents', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('35', 'SavingsAccountBlockReasons', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('36', 'DebitTransactionFreezeReasons', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('37', 'CreditTransactionFreezeReasons', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('38', 'SavingsTransactionFreezeReasons', 't'); +INSERT INTO public.m_code (id, code_name, is_system_defined) VALUES ('39', 'ChargeOffReasons', 't'); + + +-- Data for Name: m_code_value; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('1', '1', 'Passport', NULL, '1', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('2', '1', 'Id', NULL, '2', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('3', '1', 'Drivers License', NULL, '3', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('4', '1', 'Any Other Id Type', NULL, '4', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('5', '6', 'Spouse', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('6', '6', 'Parent', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('7', '6', 'Sibling', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('8', '6', 'Business Associate', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('9', '6', 'Other', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('10', '21', 'Office Access to Loan Products', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('11', '21', 'Office Access to Savings Products', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('12', '21', 'Office Access to Fees/Charges', NULL, '0', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('13', '13', 'Leader', 'Group Leader Role', '1', NULL, 't', 'f'); +INSERT INTO public.m_code_value (id, code_id, code_value, code_description, order_position, code_score, is_active, is_mandatory) VALUES ('14', '33', 'Money Transfer', NULL, '1', NULL, 't', 'f'); + + +-- Data for Name: acc_gl_account; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_office; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_office (id, parent_id, hierarchy, external_id, name, opening_date) VALUES ('1', NULL, '.', '1', 'Head Office', '2009-01-01'); + + +-- Data for Name: acc_accounting_rule; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_image; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_staff; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_appuser; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_appuser (id, is_deleted, office_id, staff_id, username, firstname, lastname, password, email, firsttime_login_remaining, nonexpired, nonlocked, nonexpired_credentials, enabled, last_time_password_updated, password_never_expires, cannot_change_password, password_reset_required, failed_login_attempts, is_login_retries_enabled, temporary_password, temporary_password_expiry_time, is_password_reset_enabled) VALUES ('1', 'f', '1', NULL, 'mifos', 'App', 'Administrator', '{SHA-256}{1}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a', 'demomfi@mifos.org', 'f', 't', 't', 't', 't', '2026-08-21', 'f', NULL, 'f', '0', 'f', NULL, NULL, 'f'); +INSERT INTO public.m_appuser (id, is_deleted, office_id, staff_id, username, firstname, lastname, password, email, firsttime_login_remaining, nonexpired, nonlocked, nonexpired_credentials, enabled, last_time_password_updated, password_never_expires, cannot_change_password, password_reset_required, failed_login_attempts, is_login_retries_enabled, temporary_password, temporary_password_expiry_time, is_password_reset_enabled) VALUES ('2', 'f', '1', NULL, 'system', 'system', 'system', '{SHA-256}{2}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a', 'demomfi@mifos.org', 'f', 't', 't', 't', 't', '2026-08-21', 'f', NULL, 'f', '0', 'f', NULL, NULL, 'f'); +INSERT INTO public.m_appuser (id, is_deleted, office_id, staff_id, username, firstname, lastname, password, email, firsttime_login_remaining, nonexpired, nonlocked, nonexpired_credentials, enabled, last_time_password_updated, password_never_expires, cannot_change_password, password_reset_required, failed_login_attempts, is_login_retries_enabled, temporary_password, temporary_password_expiry_time, is_password_reset_enabled) VALUES ('3', 'f', '1', NULL, 'interopUser', 'Interop', 'User', '{SHA-256}{3}5787039480429368bf94732aacc771cd0a3ea02bcf504ffe1185ab94213bc63a', 'email@email.com', 'f', 't', 't', 't', 't', '2026-08-21', 'f', NULL, 'f', '0', 'f', NULL, NULL, 'f'); + + +-- Data for Name: acc_gl_closure; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: acc_gl_financial_activity_account; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_group_level; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_group_level (id, parent_id, super_parent, level_name, recursable, can_have_clients) VALUES ('1', NULL, 't', 'Center', 't', 'f'); +INSERT INTO public.m_group_level (id, parent_id, super_parent, level_name, recursable, can_have_clients) VALUES ('2', '1', 'f', 'Group', 'f', 't'); + + +-- Data for Name: m_group; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: glim_accounts; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: gsim_accounts; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_tax_group; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_product; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_delinquency_bucket; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_fund; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_payment_type; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_payment_type (id, value, description, is_cash_payment, order_position, code_name, is_system_defined) VALUES ('1', 'Money Transfer', 'Money Transfer', 'f', '1', NULL, 'f'); +INSERT INTO public.m_payment_type (id, value, description, is_cash_payment, order_position, code_name, is_system_defined) VALUES ('2', 'Repayment Adjustment Chargeback', 'Repayment Adjustment Chargeback', 'f', '1', 'REPAYMENT_ADJUSTMENT_CHARGEBACK', 't'); +INSERT INTO public.m_payment_type (id, value, description, is_cash_payment, order_position, code_name, is_system_defined) VALUES ('3', 'Repayment Adjustment Refund', 'Repayment Adjustment Refund', 'f', '1', 'REPAYMENT_ADJUSTMENT_REFUND', 't'); + + +-- Data for Name: m_payment_detail; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_product; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_account; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_account_transactions; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: acc_gl_journal_entry; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: acc_gl_journal_entry_annual_summary; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: acc_product_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: acc_rule_tags; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_custom_job_parameters; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_job_instance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_job_execution; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_job_execution_context; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_job_execution_params; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_step_execution; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: batch_step_execution_context; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: c_account_number_format; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: c_cache; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.c_cache (id, cache_type_enum) VALUES ('1', '1'); + + +-- Data for Name: c_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('1', 'maker-checker', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('4', 'amazon-s3', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('5', 'reschedule-future-repayments', NULL, NULL, NULL, 't', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('6', 'reschedule-repayments-on-holidays', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('7', 'allow-transactions-on-holiday', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('8', 'allow-transactions-on-non-workingday', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('9', 'constraint-approach-for-datatables', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('10', 'penalty-wait-period', '2', NULL, NULL, 't', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('11', 'force-password-reset-days', '0', NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('12', 'grace-on-penalty-posting', '0', NULL, NULL, 't', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('15', 'savings-interest-posting-current-period-end', NULL, NULL, NULL, 'f', 'f', 'Recommended to be changed only once during start of production. When set as false(default), interest will be posted on the first date of next period. If set as true, interest will be posted on last date of current period. There is no difference in the interest amount posted.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('16', 'financial-year-beginning-month', '1', NULL, NULL, 't', 'f', 'Recommended to be changed only once during start of production. Allowed values 1 - 12 (January - December). Interest posting periods are evaluated based on this configuration.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('17', 'min-clients-in-group', '5', NULL, NULL, 'f', 'f', 'Minimum number of Clients that a Group should have'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('18', 'max-clients-in-group', '5', NULL, NULL, 'f', 'f', 'Maximum number of Clients that a Group can have'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('19', 'meetings-mandatory-for-jlg-loans', NULL, NULL, NULL, 'f', 'f', 'Enforces all JLG loans to follow a meeting schedule belonging to parent group or Center'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('20', 'office-specific-products-enabled', '0', NULL, NULL, 'f', 'f', 'Whether products and fees should be office specific or not? This property should NOT be changed once Mifos is Live.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('21', 'restrict-products-to-user-office', '0', NULL, NULL, 'f', 'f', 'This should be enabled only if, products & fees are office specific (i.e. office-specific-products-enabled is enabled). This property specifies if the products should be auto-restricted to office of the user who created the proudct? Note: This property should NOT be changed once Mifos is Live.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('22', 'office-opening-balances-contra-account', '0', NULL, NULL, 't', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('23', 'rounding-mode', '6', NULL, NULL, 't', 't', '0 - UP, 1 - DOWN, 2- CEILING, 3- FLOOR, 4- HALF_UP, 5- HALF_DOWN, 6 - HALF_EVEN'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('24', 'backdate-penalties-enabled', '0', NULL, NULL, 't', 'f', 'If this parameter is disabled penalties will only be added to instalments due moving forward, any old overdue instalments will not be affected.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('25', 'organisation-start-date', '0', NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('26', 'paymenttype-applicable-for-disbursement-charges', NULL, NULL, NULL, 'f', 'f', 'Is the Disbursement Entry need to be considering the fund source of the paymnet type'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('27', 'interest-charged-from-date-same-as-disbursal-date', '0', NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('28', 'skip-repayment-on-first-day-of-month', '14', NULL, NULL, 'f', 'f', 'skipping repayment on first day of month'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('29', 'change-emi-if-repaymentdate-same-as-disbursementdate', '0', NULL, NULL, 't', 'f', 'In tranche loans, if repayment date is same as tranche disbursement date then allow to change the emi amount'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('30', 'daily-tpt-limit', '0', NULL, NULL, 'f', 'f', 'Daily limit for third party transfers'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('31', 'enable-address', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('32', 'sub-rates', '0', NULL, NULL, 'f', 'f', 'Enable Rates Module'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('33', 'loan-reschedule-is-first-payday-allowed-on-holiday', '0', NULL, NULL, 'f', 'f', 'If enabled, while loan reschedule the first repayment date can be on a holiday/non working day'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('35', 'account-mapping-for-payment-type', NULL, NULL, 'Asset', 't', 'f', 'Asset: default for asset, Use comma seperated values for Liability, Asset and Expense accounts'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('36', 'account-mapping-for-charge', NULL, NULL, 'Income', 't', 'f', 'Income: default for Income, Use comma seperated values for Income, Liability and Expense accounts'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('37', 'fixed-deposit-transfer-interest-next-day-for-period-end-posting', NULL, NULL, NULL, 'f', 'f', 'Transfer fixed transfer interest next day(t+1) for period end posting'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('38', 'allow-backdated-transaction-before-interest-posting', '0', NULL, NULL, 't', 'f', 'Avoid retrieving all transactions in a savings account'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('39', 'allow-backdated-transaction-before-interest-posting-date-for-days', '0', NULL, NULL, 'f', 'f', 'One time configuration to relax the backdated transactions'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('40', 'custom-account-number-length', NULL, NULL, NULL, 'f', 'f', 'if enabled, the value if this configuration will set accounnumber length'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('41', 'random-account-number', NULL, NULL, NULL, 'f', 'f', 'if enabled, the client accounts, saving accounts, loan accounts will be created with Random Account Number'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('42', 'is-interest-to-be-recovered-first-when-greater-than-emi', '0', NULL, NULL, 'f', 'f', 'If enabled, when interest amount is greater than EMI, the additional interest is recovered first before principal'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('43', 'is-principal-compounding-disabled-for-overdue-loans', '0', NULL, NULL, 'f', 'f', 'If enabled, it donot consider principal of an unpaid installment for calculating interest of next installment. this is for testing back-dated loan schedule'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('44', 'enable-business-date', NULL, NULL, NULL, 'f', 'f', 'Whether the logical business date functionality is enabled in the system'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('45', 'enable-automatic-cob-date-adjustment', NULL, NULL, NULL, 't', 'f', 'Whether the cob date will be automatically recalculated based on the business date'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('46', 'enable-post-reversal-txns-for-reverse-transactions', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('47', 'purge-external-events-older-than-days', '30', NULL, NULL, 'f', 'f', 'Number of days criteria to purge old external events sent to message channel'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('48', 'days-before-repayment-is-due', '1', NULL, NULL, 'f', 'f', 'Number of days before repayment is due to raise event'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('49', 'days-after-repayment-is-overdue', '1', NULL, NULL, 'f', 'f', 'Number of days after repayment overdue to raise event'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('50', 'enable-auto-generated-external-id', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('51', 'purge-processed-commands-older-than-days', '30', NULL, NULL, 'f', 'f', 'Number of days criteria to purge old processed commands'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('52', 'enable-cob-bulk-event', NULL, NULL, NULL, 'f', 'f', 'Whether bulk event for COB is enabled in the system'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('53', 'external-event-batch-size', '1000', NULL, NULL, 'f', 'f', 'External event producer batch size'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('54', 'report-export-s3-folder-name', NULL, NULL, 'reports', 't', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('55', 'loan-arrears-delinquency-display-data', '0', NULL, NULL, 't', 'f', '0 - Both, 1 - Arrears, 2- Delinquency'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('56', 'charge-accrual-date', NULL, NULL, 'due-date', 't', 'f', 'due-date: default for due-date, Use comma seperated values for due-date, submitted-date'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('57', 'asset-externalization-of-non-active-loans', NULL, NULL, NULL, 't', 'f', 'If enabled: when a loan state is changed to non-active -> pending transfers will be handled'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('58', 'enable-same-maker-checker', NULL, NULL, NULL, 'f', 'f', NULL); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('59', 'next-payment-due-date', NULL, NULL, 'earliest-unpaid-date', 't', 'f', 'earliest-unpaid-date: default for next-payment-due-date, Use earliest-unpaid-date or next-unpaid-due-date'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('60', 'enable-payment-hub-integration', '0', NULL, 'enable payment hub integration', 'f', 'f', 'Use payment hub api''s for account withdrawal and loan disbursement to linked interop account'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('61', 'enable-immediate-charge-accrual-post-maturity', NULL, NULL, NULL, 'f', 'f', 'Whether the system creates accruals immediately for charge creation after the maturity date'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('62', 'password-reuse-check-history-count', '3', NULL, NULL, 'f', 'f', 'When enabled, prevents password reuse. The value specifies how many previous passwords to check (e.g., 3 = last 3 passwords). Set to 0 to check ALL previous passwords. Disable this setting to allow password reuse.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('63', 'force-password-reset-on-first-login', '0', NULL, NULL, 'f', 'f', 'If enabled, users must reset their password upon first login or after an admin reset. Value is unused.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('64', 'allow-force-withdrawal-on-savings-account', '0', NULL, NULL, 'f', 'f', 'If enabled, allows withdrawals to put the account into negative balance up to the configured limit.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('65', 'force-withdrawal-on-savings-account-limit', '0', NULL, NULL, 'f', 'f', 'The maximum negative balance allowed when force withdrawal is enabled.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('66', 'max-login-retry-attempts', '5', NULL, NULL, 'f', 'f', 'Maximum number of failed login attempts before an account is locked'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('67', 'allow-cash-and-non-cash-accrual', '0', NULL, NULL, 't', 'f', 'When enabled (true), accrual transactions are created at disbursement for None, Cash, and Upfront Accrual accounting types (legacy behavior). When disabled (false), accrual transactions at disbursement are created only for Upfront Accrual accounting type.'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('68', 'block-transactions-on-closed-overpaid-loans', NULL, NULL, NULL, 'f', 'f', 'If enabled: monetary transactions are blocked on closed and overpaid loan accounts'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('69', 'last-day-of-financial-year', '31', NULL, NULL, 't', 'f', '31: default for last day of fiscal year'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('70', 'last-month-of-financial-year', '12', NULL, NULL, 't', 'f', '12: default for last month of fiscal year'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('71', 'income-expense-gl-accounts', NULL, NULL, '', 't', 'f', 'List of income/expense GL account codes for retained earning calculation. Can provide multiple accounts separated by comma or ranges separated by dashes (e.g. 4000,5000-5999,7000). Empty by default, please set before executing job'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('72', 'retained-gl-account', NULL, NULL, '', 't', 'f', 'Default retained gl account code. Empty by default, please set before executing job'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('73', 'office-id', '1', NULL, NULL, 't', 'f', 'OfficeId for which the report and the retained earning job will be executed'); +INSERT INTO public.c_configuration (id, name, value, date_value, string_value, enabled, is_trap_door, description) VALUES ('74', 'retained-earning-used-by-report-name', NULL, NULL, 'Trial Balance Summary Report with Asset Owner', 't', 'f', 'Report name which will be using using retained earning'); + + +-- Data for Name: c_external_service; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.c_external_service (id, name) VALUES ('3', 'MESSAGE_GATEWAY'); +INSERT INTO public.c_external_service (id, name) VALUES ('4', 'NOTIFICATION'); +INSERT INTO public.c_external_service (id, name) VALUES ('1', 'S3'); +INSERT INTO public.c_external_service (id, name) VALUES ('2', 'SMTP_Email_Account'); + + +-- Data for Name: c_external_service_properties; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('s3_access_key', NULL, '1'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('s3_bucket_name', NULL, '1'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('s3_secret_key', NULL, '1'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('username', 'support@cloudmicrofinance.com', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('password', 'support81', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('host', 'localhost', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('port', '3025', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('useTLS', 'true', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('host_name', 'localhost', '3'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('port_number', '9191', '3'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('end_point', '/', '3'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('tenant_app_key', NULL, '3'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('server_key', 'AAAAToBmqQQ:APA91bEodkE12CwFl8VHqanUbeJYg1E05TiheVz59CZZYrBnCq3uM40UYhHfdP-JfeTQ0L0zoLqS8orjvW_ze0_VF8DSuyyqkrDibflhtUainsI0lwgVz5u1YP3q3c3erqjlySEuRShS', '4'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('gcm_end_point', 'https://gcm-http.googleapis.com/gcm/send', '4'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('fcm_end_point', 'https://fcm.googleapis.com/fcm/send', '4'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('fromEmail', 'support@cloudmicrofinance.com', '2'); +INSERT INTO public.c_external_service_properties (name, value, external_service_id) VALUES ('fromName', 'support@cloudmicrofinance.com', '2'); + + + + + + +-- Data for Name: interop_identifier; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: job; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('2', 'Update Loan Arrears Ageing', 'Update Loan Arrears Ageing', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Update Loan Arrears AgeingJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_ARAG'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('5', 'Apply Holidays To Loans', 'Apply Holidays To Loans', '0 0 12 * * ?', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Apply Holidays To LoansJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_AHOL'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('7', 'Transfer Fee For Loans From Savings', 'Transfer Fee For Loans From Savings', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Transfer Fee For Loans From SavingsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_TFFS'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('39', 'Accrual Activity Posting', 'Accrual Activity Posting', '0 0 1 * * ?', '2026-08-21 12:32:46.937149', '5', NULL, NULL, NULL, 'Accrual Activity Posting1 _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 't', 'ACC_ACPO'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('12', 'Apply penalty to overdue loans', 'Apply penalty to overdue loans', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Apply penalty to overdue loansJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_OPEN'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('13', 'Update Non Performing Assets', 'Update Non Performing Assets', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '6', NULL, NULL, NULL, 'Update Non Performing AssetsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '3', 'f', '1', 't', 'LA_UNPA'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('17', 'Recalculate Interest For Loans', 'Recalculate Interest For Loans', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '4', NULL, NULL, NULL, 'Recalculate Interest For LoansJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '3', 'f', '1', 't', 'LA_RINT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('19', 'Generate Loan Loss Provisioning', 'Generate Loan Loss Provisioning', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Generate Loan Loss ProvisioningJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_GLPR'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('22', 'Add Accrual Transactions For Loans With Income Posted As Transactions', 'Add Accrual Transactions For Loans With Income Posted As Transactions', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Add Accrual Transactions For Loans With Income Posted As TransactionsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '3', 'f', '1', 't', 'LA_AATR'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('34', 'Loan COB', 'Loan COB', '0 0 0 * * ?', '2026-08-21 12:32:45.751405', '5', NULL, NULL, NULL, 'Loan COB dayJobDetail1 _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 'f', 'LA_ECOB'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('35', 'Loan Delinquency Classification', 'Loan Delinquency Classification', '0 0 22 1/1 * ? *', '2026-08-21 12:32:45.783257', '5', NULL, NULL, NULL, 'Loan Delinquency ClassificationDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'LA_DECL'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('4', 'Apply Annual Fee For Savings', 'Apply Annual Fee For Savings', '0 20 22 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Apply Annual Fee For SavingsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'SA_AANF'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('6', 'Post Interest For Savings', 'Post Interest For Savings', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Post Interest For SavingsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '1', 'f', '1', 't', 'SA_PINT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('8', 'Pay Due Savings Charges', 'Pay Due Savings Charges', '0 0 12 * * ?', '2013-09-23 00:00:00', '5', NULL, NULL, NULL, 'Pay Due Savings ChargesJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'SA_PDCH'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('14', 'Transfer Interest To Savings', 'Transfer Interest To Savings', '0 2 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '4', NULL, NULL, NULL, 'Transfer Interest To SavingsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '1', 'f', '1', 't', 'SA_TINT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('15', 'Update Deposit Accounts Maturity details', 'Update Deposit Accounts Maturity details', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Update Deposit Accounts Maturity detailsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'SA_MATD'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('18', 'Generate Mandatory Savings Schedule', 'Generate Mandatory Savings Schedule', '0 5 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Generate Mandatory Savings ScheduleJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'SA_GSCH'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('21', 'Update Savings Dormant Accounts', 'Update Savings Dormant Accounts', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '3', NULL, NULL, NULL, 'Update Savings Dormant AccountsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '1', 'f', '1', 't', 'SA_UDOR'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('20', 'Post Dividends For Shares', 'Post Dividends For Shares', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Post Dividends For SharesJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'SH_PDIV'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('9', 'Update Accounting Running Balances', 'Update Accounting Running Balances', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Update Accounting Running BalancesJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'ACC_RBAL'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('11', 'Add Accrual Transactions', 'Add Accrual Transactions', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '3', NULL, NULL, NULL, 'Add Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '3', 'f', '1', 't', 'ACC_AATR'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('16', 'Add Periodic Accrual Transactions', 'Add Periodic Accrual Transactions', '0 2 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '2', NULL, NULL, NULL, 'Add Periodic Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '3', 'f', '1', 't', 'ACC_APTR'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('10', 'Execute Standing Instruction', 'Execute Standing Instruction', '0 0 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Execute Standing InstructionJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'STI_EXEC'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('23', 'Execute Report Mailing Jobs', 'Execute Report Mailing Jobs', '0 0/15 * * * ?', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Execute Report Mailing JobsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'RMJ_EXEC'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('27', 'Execute Email', 'Execute Email', '0 0/10 * * * ?', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Execute EmailJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'EM_EXEC'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('28', 'Update Email Outbound with campaign message', 'Update Email Outbound with campaign message', '0 0/15 * * * ?', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Update Email Outbound with campaign messageJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'EM_UOUT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('24', 'Update SMS Outbound with Campaign Message', 'Update SMS Outbound with Campaign Message', '0 0 5 1/1 * ? *', '2026-08-21 12:32:42.944851', '3', NULL, NULL, NULL, 'Update SMS Outbound with Campaign MessageJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '4', 'f', '1', 't', 'SMS_UOUT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('25', 'Send Messages to SMS Gateway', 'Send Messages to SMS Gateway', '0 0 5 1/1 * ? *', '2026-08-21 12:32:42.944851', '2', NULL, NULL, NULL, 'Send Messages to SMS GatewayJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '4', 'f', '1', 't', 'SMS_SMSG'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('26', 'Get Delivery Reports from SMS Gateway', 'Get Delivery Reports from SMS Gateway', '0 0 5 1/1 * ? *', '2026-08-21 12:32:42.944851', '1', NULL, NULL, NULL, 'Get Delivery Reports from SMS GatewayJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '4', 'f', '1', 't', 'SMS_DRPT'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('29', 'Generate AdhocClient Schedule', 'Generate AdhocClient Schedule', '0 0 12 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Generate AdhocClient ScheduleJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'ADH_GSCH'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('30', 'Update Trial Balance Details', 'Update Trial Balance Details', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Update Trial Balance DetailsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'TBL_UDET'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('31', 'Execute All Dirty Jobs', 'Execute All Dirty Jobs', '0 1 0 1/1 * ? *', '2026-08-21 12:32:42.944851', '5', NULL, NULL, NULL, 'Execute All Dirty JobsJobDetail1 _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '0', 'f', 'JOB_EXEC'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('32', 'Increase Business Date by 1 day', 'Increase Business Date by 1 day', '0 0 0 1/1 * ? *', '2026-08-21 12:32:45.30157', '99', NULL, NULL, NULL, 'Increase Business Date by 1 dayJobDetail1 _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 'f', 'BDT_INC1'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('33', 'Increase COB Date by 1 day', 'Increase COB Date by 1 day', '0 0 0 1/1 * ? *', '2026-08-21 12:32:45.304493', '98', NULL, NULL, NULL, 'Increase COB Date by 1 dayJobDetail1 _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 'f', 'BDT_COB1'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('36', 'Send Asynchronous Events', 'Send Asynchronous Events', '0 0/1 * * * ?', '2026-08-21 12:32:45.860204', '5', NULL, NULL, NULL, 'Send Asynchronous Events _ DEFAULT', NULL, 't', 'f', 't', '0', 'f', '1', 't', 'ASE_SEND'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('37', 'Purge External Events', 'Purge External Events', '0 1 0 1/1 * ? *', '2026-08-21 12:32:45.914659', '5', NULL, NULL, NULL, 'Purge External Events _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 't', 'EXE_PURG'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('38', 'Purge Processed Commands', 'Purge Processed Commands', '0 0 1 * * ?', '2026-08-21 12:32:46.267461', '5', NULL, NULL, NULL, 'Purge Processed Commands _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 't', 'COM_PURG'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('40', 'Journal Entry Aggregation', 'Journal Entry Aggregation', '0 0 6 * * ?', '2026-08-21 12:32:47.784412', '5', NULL, NULL, NULL, 'Journal Entry Aggregation _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 't', 'JRNL_AGG'); +INSERT INTO public.job (id, name, display_name, cron_expression, create_time, task_priority, group_name, previous_run_start_time, next_run_time, job_key, initializing_errorlog, is_active, currently_running, updates_allowed, scheduler_group, is_misfired, node_id, is_mismatched_job, short_name) VALUES ('41', 'Retained Earning Job', 'Retained Earning Job', '0 0 6 * * ?', '2026-08-21 12:32:48.15403', '5', NULL, NULL, NULL, 'Retained Earning _ DEFAULT', NULL, 'f', 'f', 't', '0', 'f', '1', 'f', 'RE_ERNG'); + + +-- Data for Name: job_parameters; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.job_parameters (id, job_id, parameter_name, parameter_value) VALUES ('1', '17', 'thread-pool-size', '10'); +INSERT INTO public.job_parameters (id, job_id, parameter_name, parameter_value) VALUES ('2', '17', 'batch-size', '100'); +INSERT INTO public.job_parameters (id, job_id, parameter_name, parameter_value) VALUES ('3', '17', 'officeId', '1'); +INSERT INTO public.job_parameters (id, job_id, parameter_name, parameter_value) VALUES ('4', '6', 'thread-pool-size', '10'); +INSERT INTO public.job_parameters (id, job_id, parameter_name, parameter_value) VALUES ('5', '6', 'batch-size', '100'); + + +-- Data for Name: job_run_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_account_transfer_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_account_transfer_standing_instructions; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_account_transfer_standing_instructions_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_account_transfer_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_address; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_adhoc; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_appuser_previous_password; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_role; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_role (id, name, description, is_disabled) VALUES ('1', 'Super user', 'This role provides all application permissions.', 'f'); +INSERT INTO public.m_role (id, name, description, is_disabled) VALUES ('2', 'Self Service User', 'self service user role', 't'); + + +-- Data for Name: m_appuser_role; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_appuser_role (appuser_id, role_id) VALUES ('1', '1'); +INSERT INTO public.m_appuser_role (appuser_id, role_id) VALUES ('3', '1'); + + +-- Data for Name: m_batch_business_steps; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('1', 'LOAN_CLOSE_OF_BUSINESS', 'APPLY_CHARGE_TO_OVERDUE_LOANS', '1'); +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('2', 'LOAN_CLOSE_OF_BUSINESS', 'LOAN_DELINQUENCY_CLASSIFICATION', '2'); +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('3', 'LOAN_CLOSE_OF_BUSINESS', 'CHECK_LOAN_REPAYMENT_DUE', '3'); +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('4', 'LOAN_CLOSE_OF_BUSINESS', 'CHECK_LOAN_REPAYMENT_OVERDUE', '4'); +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('5', 'LOAN_CLOSE_OF_BUSINESS', 'UPDATE_LOAN_ARREARS_AGING', '5'); +INSERT INTO public.m_batch_business_steps (id, job_name, step_name, step_order) VALUES ('6', 'LOAN_CLOSE_OF_BUSINESS', 'ADD_PERIODIC_ACCRUAL_ENTRIES', '6'); + + +-- Data for Name: m_business_date; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_calendar; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_calendar_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_calendar_instance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_tellers; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_cashiers; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_cashier_transactions; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_address; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_meeting; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_attendance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_charge_paid_by; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_currency; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('1', 'AED', '2', NULL, NULL, 'UAE Dirham', 'currency.AED'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('2', 'AFN', '2', NULL, NULL, 'Afghanistan Afghani', 'currency.AFN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('3', 'ALL', '2', NULL, NULL, 'Albanian Lek', 'currency.ALL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('4', 'AMD', '2', NULL, NULL, 'Armenian Dram', 'currency.AMD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('5', 'ANG', '2', NULL, NULL, 'Netherlands Antillian Guilder', 'currency.ANG'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('6', 'AOA', '2', NULL, NULL, 'Angolan Kwanza', 'currency.AOA'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('7', 'ARS', '2', NULL, '$', 'Argentine Peso', 'currency.ARS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('8', 'AUD', '2', NULL, 'A$', 'Australian Dollar', 'currency.AUD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('9', 'AWG', '2', NULL, NULL, 'Aruban Guilder', 'currency.AWG'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('10', 'AZM', '2', NULL, NULL, 'Azerbaijanian Manat', 'currency.AZM'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('11', 'BAM', '2', NULL, NULL, 'Bosnia and Herzegovina Convertible Marks', 'currency.BAM'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('12', 'BBD', '2', NULL, NULL, 'Barbados Dollar', 'currency.BBD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('13', 'BDT', '2', NULL, NULL, 'Bangladesh Taka', 'currency.BDT'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('14', 'BGN', '2', NULL, NULL, 'Bulgarian Lev', 'currency.BGN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('15', 'BHD', '3', NULL, NULL, 'Bahraini Dinar', 'currency.BHD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('16', 'BIF', '0', NULL, NULL, 'Burundi Franc', 'currency.BIF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('17', 'BMD', '2', NULL, NULL, 'Bermudian Dollar', 'currency.BMD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('18', 'BND', '2', NULL, 'B$', 'Brunei Dollar', 'currency.BND'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('19', 'BOB', '2', NULL, 'Bs.', 'Bolivian Boliviano', 'currency.BOB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('20', 'BRL', '2', NULL, 'R$', 'Brazilian Real', 'currency.BRL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('21', 'BSD', '2', NULL, NULL, 'Bahamian Dollar', 'currency.BSD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('22', 'BTN', '2', NULL, NULL, 'Bhutan Ngultrum', 'currency.BTN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('23', 'BWP', '2', NULL, NULL, 'Botswana Pula', 'currency.BWP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('24', 'BYR', '0', NULL, NULL, 'Belarussian Ruble', 'currency.BYR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('25', 'BZD', '2', NULL, 'BZ$', 'Belize Dollar', 'currency.BZD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('26', 'CAD', '2', NULL, NULL, 'Canadian Dollar', 'currency.CAD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('27', 'CDF', '2', NULL, NULL, 'Franc Congolais', 'currency.CDF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('28', 'CHF', '2', NULL, NULL, 'Swiss Franc', 'currency.CHF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('29', 'CLP', '0', NULL, '$', 'Chilean Peso', 'currency.CLP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('30', 'CNY', '2', NULL, NULL, 'Chinese Yuan Renminbi', 'currency.CNY'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('31', 'COP', '2', NULL, '$', 'Colombian Peso', 'currency.COP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('32', 'CRC', '2', NULL, '₡', 'Costa Rican Colon', 'currency.CRC'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('33', 'CSD', '2', NULL, NULL, 'Serbian Dinar', 'currency.CSD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('34', 'CUP', '2', NULL, '$MN', 'Cuban Peso', 'currency.CUP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('35', 'CVE', '2', NULL, NULL, 'Cape Verde Escudo', 'currency.CVE'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('36', 'CYP', '2', NULL, NULL, 'Cyprus Pound', 'currency.CYP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('37', 'CZK', '2', NULL, NULL, 'Czech Koruna', 'currency.CZK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('38', 'DJF', '0', NULL, NULL, 'Djibouti Franc', 'currency.DJF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('39', 'DKK', '2', NULL, NULL, 'Danish Krone', 'currency.DKK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('40', 'DOP', '2', NULL, 'RD$', 'Dominican Peso', 'currency.DOP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('41', 'DZD', '2', NULL, NULL, 'Algerian Dinar', 'currency.DZD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('42', 'EEK', '2', NULL, NULL, 'Estonian Kroon', 'currency.EEK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('43', 'EGP', '2', NULL, NULL, 'Egyptian Pound', 'currency.EGP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('44', 'ERN', '2', NULL, NULL, 'Eritrea Nafka', 'currency.ERN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('45', 'ETB', '2', NULL, NULL, 'Ethiopian Birr', 'currency.ETB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('46', 'EUR', '2', NULL, '€', 'Euro', 'currency.EUR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('47', 'FJD', '2', NULL, NULL, 'Fiji Dollar', 'currency.FJD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('48', 'FKP', '2', NULL, NULL, 'Falkland Islands Pound', 'currency.FKP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('49', 'GBP', '2', NULL, NULL, 'Pound Sterling', 'currency.GBP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('50', 'GEL', '2', NULL, NULL, 'Georgian Lari', 'currency.GEL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('51', 'GHC', '2', NULL, 'GHc', 'Ghana Cedi', 'currency.GHC'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('52', 'GIP', '2', NULL, NULL, 'Gibraltar Pound', 'currency.GIP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('53', 'GMD', '2', NULL, NULL, 'Gambian Dalasi', 'currency.GMD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('54', 'GNF', '0', NULL, NULL, 'Guinea Franc', 'currency.GNF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('55', 'GTQ', '2', NULL, 'Q', 'Guatemala Quetzal', 'currency.GTQ'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('56', 'GYD', '2', NULL, NULL, 'Guyana Dollar', 'currency.GYD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('57', 'HKD', '2', NULL, NULL, 'Hong Kong Dollar', 'currency.HKD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('58', 'HNL', '2', NULL, 'L', 'Honduras Lempira', 'currency.HNL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('59', 'HRK', '2', NULL, NULL, 'Croatian Kuna', 'currency.HRK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('60', 'HTG', '2', NULL, 'G', 'Haiti Gourde', 'currency.HTG'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('61', 'HUF', '2', NULL, NULL, 'Hungarian Forint', 'currency.HUF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('62', 'IDR', '2', NULL, NULL, 'Indonesian Rupiah', 'currency.IDR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('63', 'ILS', '2', NULL, NULL, 'New Israeli Shekel', 'currency.ILS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('64', 'INR', '2', NULL, '₹', 'Indian Rupee', 'currency.INR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('65', 'IQD', '3', NULL, NULL, 'Iraqi Dinar', 'currency.IQD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('66', 'IRR', '2', NULL, NULL, 'Iranian Rial', 'currency.IRR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('67', 'ISK', '0', NULL, NULL, 'Iceland Krona', 'currency.ISK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('68', 'JMD', '2', NULL, NULL, 'Jamaican Dollar', 'currency.JMD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('69', 'JOD', '3', NULL, NULL, 'Jordanian Dinar', 'currency.JOD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('70', 'JPY', '0', NULL, NULL, 'Japanese Yen', 'currency.JPY'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('71', 'KES', '2', NULL, 'KSh', 'Kenyan Shilling', 'currency.KES'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('72', 'KGS', '2', NULL, NULL, 'Kyrgyzstan Som', 'currency.KGS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('73', 'KHR', '2', NULL, NULL, 'Cambodia Riel', 'currency.KHR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('74', 'KMF', '0', NULL, NULL, 'Comoro Franc', 'currency.KMF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('75', 'KPW', '2', NULL, NULL, 'North Korean Won', 'currency.KPW'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('76', 'KRW', '0', NULL, NULL, 'Korean Won', 'currency.KRW'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('77', 'KWD', '3', NULL, NULL, 'Kuwaiti Dinar', 'currency.KWD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('78', 'KYD', '2', NULL, NULL, 'Cayman Islands Dollar', 'currency.KYD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('79', 'KZT', '2', NULL, NULL, 'Kazakhstan Tenge', 'currency.KZT'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('80', 'LAK', '2', NULL, NULL, 'Lao Kip', 'currency.LAK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('81', 'LBP', '2', NULL, 'L£', 'Lebanese Pound', 'currency.LBP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('82', 'LKR', '2', NULL, NULL, 'Sri Lanka Rupee', 'currency.LKR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('83', 'LRD', '2', NULL, NULL, 'Liberian Dollar', 'currency.LRD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('84', 'LSL', '2', NULL, NULL, 'Lesotho Loti', 'currency.LSL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('85', 'LTL', '2', NULL, NULL, 'Lithuanian Litas', 'currency.LTL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('86', 'LVL', '2', NULL, NULL, 'Latvian Lats', 'currency.LVL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('87', 'LYD', '3', NULL, NULL, 'Libyan Dinar', 'currency.LYD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('88', 'MAD', '2', NULL, NULL, 'Moroccan Dirham', 'currency.MAD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('89', 'MDL', '2', NULL, NULL, 'Moldovan Leu', 'currency.MDL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('90', 'MGA', '2', NULL, NULL, 'Malagasy Ariary', 'currency.MGA'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('91', 'MKD', '2', NULL, NULL, 'Macedonian Denar', 'currency.MKD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('92', 'MMK', '2', NULL, 'K', 'Myanmar Kyat', 'currency.MMK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('93', 'MNT', '2', NULL, NULL, 'Mongolian Tugrik', 'currency.MNT'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('94', 'MOP', '2', NULL, NULL, 'Macau Pataca', 'currency.MOP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('95', 'MRO', '2', NULL, NULL, 'Mauritania Ouguiya', 'currency.MRO'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('96', 'MTL', '2', NULL, NULL, 'Maltese Lira', 'currency.MTL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('97', 'MUR', '2', NULL, NULL, 'Mauritius Rupee', 'currency.MUR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('98', 'MVR', '2', NULL, NULL, 'Maldives Rufiyaa', 'currency.MVR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('99', 'MWK', '2', NULL, NULL, 'Malawi Kwacha', 'currency.MWK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('100', 'MXN', '2', NULL, '$', 'Mexican Peso', 'currency.MXN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('101', 'MYR', '2', NULL, NULL, 'Malaysian Ringgit', 'currency.MYR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('102', 'MZM', '2', NULL, NULL, 'Mozambique Metical', 'currency.MZM'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('103', 'NAD', '2', NULL, NULL, 'Namibia Dollar', 'currency.NAD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('104', 'NGN', '2', NULL, NULL, 'Nigerian Naira', 'currency.NGN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('105', 'NIO', '2', NULL, 'C$', 'Nicaragua Cordoba Oro', 'currency.NIO'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('106', 'NOK', '2', NULL, NULL, 'Norwegian Krone', 'currency.NOK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('107', 'NPR', '2', NULL, NULL, 'Nepalese Rupee', 'currency.NPR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('108', 'NZD', '2', NULL, NULL, 'New Zealand Dollar', 'currency.NZD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('109', 'OMR', '3', NULL, NULL, 'Rial Omani', 'currency.OMR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('110', 'PAB', '2', NULL, 'B/.', 'Panama Balboa', 'currency.PAB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('111', 'PEN', '2', NULL, 'S/.', 'Peruvian Nuevo Sol', 'currency.PEN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('112', 'PGK', '2', NULL, NULL, 'Papua New Guinea Kina', 'currency.PGK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('113', 'PHP', '2', NULL, NULL, 'Philippine Peso', 'currency.PHP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('114', 'PKR', '2', NULL, NULL, 'Pakistan Rupee', 'currency.PKR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('115', 'PLN', '2', NULL, NULL, 'Polish Zloty', 'currency.PLN'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('116', 'PYG', '0', NULL, '₲', 'Paraguayan Guarani', 'currency.PYG'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('117', 'QAR', '2', NULL, NULL, 'Qatari Rial', 'currency.QAR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('118', 'RON', '2', NULL, NULL, 'Romanian Leu', 'currency.RON'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('119', 'RUB', '2', NULL, NULL, 'Russian Ruble', 'currency.RUB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('120', 'RWF', '0', NULL, NULL, 'Rwanda Franc', 'currency.RWF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('121', 'SAR', '2', NULL, NULL, 'Saudi Riyal', 'currency.SAR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('122', 'SBD', '2', NULL, NULL, 'Solomon Islands Dollar', 'currency.SBD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('123', 'SCR', '2', NULL, NULL, 'Seychelles Rupee', 'currency.SCR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('124', 'SDD', '2', NULL, NULL, 'Sudanese Dinar', 'currency.SDD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('125', 'SEK', '2', NULL, NULL, 'Swedish Krona', 'currency.SEK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('126', 'SGD', '2', NULL, NULL, 'Singapore Dollar', 'currency.SGD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('127', 'SHP', '2', NULL, NULL, 'St Helena Pound', 'currency.SHP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('128', 'SIT', '2', NULL, NULL, 'Slovenian Tolar', 'currency.SIT'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('129', 'SKK', '2', NULL, NULL, 'Slovak Koruna', 'currency.SKK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('130', 'SLL', '2', NULL, NULL, 'Sierra Leone Leone', 'currency.SLL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('131', 'SOS', '2', NULL, NULL, 'Somali Shilling', 'currency.SOS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('132', 'SRD', '2', NULL, NULL, 'Surinam Dollar', 'currency.SRD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('133', 'STD', '2', NULL, NULL, 'Sao Tome and Principe Dobra', 'currency.STD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('134', 'SVC', '2', NULL, NULL, 'El Salvador Colon', 'currency.SVC'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('135', 'SYP', '2', NULL, NULL, 'Syrian Pound', 'currency.SYP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('136', 'SZL', '2', NULL, NULL, 'Eswatini Lilangeni', 'currency.SZL'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('137', 'THB', '2', NULL, NULL, 'Thai Baht', 'currency.THB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('138', 'TJS', '2', NULL, NULL, 'Tajik Somoni', 'currency.TJS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('139', 'TMM', '2', NULL, NULL, 'Turkmenistan Manat', 'currency.TMM'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('140', 'TND', '3', NULL, 'DT', 'Tunisian Dinar', 'currency.TND'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('141', 'TOP', '2', NULL, NULL, 'Tonga Pa''anga', 'currency.TOP'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('142', 'TRY', '2', NULL, NULL, 'Turkish Lira', 'currency.TRY'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('143', 'TTD', '2', NULL, NULL, 'Trinidad and Tobago Dollar', 'currency.TTD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('144', 'TWD', '2', NULL, NULL, 'New Taiwan Dollar', 'currency.TWD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('145', 'TZS', '2', NULL, NULL, 'Tanzanian Shilling', 'currency.TZS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('146', 'UAH', '2', NULL, NULL, 'Ukraine Hryvnia', 'currency.UAH'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('147', 'UGX', '2', NULL, 'USh', 'Uganda Shilling', 'currency.UGX'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('148', 'USD', '2', NULL, '$', 'US Dollar', 'currency.USD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('149', 'UYU', '2', NULL, '$U', 'Peso Uruguayo', 'currency.UYU'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('150', 'UZS', '2', NULL, NULL, 'Uzbekistan Sum', 'currency.UZS'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('151', 'VEB', '2', NULL, 'Bs.F.', 'Venezuelan Bolivar', 'currency.VEB'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('152', 'VND', '2', NULL, NULL, 'Vietnamese Dong', 'currency.VND'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('153', 'VUV', '0', NULL, NULL, 'Vanuatu Vatu', 'currency.VUV'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('154', 'WST', '2', NULL, NULL, 'Samoa Tala', 'currency.WST'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('155', 'XAF', '0', NULL, NULL, 'CFA Franc BEAC', 'currency.XAF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('156', 'XCD', '2', NULL, NULL, 'East Caribbean Dollar', 'currency.XCD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('157', 'XDR', '5', NULL, NULL, 'SDR (Special Drawing Rights)', 'currency.XDR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('158', 'XOF', '0', NULL, 'CFA', 'CFA Franc BCEAO', 'currency.XOF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('159', 'XPF', '0', NULL, NULL, 'CFP Franc', 'currency.XPF'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('160', 'YER', '2', NULL, NULL, 'Yemeni Rial', 'currency.YER'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('161', 'ZAR', '2', NULL, 'R', 'South African Rand', 'currency.ZAR'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('162', 'ZMK', '2', NULL, NULL, 'Zambian Kwacha', 'currency.ZMK'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('163', 'ZWD', '2', NULL, NULL, 'Zimbabwe Dollar', 'currency.ZWD'); +INSERT INTO public.m_currency (id, code, decimal_places, currency_multiplesof, display_symbol, name, internationalized_name_code) VALUES ('164', 'SSP', '2', NULL, 'SS£', 'South Sudanese Pound', 'currency.SSP'); + + +-- Data for Name: m_collateral_management; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_collateral_management; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_identifier; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_non_person; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_client_transfer_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_creditbureau; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_creditbureau (id, name, product, country, implementation_key) VALUES ('1', 'THITSAWORKS', '1', 'Myanmar', '1'); + + +-- Data for Name: m_creditbureau_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('1', 'Password', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('2', 'SubscriptionId', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('3', 'SubscriptionKey', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('4', 'Username', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('5', 'tokenurl', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('6', 'searchurl', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('7', 'creditReporturl', '', '1', ''); +INSERT INTO public.m_creditbureau_configuration (id, configkey, value, organisation_creditbureau_id, description) VALUES ('8', 'addCreditReporturl', '', '1', ''); + + +-- Data for Name: m_organisation_creditbureau; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_creditbureau_loanproduct_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_creditbureau_token; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_creditreport; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_delinquency_range; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_delinquency_bucket_mappings; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_account_on_hold_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_account_recurring_detail; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_account_term_and_preclosure; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_interest_rate_chart; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_product_interest_rate_chart; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_product_recurring_detail; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_deposit_product_term_and_preclosure; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_document; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: x_registered_table; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_entity_datatable_check; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_entity_relation; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_entity_relation (id, from_entity_type, to_entity_type, code_name) VALUES ('1', '1', '2', 'office_access_to_loan_products'); +INSERT INTO public.m_entity_relation (id, from_entity_type, to_entity_type, code_name) VALUES ('2', '1', '3', 'office_access_to_savings_products'); +INSERT INTO public.m_entity_relation (id, from_entity_type, to_entity_type, code_name) VALUES ('3', '1', '4', 'office_access_to_fees/charges'); +INSERT INTO public.m_entity_relation (id, from_entity_type, to_entity_type, code_name) VALUES ('4', '5', '2', 'role_access_to_loan_products'); +INSERT INTO public.m_entity_relation (id, from_entity_type, to_entity_type, code_name) VALUES ('5', '5', '3', 'role_access_to_savings_products'); + + +-- Data for Name: m_entity_to_entity_access; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_entity_to_entity_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_external_event; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_external_event_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ClientActivateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ClientCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ClientRejectBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('FixedDepositAccountCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('RecurringDepositAccountCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('CentersCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('GroupsCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanAddChargeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanDeleteChargeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUpdateChargeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWaiveChargeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWaiveChargeUndoBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanProductCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargePaymentPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargePaymentPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargeRefundBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCreditBalanceRefundPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCreditBalanceRefundPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanDisbursalTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanForeClosurePostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanForeClosurePreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRefundPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRefundPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionGoodwillCreditPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionGoodwillCreditPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionMakeRepaymentPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionMakeRepaymentPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionMerchantIssuedRefundPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionMerchantIssuedRefundPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionPayoutRefundPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionPayoutRefundPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionRecoveryPaymentPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionRecoveryPaymentPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoWrittenOffBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWaiveInterestBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWrittenOffPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWrittenOffPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanAcceptTransferBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanAdjustTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanApplyOverdueChargeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanApprovedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanBalanceChangedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargebackTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCloseAsRescheduleBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCloseBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanDisbursalBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanInitiateTransferBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanInterestRecalculationBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanReassignOfficerBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRejectedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRejectTransferBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRemoveOfficerBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRescheduledDueCalendarChangeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRescheduledDueHolidayBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanScheduleVariationsAddedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanScheduleVariationsDeletedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanStatusChangedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoApprovalBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoDisbursalBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoLastDisbursalBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUpdateDisbursementDataBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWithdrawTransferBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsDepositBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsWithdrawalBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsActivateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsApproveBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsCloseBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsPostInterestBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsRejectBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ShareAccountApproveBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ShareAccountCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('ShareProductDividentsCreateBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRepaymentDueBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRepaymentOverdueBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargeAdjustmentPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargeAdjustmentPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanDelinquencyRangeChangeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanAccountsStayedLockedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargeOffPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanChargeOffPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoChargeOffBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanAccrualTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanRescheduledDueAdjustScheduleBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanReAgeTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoReAgeTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanReAmortizeTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoReAmortizeTransactionBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanReAmortizeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoReAmortizeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanReAgeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanUndoReAgeBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionInterestPaymentWaiverPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionInterestPaymentWaiverPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionAccrualActivityPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionAccrualActivityPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionInterestRefundPostBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanTransactionInterestRefundPreBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCapitalizedIncomeAmortizationTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCapitalizedIncomeAdjustmentTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCapitalizedIncomeAmortizationAdjustmentTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanCapitalizedIncomeTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('DocumentCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('DocumentDeletedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanWithdrawnByApplicantBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanApplicationModifiedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanBuyDownFeeTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanBuyDownFeeAdjustmentTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanBuyDownFeeAmortizationTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanBuyDownFeeAmortizationAdjustmentTransactionCreatedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('LoanApprovedAmountChangedBusinessEvent', 'f'); +INSERT INTO public.m_external_event_configuration (type, enabled) VALUES ('SavingsAccountForceWithdrawalBusinessEvent', 'f'); + + +-- Data for Name: m_family_members; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_field_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('1', 'ADDRESS', 'CLIENT', 'addressType', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('3', 'ADDRESS', 'CLIENT', 'addressLine1', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('4', 'ADDRESS', 'CLIENT', 'addressLine2', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('5', 'ADDRESS', 'CLIENT', 'addressLine3', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('6', 'ADDRESS', 'CLIENT', 'townVillage', 'f', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('7', 'ADDRESS', 'CLIENT', 'city', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('8', 'ADDRESS', 'CLIENT', 'countyDistrict', 'f', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('9', 'ADDRESS', 'CLIENT', 'stateProvinceId', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('10', 'ADDRESS', 'CLIENT', 'countryId', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('11', 'ADDRESS', 'CLIENT', 'postalCode', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('12', 'ADDRESS', 'CLIENT', 'latitude', 'f', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('13', 'ADDRESS', 'CLIENT', 'longitude', 'f', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('14', 'ADDRESS', 'CLIENT', 'createdBy', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('15', 'ADDRESS', 'CLIENT', 'createdOn', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('16', 'ADDRESS', 'CLIENT', 'updatedBy', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('17', 'ADDRESS', 'CLIENT', 'updatedOn', 't', 'f', ''); +INSERT INTO public.m_field_configuration (id, entity, subentity, field, is_enabled, is_mandatory, validation_regex) VALUES ('18', 'ADDRESS', 'CLIENT', 'isActive', 't', 'f', ''); + + +-- Data for Name: m_floating_rates; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_floating_rates_periods; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_group_client; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_group_roles; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_guarantor; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_portfolio_account_associations; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_guarantor_funding_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_guarantor_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_holiday; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_holiday_office; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_hook_templates; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_hook_templates (id, name) VALUES ('1', 'Web'); +INSERT INTO public.m_hook_templates (id, name) VALUES ('2', 'SMS Bridge'); +INSERT INTO public.m_hook_templates (id, name) VALUES ('3', 'Elastic Search'); +INSERT INTO public.m_hook_templates (id, name) VALUES ('4', 'Message Gateway'); + + +-- Data for Name: m_template; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_hook; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_hook_configuration; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_hook_registered_events; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_hook_schema; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('1', '1', 'string', 'Payload URL', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('2', '1', 'string', 'Content Type', 'json / form', 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('3', '2', 'string', 'Payload URL', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('4', '2', 'string', 'SMS Provider', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('5', '2', 'string', 'Phone Number', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('6', '2', 'string', 'SMS Provider Token', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('7', '2', 'string', 'SMS Provider Account Id', NULL, 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('8', '3', 'string', 'Payload URL', 'http:////', 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('9', '3', 'string', 'Content Type', 'json', 'f'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('10', '3', 'string', 'Index Name', NULL, 't'); +INSERT INTO public.m_hook_schema (id, hook_template_id, field_type, field_name, placeholder, optional) VALUES ('11', '4', 'string', 'SMS Provider Id', NULL, 'f'); + + +-- Data for Name: m_import_document; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_interest_rate_slab; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_interest_incentives; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_journal_entry_aggregation_summary; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_journal_entry_aggregation_tracking; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_account_locks; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_amortization_allocation_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_approved_amount_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_arrears_aging; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_buy_down_fee_balance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_capitalized_income_balance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_charge_paid_by; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_collateral; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_collateral_management; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_delinquency_tag_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_disbursement_detail; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_repayment_schedule; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_installment_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_interest_recalculation_additional_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_officer_assignment_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_overdue_installment_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_rate; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_rate; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_reage_parameter; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_recalculation_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_reschedule_request; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_repayment_schedule_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_term_variations; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_reschedule_request_term_variations_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_topup; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_tranche_charges; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_tranche_disbursement_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_transaction_relation; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loan_transaction_repayment_schedule_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_provision_category; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_provision_category (id, category_name, description) VALUES ('1', 'STANDARD', 'Punctual Payment without any dues'); +INSERT INTO public.m_provision_category (id, category_name, description) VALUES ('2', 'SUB-STANDARD', 'Principal and/or Interest overdue by x days'); +INSERT INTO public.m_provision_category (id, category_name, description) VALUES ('3', 'DOUBTFUL', 'Principal and/or Interest overdue by x days and less than y'); +INSERT INTO public.m_provision_category (id, category_name, description) VALUES ('4', 'LOSS', 'Principal and/or Interest overdue by y days'); + + +-- Data for Name: m_provisioning_criteria; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_provisioning_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loanproduct_provisioning_entry; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_loanproduct_provisioning_mapping; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_mandatory_savings_schedule; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_note; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_office_transaction; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_organisation_currency; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_organisation_currency (id, code, decimal_places, currency_multiplesof, name, display_symbol, internationalized_name_code) VALUES ('21', 'USD', '2', NULL, 'US Dollar', '$', 'currency.USD'); + + +-- Data for Name: m_password_validation_policy; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_password_validation_policy (id, regex, description, active, key) VALUES ('2', '^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{6,50}$', 'Password must be at least 6 characters, no more than 50 characters long, must include at least one upper case letter, one lower case letter, one numeric digit and no space', 'f', 'secure'); +INSERT INTO public.m_password_validation_policy (id, regex, description, active, key) VALUES ('1', '^.{1,50}$', 'Password most be at least 1 character and not more that 50 characters long', 'f', 'simple'); +INSERT INTO public.m_password_validation_policy (id, regex, description, active, key) VALUES ('3', '^(?!.*(.)\1)(?!.*\s)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\s]).{12,50}$', 'Password must be 12 to 50 characters long, containing at least one uppercase letter, one lowercase letter, one numeric digit, and one special character, with no spaces or consecutive repeating characters', 't', 'strong'); + + +-- Data for Name: m_permission; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('1', 'special', 'ALL_FUNCTIONS', NULL, NULL, 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('2', 'special', 'ALL_FUNCTIONS_READ', NULL, NULL, 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('3', 'special', 'CHECKER_SUPER_USER', NULL, NULL, 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('4', 'special', 'REPORTING_SUPER_USER', NULL, NULL, 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('5', 'authorisation', 'READ_PERMISSION', 'PERMISSION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('6', 'authorisation', 'PERMISSIONS_ROLE', 'ROLE', 'PERMISSIONS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('7', 'authorisation', 'CREATE_ROLE', 'ROLE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('8', 'authorisation', 'CREATE_ROLE_CHECKER', 'ROLE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('9', 'authorisation', 'READ_ROLE', 'ROLE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('10', 'authorisation', 'UPDATE_ROLE', 'ROLE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('11', 'authorisation', 'UPDATE_ROLE_CHECKER', 'ROLE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('12', 'authorisation', 'DELETE_ROLE', 'ROLE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('13', 'authorisation', 'DELETE_ROLE_CHECKER', 'ROLE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('14', 'authorisation', 'CREATE_USER', 'USER', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('15', 'authorisation', 'CREATE_USER_CHECKER', 'USER', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('16', 'authorisation', 'READ_USER', 'USER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('17', 'authorisation', 'UPDATE_USER', 'USER', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('18', 'authorisation', 'UPDATE_USER_CHECKER', 'USER', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('19', 'authorisation', 'DELETE_USER', 'USER', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('20', 'authorisation', 'DELETE_USER_CHECKER', 'USER', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('21', 'configuration', 'READ_CONFIGURATION', 'CONFIGURATION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('22', 'configuration', 'UPDATE_CONFIGURATION', 'CONFIGURATION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('23', 'configuration', 'UPDATE_CONFIGURATION_CHECKER', 'CONFIGURATION', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('24', 'configuration', 'READ_CODE', 'CODE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('25', 'configuration', 'CREATE_CODE', 'CODE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('26', 'configuration', 'CREATE_CODE_CHECKER', 'CODE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('27', 'configuration', 'UPDATE_CODE', 'CODE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('28', 'configuration', 'UPDATE_CODE_CHECKER', 'CODE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('29', 'configuration', 'DELETE_CODE', 'CODE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('30', 'configuration', 'DELETE_CODE_CHECKER', 'CODE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('31', 'configuration', 'READ_CODEVALUE', 'CODEVALUE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('32', 'configuration', 'CREATE_CODEVALUE', 'CODEVALUE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('33', 'configuration', 'CREATE_CODEVALUE_CHECKER', 'CODEVALUE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('34', 'configuration', 'UPDATE_CODEVALUE', 'CODEVALUE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('35', 'configuration', 'UPDATE_CODEVALUE_CHECKER', 'CODEVALUE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('36', 'configuration', 'DELETE_CODEVALUE', 'CODEVALUE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('37', 'configuration', 'DELETE_CODEVALUE_CHECKER', 'CODEVALUE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('38', 'configuration', 'READ_CURRENCY', 'CURRENCY', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('39', 'configuration', 'UPDATE_CURRENCY', 'CURRENCY', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('40', 'configuration', 'UPDATE_CURRENCY_CHECKER', 'CURRENCY', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('41', 'configuration', 'UPDATE_PERMISSION', 'PERMISSION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('42', 'configuration', 'UPDATE_PERMISSION_CHECKER', 'PERMISSION', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('43', 'configuration', 'READ_DATATABLE', 'DATATABLE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('44', 'configuration', 'REGISTER_DATATABLE', 'DATATABLE', 'REGISTER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('45', 'configuration', 'REGISTER_DATATABLE_CHECKER', 'DATATABLE', 'REGISTER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('46', 'configuration', 'DEREGISTER_DATATABLE', 'DATATABLE', 'DEREGISTER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('47', 'configuration', 'DEREGISTER_DATATABLE_CHECKER', 'DATATABLE', 'DEREGISTER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('48', 'configuration', 'READ_AUDIT', 'AUDIT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('49', 'configuration', 'CREATE_CALENDAR', 'CALENDAR', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('50', 'configuration', 'READ_CALENDAR', 'CALENDAR', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('51', 'configuration', 'UPDATE_CALENDAR', 'CALENDAR', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('52', 'configuration', 'DELETE_CALENDAR', 'CALENDAR', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('53', 'configuration', 'CREATE_CALENDAR_CHECKER', 'CALENDAR', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('54', 'configuration', 'UPDATE_CALENDAR_CHECKER', 'CALENDAR', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('55', 'configuration', 'DELETE_CALENDAR_CHECKER', 'CALENDAR', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('57', 'organisation', 'READ_CHARGE', 'CHARGE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('58', 'organisation', 'CREATE_CHARGE', 'CHARGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('59', 'organisation', 'CREATE_CHARGE_CHECKER', 'CHARGE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('60', 'organisation', 'UPDATE_CHARGE', 'CHARGE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('61', 'organisation', 'UPDATE_CHARGE_CHECKER', 'CHARGE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('62', 'organisation', 'DELETE_CHARGE', 'CHARGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('63', 'organisation', 'DELETE_CHARGE_CHECKER', 'CHARGE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('64', 'organisation', 'READ_FUND', 'FUND', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('65', 'organisation', 'CREATE_FUND', 'FUND', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('66', 'organisation', 'CREATE_FUND_CHECKER', 'FUND', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('67', 'organisation', 'UPDATE_FUND', 'FUND', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('68', 'organisation', 'UPDATE_FUND_CHECKER', 'FUND', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('69', 'organisation', 'DELETE_FUND', 'FUND', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('70', 'organisation', 'DELETE_FUND_CHECKER', 'FUND', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('71', 'organisation', 'READ_LOANPRODUCT', 'LOANPRODUCT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('72', 'organisation', 'CREATE_LOANPRODUCT', 'LOANPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('73', 'organisation', 'CREATE_LOANPRODUCT_CHECKER', 'LOANPRODUCT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('74', 'organisation', 'UPDATE_LOANPRODUCT', 'LOANPRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('75', 'organisation', 'UPDATE_LOANPRODUCT_CHECKER', 'LOANPRODUCT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('76', 'organisation', 'DELETE_LOANPRODUCT', 'LOANPRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('77', 'organisation', 'DELETE_LOANPRODUCT_CHECKER', 'LOANPRODUCT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('78', 'organisation', 'READ_OFFICE', 'OFFICE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('79', 'organisation', 'CREATE_OFFICE', 'OFFICE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('80', 'organisation', 'CREATE_OFFICE_CHECKER', 'OFFICE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('81', 'organisation', 'UPDATE_OFFICE', 'OFFICE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('82', 'organisation', 'UPDATE_OFFICE_CHECKER', 'OFFICE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('83', 'organisation', 'READ_OFFICETRANSACTION', 'OFFICETRANSACTION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('84', 'organisation', 'DELETE_OFFICE_CHECKER', 'OFFICE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('85', 'organisation', 'CREATE_OFFICETRANSACTION', 'OFFICETRANSACTION', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('86', 'organisation', 'CREATE_OFFICETRANSACTION_CHECKER', 'OFFICETRANSACTION', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('87', 'organisation', 'DELETE_OFFICETRANSACTION', 'OFFICETRANSACTION', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('88', 'organisation', 'DELETE_OFFICETRANSACTION_CHECKER', 'OFFICETRANSACTION', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('89', 'organisation', 'READ_STAFF', 'STAFF', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('90', 'organisation', 'CREATE_STAFF', 'STAFF', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('91', 'organisation', 'CREATE_STAFF_CHECKER', 'STAFF', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('92', 'organisation', 'UPDATE_STAFF', 'STAFF', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('93', 'organisation', 'UPDATE_STAFF_CHECKER', 'STAFF', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('94', 'organisation', 'DELETE_STAFF', 'STAFF', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('95', 'organisation', 'DELETE_STAFF_CHECKER', 'STAFF', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('96', 'organisation', 'READ_SAVINGSPRODUCT', 'SAVINGSPRODUCT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('97', 'organisation', 'CREATE_SAVINGSPRODUCT', 'SAVINGSPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('98', 'organisation', 'CREATE_SAVINGSPRODUCT_CHECKER', 'SAVINGSPRODUCT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('99', 'organisation', 'UPDATE_SAVINGSPRODUCT', 'SAVINGSPRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('100', 'organisation', 'UPDATE_SAVINGSPRODUCT_CHECKER', 'SAVINGSPRODUCT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('101', 'organisation', 'DELETE_SAVINGSPRODUCT', 'SAVINGSPRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('102', 'organisation', 'DELETE_SAVINGSPRODUCT_CHECKER', 'SAVINGSPRODUCT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('103', 'portfolio', 'READ_LOAN', 'LOAN', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('104', 'portfolio', 'CREATE_LOAN', 'LOAN', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('105', 'portfolio', 'CREATE_LOAN_CHECKER', 'LOAN', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('106', 'portfolio', 'UPDATE_LOAN', 'LOAN', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('107', 'portfolio', 'UPDATE_LOAN_CHECKER', 'LOAN', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('108', 'portfolio', 'DELETE_LOAN', 'LOAN', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('109', 'portfolio', 'DELETE_LOAN_CHECKER', 'LOAN', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('110', 'portfolio', 'READ_CLIENT', 'CLIENT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('111', 'portfolio', 'CREATE_CLIENT', 'CLIENT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('112', 'portfolio', 'CREATE_CLIENT_CHECKER', 'CLIENT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('113', 'portfolio', 'UPDATE_CLIENT', 'CLIENT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('114', 'portfolio', 'UPDATE_CLIENT_CHECKER', 'CLIENT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('115', 'portfolio', 'DELETE_CLIENT', 'CLIENT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('116', 'portfolio', 'DELETE_CLIENT_CHECKER', 'CLIENT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('117', 'portfolio', 'READ_CLIENTIMAGE', 'CLIENTIMAGE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('118', 'portfolio', 'CREATE_CLIENTIMAGE', 'CLIENTIMAGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('119', 'portfolio', 'CREATE_CLIENTIMAGE_CHECKER', 'CLIENTIMAGE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('120', 'portfolio', 'DELETE_CLIENTIMAGE', 'CLIENTIMAGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('121', 'portfolio', 'DELETE_CLIENTIMAGE_CHECKER', 'CLIENTIMAGE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('122', 'portfolio', 'READ_CLIENTNOTE', 'CLIENTNOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('123', 'portfolio', 'CREATE_CLIENTNOTE', 'CLIENTNOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('124', 'portfolio', 'CREATE_CLIENTNOTE_CHECKER', 'CLIENTNOTE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('125', 'portfolio', 'UPDATE_CLIENTNOTE', 'CLIENTNOTE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('126', 'portfolio', 'UPDATE_CLIENTNOTE_CHECKER', 'CLIENTNOTE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('127', 'portfolio', 'DELETE_CLIENTNOTE', 'CLIENTNOTE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('128', 'portfolio', 'DELETE_CLIENTNOTE_CHECKER', 'CLIENTNOTE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('129', 'portfolio_group', 'READ_GROUPNOTE', 'GROUPNOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('130', 'portfolio_group', 'CREATE_GROUPNOTE', 'GROUPNOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('131', 'portfolio_group', 'UPDATE_GROUPNOTE', 'GROUPNOTE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('132', 'portfolio_group', 'DELETE_GROUPNOTE', 'GROUPNOTE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('133', 'portfolio_group', 'CREATE_GROUPNOTE_CHECKER', 'GROUPNOTE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('134', 'portfolio_group', 'UPDATE_GROUPNOTE_CHECKER', 'GROUPNOTE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('135', 'portfolio_group', 'DELETE_GROUPNOTE_CHECKER', 'GROUPNOTE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('136', 'portfolio', 'READ_LOANNOTE', 'LOANNOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('137', 'portfolio', 'CREATE_LOANNOTE', 'LOANNOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('138', 'portfolio', 'UPDATE_LOANNOTE', 'LOANNOTE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('139', 'portfolio', 'DELETE_LOANNOTE', 'LOANNOTE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('140', 'portfolio', 'CREATE_LOANNOTE_CHECKER', 'LOANNOTE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('141', 'portfolio', 'UPDATE_LOANNOTE_CHECKER', 'LOANNOTE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('142', 'portfolio', 'DELETE_LOANNOTE_CHECKER', 'LOANNOTE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('143', 'portfolio', 'READ_LOANTRANSACTIONNOTE', 'LOANTRANSACTIONNOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('144', 'portfolio', 'CREATE_LOANTRANSACTIONNOTE', 'LOANTRANSACTIONNOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('145', 'portfolio', 'UPDATE_LOANTRANSACTIONNOTE', 'LOANTRANSACTIONNOTE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('146', 'portfolio', 'DELETE_LOANTRANSACTIONNOTE', 'LOANTRANSACTIONNOTE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('147', 'portfolio', 'CREATE_LOANTRANSACTIONNOTE_CHECKER', 'LOANTRANSACTIONNOTE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('148', 'portfolio', 'UPDATE_LOANTRANSACTIONNOTE_CHECKER', 'LOANTRANSACTIONNOTE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('149', 'portfolio', 'DELETE_LOANTRANSACTIONNOTE_CHECKER', 'LOANTRANSACTIONNOTE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('150', 'portfolio', 'READ_SAVINGNOTE', 'SAVINGNOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('151', 'portfolio', 'CREATE_SAVINGNOTE', 'SAVINGNOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('152', 'portfolio', 'UPDATE_SAVINGNOTE', 'SAVINGNOTE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('153', 'portfolio', 'DELETE_SAVINGNOTE', 'SAVINGNOTE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('154', 'portfolio', 'CREATE_SAVINGNOTE_CHECKER', 'SAVINGNOTE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('155', 'portfolio', 'UPDATE_SAVINGNOTE_CHECKER', 'SAVINGNOTE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('156', 'portfolio', 'DELETE_SAVINGNOTE_CHECKER', 'SAVINGNOTE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('157', 'portfolio', 'READ_CLIENTIDENTIFIER', 'CLIENTIDENTIFIER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('158', 'portfolio', 'CREATE_CLIENTIDENTIFIER', 'CLIENTIDENTIFIER', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('159', 'portfolio', 'CREATE_CLIENTIDENTIFIER_CHECKER', 'CLIENTIDENTIFIER', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('160', 'portfolio', 'UPDATE_CLIENTIDENTIFIER', 'CLIENTIDENTIFIER', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('161', 'portfolio', 'UPDATE_CLIENTIDENTIFIER_CHECKER', 'CLIENTIDENTIFIER', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('162', 'portfolio', 'DELETE_CLIENTIDENTIFIER', 'CLIENTIDENTIFIER', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('163', 'portfolio', 'DELETE_CLIENTIDENTIFIER_CHECKER', 'CLIENTIDENTIFIER', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('164', 'portfolio', 'READ_DOCUMENT', 'DOCUMENT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('165', 'portfolio', 'CREATE_DOCUMENT', 'DOCUMENT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('166', 'portfolio', 'CREATE_DOCUMENT_CHECKER', 'DOCUMENT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('167', 'portfolio', 'UPDATE_DOCUMENT', 'DOCUMENT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('168', 'portfolio', 'UPDATE_DOCUMENT_CHECKER', 'DOCUMENT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('169', 'portfolio', 'DELETE_DOCUMENT', 'DOCUMENT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('170', 'portfolio', 'DELETE_DOCUMENT_CHECKER', 'DOCUMENT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('171', 'portfolio_group', 'READ_GROUP', 'GROUP', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('172', 'portfolio_group', 'CREATE_GROUP', 'GROUP', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('173', 'portfolio_group', 'CREATE_GROUP_CHECKER', 'GROUP', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('174', 'portfolio_group', 'UPDATE_GROUP', 'GROUP', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('175', 'portfolio_group', 'UPDATE_GROUP_CHECKER', 'GROUP', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('176', 'portfolio_group', 'DELETE_GROUP', 'GROUP', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('177', 'portfolio_group', 'DELETE_GROUP_CHECKER', 'GROUP', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('178', 'portfolio_group', 'UNASSIGNSTAFF_GROUP', 'GROUP', 'UNASSIGNSTAFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('179', 'portfolio_group', 'UNASSIGNSTAFF_GROUP_CHECKER', 'GROUP', 'UNASSIGNSTAFF_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('180', 'portfolio', 'CREATE_LOANCHARGE', 'LOANCHARGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('181', 'portfolio', 'CREATE_LOANCHARGE_CHECKER', 'LOANCHARGE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('182', 'portfolio', 'UPDATE_LOANCHARGE', 'LOANCHARGE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('183', 'portfolio', 'UPDATE_LOANCHARGE_CHECKER', 'LOANCHARGE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('184', 'portfolio', 'DELETE_LOANCHARGE', 'LOANCHARGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('185', 'portfolio', 'DELETE_LOANCHARGE_CHECKER', 'LOANCHARGE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('186', 'portfolio', 'WAIVE_LOANCHARGE', 'LOANCHARGE', 'WAIVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('187', 'portfolio', 'WAIVE_LOANCHARGE_CHECKER', 'LOANCHARGE', 'WAIVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('188', 'portfolio', 'READ_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('189', 'portfolio', 'CREATE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('190', 'portfolio', 'CREATE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('191', 'portfolio', 'UPDATE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('192', 'portfolio', 'UPDATE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('193', 'portfolio', 'DELETE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('194', 'portfolio', 'DELETE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('195', 'portfolio', 'READ_GUARANTOR', 'GUARANTOR', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('196', 'portfolio', 'CREATE_GUARANTOR', 'GUARANTOR', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('197', 'portfolio', 'CREATE_GUARANTOR_CHECKER', 'GUARANTOR', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('198', 'portfolio', 'UPDATE_GUARANTOR', 'GUARANTOR', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('199', 'portfolio', 'UPDATE_GUARANTOR_CHECKER', 'GUARANTOR', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('200', 'portfolio', 'DELETE_GUARANTOR', 'GUARANTOR', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('201', 'portfolio', 'DELETE_GUARANTOR_CHECKER', 'GUARANTOR', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('202', 'portfolio', 'READ_COLLATERAL', 'COLLATERAL', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('203', 'portfolio', 'CREATE_COLLATERAL', 'COLLATERAL', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('204', 'portfolio', 'UPDATE_COLLATERAL', 'COLLATERAL', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('205', 'portfolio', 'DELETE_COLLATERAL', 'COLLATERAL', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('206', 'portfolio', 'CREATE_COLLATERAL_CHECKER', 'COLLATERAL', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('207', 'portfolio', 'UPDATE_COLLATERAL_CHECKER', 'COLLATERAL', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('208', 'portfolio', 'DELETE_COLLATERAL_CHECKER', 'COLLATERAL', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('209', 'transaction_loan', 'APPROVE_LOAN', 'LOAN', 'APPROVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('211', 'transaction_loan', 'REJECT_LOAN', 'LOAN', 'REJECT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('213', 'transaction_loan', 'WITHDRAW_LOAN', 'LOAN', 'WITHDRAW', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('215', 'transaction_loan', 'APPROVALUNDO_LOAN', 'LOAN', 'APPROVALUNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('216', 'transaction_loan', 'DISBURSE_LOAN', 'LOAN', 'DISBURSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('218', 'transaction_loan', 'DISBURSALUNDO_LOAN', 'LOAN', 'DISBURSALUNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('219', 'transaction_loan', 'REPAYMENT_LOAN', 'LOAN', 'REPAYMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('221', 'transaction_loan', 'ADJUST_LOAN', 'LOAN', 'ADJUST', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('222', 'transaction_loan', 'WAIVEINTERESTPORTION_LOAN', 'LOAN', 'WAIVEINTERESTPORTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('223', 'transaction_loan', 'WRITEOFF_LOAN', 'LOAN', 'WRITEOFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('224', 'transaction_loan', 'CLOSE_LOAN', 'LOAN', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('225', 'transaction_loan', 'CLOSEASRESCHEDULED_LOAN', 'LOAN', 'CLOSEASRESCHEDULED', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('226', 'transaction_loan', 'UPDATELOANOFFICER_LOAN', 'LOAN', 'UPDATELOANOFFICER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('227', 'transaction_loan', 'UPDATELOANOFFICER_LOAN_CHECKER', 'LOAN', 'UPDATELOANOFFICER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('228', 'transaction_loan', 'REMOVELOANOFFICER_LOAN', 'LOAN', 'REMOVELOANOFFICER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('229', 'transaction_loan', 'REMOVELOANOFFICER_LOAN_CHECKER', 'LOAN', 'REMOVELOANOFFICER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('230', 'transaction_loan', 'BULKREASSIGN_LOAN', 'LOAN', 'BULKREASSIGN', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('231', 'transaction_loan', 'BULKREASSIGN_LOAN_CHECKER', 'LOAN', 'BULKREASSIGN_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('232', 'transaction_loan', 'APPROVE_LOAN_CHECKER', 'LOAN', 'APPROVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('234', 'transaction_loan', 'REJECT_LOAN_CHECKER', 'LOAN', 'REJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('236', 'transaction_loan', 'WITHDRAW_LOAN_CHECKER', 'LOAN', 'WITHDRAW_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('238', 'transaction_loan', 'APPROVALUNDO_LOAN_CHECKER', 'LOAN', 'APPROVALUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('239', 'transaction_loan', 'DISBURSE_LOAN_CHECKER', 'LOAN', 'DISBURSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('241', 'transaction_loan', 'DISBURSALUNDO_LOAN_CHECKER', 'LOAN', 'DISBURSALUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('242', 'transaction_loan', 'REPAYMENT_LOAN_CHECKER', 'LOAN', 'REPAYMENT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('244', 'transaction_loan', 'ADJUST_LOAN_CHECKER', 'LOAN', 'ADJUST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('245', 'transaction_loan', 'WAIVEINTERESTPORTION_LOAN_CHECKER', 'LOAN', 'WAIVEINTERESTPORTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('246', 'transaction_loan', 'WRITEOFF_LOAN_CHECKER', 'LOAN', 'WRITEOFF_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('247', 'transaction_loan', 'CLOSE_LOAN_CHECKER', 'LOAN', 'CLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('248', 'transaction_loan', 'CLOSEASRESCHEDULED_LOAN_CHECKER', 'LOAN', 'CLOSEASRESCHEDULED_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('249', 'transaction_loan', 'UNDO_WAIVECHARGE', 'WAIVECHARGE', 'UNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('250', 'transaction_savings', 'DEPOSIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'DEPOSIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('251', 'transaction_savings', 'DEPOSIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'DEPOSIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('252', 'transaction_savings', 'WITHDRAWAL_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'WITHDRAWAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('253', 'transaction_savings', 'WITHDRAWAL_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'WITHDRAWAL_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('254', 'transaction_savings', 'ACTIVATE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('255', 'transaction_savings', 'ACTIVATE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('256', 'transaction_savings', 'CALCULATEINTEREST_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'CALCULATEINTEREST', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('257', 'transaction_savings', 'CALCULATEINTEREST_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'CALCULATEINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('258', 'accounting', 'CREATE_GLACCOUNT', 'GLACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('259', 'accounting', 'UPDATE_GLACCOUNT', 'GLACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('260', 'accounting', 'DELETE_GLACCOUNT', 'GLACCOUNT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('261', 'accounting', 'CREATE_GLCLOSURE', 'GLCLOSURE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('262', 'accounting', 'UPDATE_GLCLOSURE', 'GLCLOSURE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('263', 'accounting', 'DELETE_GLCLOSURE', 'GLCLOSURE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('264', 'accounting', 'CREATE_JOURNALENTRY', 'JOURNALENTRY', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('265', 'accounting', 'REVERSE_JOURNALENTRY', 'JOURNALENTRY', 'REVERSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('266', 'report', 'READ_Active Loans - Details', 'Active Loans - Details', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('267', 'report', 'READ_Active Loans - Summary', 'Active Loans - Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('268', 'report', 'READ_Active Loans by Disbursal Period', 'Active Loans by Disbursal Period', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('269', 'report', 'READ_Active Loans in last installment', 'Active Loans in last installment', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('270', 'report', 'READ_Active Loans in last installment Summary', 'Active Loans in last installment Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('271', 'report', 'READ_Active Loans Passed Final Maturity', 'Active Loans Passed Final Maturity', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('272', 'report', 'READ_Active Loans Passed Final Maturity Summary', 'Active Loans Passed Final Maturity Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('273', 'report', 'READ_Aging Detail', 'Aging Detail', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('274', 'report', 'READ_Aging Summary (Arrears in Months)', 'Aging Summary (Arrears in Months)', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('275', 'report', 'READ_Aging Summary (Arrears in Weeks)', 'Aging Summary (Arrears in Weeks)', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('276', 'report', 'READ_Balance Sheet', 'Balance Sheet', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('277', 'report', 'READ_Branch Expected Cash Flow', 'Branch Expected Cash Flow', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('278', 'report', 'READ_Client Listing', 'Client Listing', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('279', 'report', 'READ_Client Loans Listing', 'Client Loans Listing', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('280', 'report', 'READ_Expected Payments By Date - Basic', 'Expected Payments By Date - Basic', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('281', 'report', 'READ_Expected Payments By Date - Formatted', 'Expected Payments By Date - Formatted', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('282', 'report', 'READ_Funds Disbursed Between Dates Summary', 'Funds Disbursed Between Dates Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('283', 'report', 'READ_Funds Disbursed Between Dates Summary by Office', 'Funds Disbursed Between Dates Summary by Office', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('284', 'report', 'READ_Income Statement', 'Income Statement', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('285', 'report', 'READ_Loan Account Schedule', 'Loan Account Schedule', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('286', 'report', 'READ_Loans Awaiting Disbursal', 'Loans Awaiting Disbursal', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('287', 'report', 'READ_Loans Awaiting Disbursal Summary', 'Loans Awaiting Disbursal Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('288', 'report', 'READ_Loans Awaiting Disbursal Summary by Month', 'Loans Awaiting Disbursal Summary by Month', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('289', 'report', 'READ_Loans Pending Approval', 'Loans Pending Approval', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('290', 'report', 'READ_Obligation Met Loans Details', 'Obligation Met Loans Details', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('291', 'report', 'READ_Obligation Met Loans Summary', 'Obligation Met Loans Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('292', 'report', 'READ_Portfolio at Risk', 'Portfolio at Risk', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('293', 'report', 'READ_Portfolio at Risk by Branch', 'Portfolio at Risk by Branch', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('294', 'report', 'READ_Rescheduled Loans', 'Rescheduled Loans', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('295', 'report', 'READ_Trial Balance', 'Trial Balance', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('296', 'report', 'READ_Written-Off Loans', 'Written-Off Loans', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('297', 'transaction_savings', 'POSTINTEREST_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'POSTINTEREST', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('298', 'transaction_savings', 'POSTINTEREST_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'POSTINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('299', 'portfolio_center', 'READ_CENTER', 'CENTER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('300', 'portfolio_center', 'CREATE_CENTER', 'CENTER', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('301', 'portfolio_center', 'CREATE_CENTER_CHECKER', 'CENTER', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('302', 'portfolio_center', 'UPDATE_CENTER', 'CENTER', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('303', 'portfolio_center', 'UPDATE_CENTER_CHECKER', 'CENTER', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('304', 'portfolio_center', 'DELETE_CENTER', 'CENTER', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('305', 'portfolio_center', 'DELETE_CENTER_CHECKER', 'CENTER', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('306', 'configuration', 'READ_REPORT', 'REPORT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('307', 'configuration', 'CREATE_REPORT', 'REPORT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('308', 'configuration', 'CREATE_REPORT_CHECKER', 'REPORT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('309', 'configuration', 'UPDATE_REPORT', 'REPORT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('310', 'configuration', 'UPDATE_REPORT_CHECKER', 'REPORT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('311', 'configuration', 'DELETE_REPORT', 'REPORT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('312', 'configuration', 'DELETE_REPORT_CHECKER', 'REPORT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('313', 'portfolio', 'ACTIVATE_CLIENT', 'CLIENT', 'ACTIVATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('314', 'portfolio', 'ACTIVATE_CLIENT_CHECKER', 'CLIENT', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('315', 'portfolio_center', 'ACTIVATE_CENTER', 'CENTER', 'ACTIVATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('316', 'portfolio_center', 'ACTIVATE_CENTER_CHECKER', 'CENTER', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('317', 'portfolio_group', 'ACTIVATE_GROUP', 'GROUP', 'ACTIVATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('318', 'portfolio_group', 'ACTIVATE_GROUP_CHECKER', 'GROUP', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('319', 'portfolio_group', 'ASSOCIATECLIENTS_GROUP', 'GROUP', 'ASSOCIATECLIENTS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('320', 'portfolio_group', 'DISASSOCIATECLIENTS_GROUP', 'GROUP', 'DISASSOCIATECLIENTS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('321', 'portfolio_group', 'SAVECOLLECTIONSHEET_GROUP', 'GROUP', 'SAVECOLLECTIONSHEET', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('322', 'portfolio_center', 'SAVECOLLECTIONSHEET_CENTER', 'CENTER', 'SAVECOLLECTIONSHEET', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('324', 'accounting', 'DELETE_ACCOUNTINGRULE', 'ACCOUNTINGRULE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('325', 'accounting', 'CREATE_ACCOUNTINGRULE', 'ACCOUNTINGRULE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('326', 'accounting', 'UPDATE_ACCOUNTINGRULE', 'ACCOUNTINGRULE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('327', 'report', 'READ_GroupSummaryCounts', 'GroupSummaryCounts', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('328', 'report', 'READ_GroupSummaryAmounts', 'GroupSummaryAmounts', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('329', 'configuration', 'CREATE_DATATABLE', 'DATATABLE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('330', 'configuration', 'CREATE_DATATABLE_CHECKER', 'DATATABLE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('331', 'configuration', 'UPDATE_DATATABLE', 'DATATABLE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('332', 'configuration', 'UPDATE_DATATABLE_CHECKER', 'DATATABLE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('333', 'configuration', 'DELETE_DATATABLE', 'DATATABLE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('334', 'configuration', 'DELETE_DATATABLE_CHECKER', 'DATATABLE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('335', 'organisation', 'CREATE_HOLIDAY', 'HOLIDAY', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('336', 'portfolio_group', 'ASSIGNROLE_GROUP', 'GROUP', 'ASSIGNROLE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('337', 'portfolio_group', 'UNASSIGNROLE_GROUP', 'GROUP', 'UNASSIGNROLE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('338', 'portfolio_group', 'UPDATEROLE_GROUP', 'GROUP', 'UPDATEROLE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('347', 'report', 'READ_TxnRunningBalances', 'TxnRunningBalances', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('348', 'portfolio', 'UNASSIGNSTAFF_CLIENT', 'CLIENT', 'UNASSIGNSTAFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('349', 'portfolio', 'ASSIGNSTAFF_CLIENT', 'CLIENT', 'ASSIGNSTAFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('350', 'portfolio', 'CLOSE_CLIENT', 'CLIENT', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('351', 'report', 'READ_FieldAgentStats', 'FieldAgentStats', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('352', 'report', 'READ_FieldAgentPrograms', 'FieldAgentPrograms', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('353', 'report', 'READ_ProgramDetails', 'ProgramDetails', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('354', 'report', 'READ_ChildrenStaffList', 'ChildrenStaffList', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('355', 'report', 'READ_CoordinatorStats', 'CoordinatorStats', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('356', 'report', 'READ_BranchManagerStats', 'BranchManagerStats', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('357', 'report', 'READ_ProgramDirectorStats', 'ProgramDirectorStats', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('358', 'report', 'READ_ProgramStats', 'ProgramStats', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('359', 'transaction_savings', 'APPROVE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'APPROVE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('360', 'transaction_savings', 'REJECT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'REJECT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('361', 'transaction_savings', 'WITHDRAW_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'WITHDRAW', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('362', 'transaction_savings', 'APPROVALUNDO_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'APPROVALUNDO', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('363', 'transaction_savings', 'CLOSE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('364', 'transaction_savings', 'APPROVE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'APPROVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('365', 'transaction_savings', 'REJECT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'REJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('366', 'transaction_savings', 'WITHDRAW_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'WITHDRAW_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('367', 'transaction_savings', 'APPROVALUNDO_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'APPROVALUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('368', 'transaction_savings', 'CLOSE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'CLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('369', 'transaction_savings', 'UNDOTRANSACTION_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UNDOTRANSACTION', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('370', 'transaction_savings', 'UNDOTRANSACTION_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UNDOTRANSACTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('371', 'portfolio', 'CREATE_PRODUCTMIX', 'PRODUCTMIX', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('372', 'portfolio', 'UPDATE_PRODUCTMIX', 'PRODUCTMIX', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('373', 'portfolio', 'DELETE_PRODUCTMIX', 'PRODUCTMIX', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('374', 'jobs', 'UPDATE_SCHEDULER', 'SCHEDULER', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('375', 'transaction_savings', 'APPLYANNUALFEE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'APPLYANNUALFEE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('376', 'transaction_savings', 'APPLYANNUALFEE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'APPLYANNUALFEE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('377', 'portfolio_group', 'ASSIGNSTAFF_GROUP', 'GROUP', 'ASSIGNSTAFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('378', 'transaction_savings', 'READ_ACCOUNTTRANSFER', 'ACCOUNTTRANSFER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('379', 'transaction_savings', 'CREATE_ACCOUNTTRANSFER', 'ACCOUNTTRANSFER', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('380', 'transaction_savings', 'CREATE_ACCOUNTTRANSFER_CHECKER', 'ACCOUNTTRANSFER', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('381', 'transaction_savings', 'ADJUSTTRANSACTION_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'ADJUSTTRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('382', 'portfolio', 'CREATE_MEETING', 'MEETING', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('383', 'portfolio', 'UPDATE_MEETING', 'MEETING', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('384', 'portfolio', 'DELETE_MEETING', 'MEETING', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('385', 'portfolio', 'SAVEORUPDATEATTENDANCE_MEETING', 'MEETING', 'SAVEORUPDATEATTENDANCE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('386', 'portfolio_group', 'TRANSFERCLIENTS_GROUP', 'GROUP', 'TRANSFERCLIENTS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('387', 'portfolio_group', 'TRANSFERCLIENTS_GROUP_CHECKER', 'GROUP', 'TRANSFERCLIENTS_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('390', 'portfolio', 'PROPOSETRANSFER_CLIENT', 'CLIENT', 'PROPOSETRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('391', 'portfolio', 'PROPOSETRANSFER_CLIENT_CHECKER', 'CLIENT', 'PROPOSETRANSFER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('392', 'portfolio', 'ACCEPTTRANSFER_CLIENT', 'CLIENT', 'ACCEPTTRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('393', 'portfolio', 'ACCEPTTRANSFER_CLIENT_CHECKER', 'CLIENT', 'ACCEPTTRANSFER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('394', 'portfolio', 'REJECTTRANSFER_CLIENT', 'CLIENT', 'REJECTTRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('395', 'portfolio', 'REJECTTRANSFER_CLIENT_CHECKER', 'CLIENT', 'REJECTTRANSFER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('396', 'portfolio', 'WITHDRAWTRANSFER_CLIENT', 'CLIENT', 'WITHDRAWTRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('397', 'portfolio', 'WITHDRAWTRANSFER_CLIENT_CHECKER', 'CLIENT', 'WITHDRAWTRANSFER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('398', 'portfolio', 'CLOSE_GROUP', 'GROUP', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('399', 'portfolio', 'CLOSE_CENTER', 'CENTER', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('400', 'xbrlmapping', 'UPDATE_XBRLMAPPING', 'XBRLMAPPING', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('401', 'configuration', 'READ_CACHE', 'CACHE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('402', 'configuration', 'UPDATE_CACHE', 'CACHE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('403', 'transaction_loan', 'PAY_LOANCHARGE', 'LOANCHARGE', 'PAY', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('404', 'portfolio', 'CREATE_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('405', 'portfolio', 'CREATE_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('406', 'portfolio', 'UPDATE_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('407', 'portfolio', 'UPDATE_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('408', 'portfolio', 'DELETE_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('409', 'portfolio', 'DELETE_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('410', 'portfolio', 'WAIVE_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'WAIVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('411', 'portfolio', 'WAIVE_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'WAIVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('412', 'portfolio', 'PAY_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'PAY', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('413', 'portfolio', 'PAY_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'PAY_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('414', 'portfolio', 'PROPOSEANDACCEPTTRANSFER_CLIENT', 'CLIENT', 'PROPOSEANDACCEPTTRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('415', 'portfolio', 'PROPOSEANDACCEPTTRANSFER_CLIENT_CHECKER', 'CLIENT', 'PROPOSEANDACCEPTTRANSFER_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('416', 'organisation', 'DELETE_TEMPLATE', 'TEMPLATE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('417', 'organisation', 'CREATE_TEMPLATE', 'TEMPLATE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('418', 'organisation', 'UPDATE_TEMPLATE', 'TEMPLATE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('419', 'organisation', 'READ_TEMPLATE', 'TEMPLATE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('420', 'accounting', 'UPDATERUNNINGBALANCE_JOURNALENTRY', 'JOURNALENTRY', 'UPDATERUNNINGBALANCE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('421', 'organisation', 'READ_SMS', 'SMS', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('422', 'organisation', 'CREATE_SMS', 'SMS', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('423', 'organisation', 'CREATE_SMS_CHECKER', 'SMS', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('424', 'organisation', 'UPDATE_SMS', 'SMS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('425', 'organisation', 'UPDATE_SMS_CHECKER', 'SMS', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('426', 'organisation', 'DELETE_SMS', 'SMS', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('427', 'organisation', 'DELETE_SMS_CHECKER', 'SMS', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('428', 'organisation', 'CREATE_HOLIDAY_CHECKER', 'HOLIDAY', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('429', 'organisation', 'ACTIVATE_HOLIDAY', 'HOLIDAY', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('430', 'organisation', 'ACTIVATE_HOLIDAY_CHECKER', 'HOLIDAY', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('431', 'organisation', 'UPDATE_HOLIDAY', 'HOLIDAY', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('432', 'organisation', 'UPDATE_HOLIDAY_CHECKER', 'HOLIDAY', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('433', 'organisation', 'DELETE_HOLIDAY', 'HOLIDAY', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('434', 'organisation', 'DELETE_HOLIDAY_CHECKER', 'HOLIDAY', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('435', 'transaction_loan', 'UNDOWRITEOFF_LOAN', 'LOAN', 'UNDOWRITEOFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('436', 'portfolio', 'READ_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('437', 'accounting', 'CREATE_JOURNALENTRY_CHECKER', 'JOURNALENTRY', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('438', 'portfolio', 'UPDATE_DISBURSEMENTDETAIL', 'DISBURSEMENTDETAIL', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('439', 'portfolio', 'UPDATESAVINGSACCOUNT_CLIENT', 'CLIENT', 'UPDATESAVINGSACCOUNT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('440', 'accounting', 'READ_ACCOUNTINGRULE', 'ACCOUNTINGRULE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('441', 'accounting', 'READ_JOURNALENTRY', 'JOURNALENTRY', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('442', 'accounting', 'READ_GLACCOUNT', 'GLACCOUNT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('443', 'accounting', 'READ_GLCLOSURE', 'GLCLOSURE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('444', 'organisation', 'READ_HOLIDAY', 'HOLIDAY', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('445', 'jobs', 'READ_SCHEDULER', 'SCHEDULER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('446', 'portfolio', 'READ_PRODUCTMIX', 'PRODUCTMIX', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('447', 'portfolio', 'READ_MEETING', 'MEETING', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('448', 'jobs', 'EXECUTEJOB_SCHEDULER', 'SCHEDULER', 'EXECUTEJOB', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('449', 'account_transfer', 'READ_STANDINGINSTRUCTION ', 'STANDINGINSTRUCTION ', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('450', 'account_transfer', 'CREATE_STANDINGINSTRUCTION ', 'STANDINGINSTRUCTION ', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('451', 'account_transfer', 'UPDATE_STANDINGINSTRUCTION ', 'STANDINGINSTRUCTION ', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('452', 'account_transfer', 'DELETE_STANDINGINSTRUCTION ', 'STANDINGINSTRUCTION ', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('453', 'portfolio', 'CREATE_INTERESTRATECHART', 'INTERESTRATECHART', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('454', 'portfolio', 'CREATE_INTERESTRATECHART_CHECKER', 'INTERESTRATECHART', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('455', 'portfolio', 'UPDATE_INTERESTRATECHART', 'INTERESTRATECHART', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('456', 'portfolio', 'DELETE_INTERESTRATECHART', 'INTERESTRATECHART', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('457', 'portfolio', 'UPDATE_INTERESTRATECHART_CHECKER', 'INTERESTRATECHART', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('458', 'portfolio', 'DELETE_INTERESTRATECHART_CHECKER', 'INTERESTRATECHART', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('459', 'portfolio', 'CREATE_CHARTSLAB', 'CHARTSLAB', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('460', 'portfolio', 'CREATE_CHARTSLAB_CHECKER', 'CHARTSLAB', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('461', 'portfolio', 'UPDATE_CHARTSLAB', 'CHARTSLAB', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('462', 'portfolio', 'DELETE_CHARTSLAB', 'CHARTSLAB', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('463', 'portfolio', 'UPDATE_CHARTSLAB_CHECKER', 'CHARTSLAB', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('464', 'portfolio', 'DELETE_CHARTSLAB_CHECKER', 'CHARTSLAB', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('465', 'portfolio', 'CREATE_FIXEDDEPOSITPRODUCT', 'FIXEDDEPOSITPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('466', 'portfolio', 'CREATE_FIXEDDEPOSITPRODUCT_CHECKER', 'FIXEDDEPOSITPRODUCT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('467', 'portfolio', 'UPDATE_FIXEDDEPOSITPRODUCT', 'FIXEDDEPOSITPRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('468', 'portfolio', 'DELETE_FIXEDDEPOSITPRODUCT', 'FIXEDDEPOSITPRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('469', 'portfolio', 'UPDATE_FIXEDDEPOSITPRODUCT_CHECKER', 'FIXEDDEPOSITPRODUCT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('470', 'portfolio', 'DELETE_FIXEDDEPOSITPRODUCT_CHECKER', 'FIXEDDEPOSITPRODUCT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('471', 'portfolio', 'CREATE_RECURRINGDEPOSITPRODUCT', 'RECURRINGDEPOSITPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('472', 'portfolio', 'CREATE_RECURRINGDEPOSITPRODUCT_CHECKER', 'RECURRINGDEPOSITPRODUCT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('473', 'portfolio', 'UPDATE_RECURRINGDEPOSITPRODUCT', 'RECURRINGDEPOSITPRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('474', 'portfolio', 'DELETE_RECURRINGDEPOSITPRODUCT', 'RECURRINGDEPOSITPRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('475', 'portfolio', 'UPDATE_RECURRINGDEPOSITPRODUCT_CHECKER', 'RECURRINGDEPOSITPRODUCT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('476', 'portfolio', 'DELETE_RECURRINGDEPOSITPRODUCT_CHECKER', 'RECURRINGDEPOSITPRODUCT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('477', 'portfolio', 'READ_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('478', 'portfolio', 'CREATE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('479', 'portfolio', 'CREATE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('480', 'portfolio', 'UPDATE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('481', 'portfolio', 'UPDATE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('482', 'portfolio', 'DELETE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('483', 'portfolio', 'DELETE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('484', 'transaction_savings', 'DEPOSIT_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'DEPOSIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('485', 'transaction_savings', 'DEPOSIT_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'DEPOSIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('486', 'transaction_savings', 'WITHDRAWAL_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'WITHDRAWAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('487', 'transaction_savings', 'WITHDRAWAL_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'WITHDRAWAL_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('488', 'transaction_savings', 'ACTIVATE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('489', 'transaction_savings', 'ACTIVATE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('490', 'transaction_savings', 'CALCULATEINTEREST_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'CALCULATEINTEREST', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('491', 'transaction_savings', 'CALCULATEINTEREST_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'CALCULATEINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('492', 'transaction_savings', 'POSTINTEREST_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'POSTINTEREST', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('493', 'transaction_savings', 'POSTINTEREST_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'POSTINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('494', 'transaction_savings', 'APPROVE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'APPROVE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('495', 'transaction_savings', 'REJECT_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'REJECT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('496', 'transaction_savings', 'WITHDRAW_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'WITHDRAW', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('497', 'transaction_savings', 'APPROVALUNDO_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'APPROVALUNDO', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('498', 'transaction_savings', 'CLOSE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('499', 'transaction_savings', 'APPROVE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'APPROVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('500', 'transaction_savings', 'REJECT_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'REJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('501', 'transaction_savings', 'WITHDRAW_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'WITHDRAW_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('502', 'transaction_savings', 'APPROVALUNDO_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'APPROVALUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('503', 'transaction_savings', 'CLOSE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'CLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('504', 'transaction_savings', 'UNDOTRANSACTION_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'UNDOTRANSACTION', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('505', 'transaction_savings', 'UNDOTRANSACTION_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'UNDOTRANSACTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('506', 'transaction_savings', 'ADJUSTTRANSACTION_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'ADJUSTTRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('507', 'portfolio', 'READ_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('508', 'portfolio', 'CREATE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('509', 'portfolio', 'CREATE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('510', 'portfolio', 'UPDATE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('511', 'portfolio', 'UPDATE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('512', 'portfolio', 'DELETE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('513', 'portfolio', 'DELETE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('514', 'transaction_savings', 'DEPOSIT_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'DEPOSIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('515', 'transaction_savings', 'DEPOSIT_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'DEPOSIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('516', 'transaction_savings', 'WITHDRAWAL_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'WITHDRAWAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('517', 'transaction_savings', 'WITHDRAWAL_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'WITHDRAWAL_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('518', 'transaction_savings', 'ACTIVATE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('519', 'transaction_savings', 'ACTIVATE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'ACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('520', 'transaction_savings', 'CALCULATEINTEREST_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'CALCULATEINTEREST', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('521', 'transaction_savings', 'CALCULATEINTEREST_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'CALCULATEINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('522', 'transaction_savings', 'POSTINTEREST_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'POSTINTEREST', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('523', 'transaction_savings', 'POSTINTEREST_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'POSTINTEREST_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('524', 'transaction_savings', 'APPROVE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'APPROVE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('525', 'transaction_savings', 'REJECT_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'REJECT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('526', 'transaction_savings', 'WITHDRAW_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'WITHDRAW', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('527', 'transaction_savings', 'APPROVALUNDO_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'APPROVALUNDO', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('528', 'transaction_savings', 'CLOSE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'CLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('529', 'transaction_savings', 'APPROVE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'APPROVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('530', 'transaction_savings', 'REJECT_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'REJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('531', 'transaction_savings', 'WITHDRAW_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'WITHDRAW_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('532', 'transaction_savings', 'APPROVALUNDO_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'APPROVALUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('533', 'transaction_savings', 'CLOSE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'CLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('534', 'transaction_savings', 'UNDOTRANSACTION_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'UNDOTRANSACTION', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('535', 'transaction_savings', 'UNDOTRANSACTION_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'UNDOTRANSACTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('536', 'transaction_savings', 'ADJUSTTRANSACTION_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'ADJUSTTRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('537', 'transaction_savings', 'PREMATURECLOSE_FIXEDDEPOSITACCOUNT_CHECKER', 'FIXEDDEPOSITACCOUNT', 'PREMATURECLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('538', 'transaction_savings', 'PREMATURECLOSE_FIXEDDEPOSITACCOUNT', 'FIXEDDEPOSITACCOUNT', 'PREMATURECLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('539', 'transaction_savings', 'PREMATURECLOSE_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'PREMATURECLOSE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('540', 'transaction_savings', 'PREMATURECLOSE_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'PREMATURECLOSE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('541', 'transaction_loan', 'DISBURSETOSAVINGS_LOAN', 'LOAN', 'DISBURSETOSAVINGS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('542', 'transaction_loan', 'RECOVERYPAYMENT_LOAN', 'LOAN', 'RECOVERYPAYMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('543', 'organisation', 'READ_RECURRINGDEPOSITPRODUCT', 'RECURRINGDEPOSITPRODUCT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('544', 'organisation', 'READ_FIXEDDEPOSITPRODUCT', 'FIXEDDEPOSITPRODUCT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('545', 'accounting', 'READ_FINANCIALACTIVITYACCOUNT', 'FINANCIALACTIVITYACCOUNT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('546', 'accounting', 'CREATE_FINANCIALACTIVITYACCOUNT', 'FINANCIALACTIVITYACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('547', 'accounting', 'DELETE_FINANCIALACTIVITYACCOUNT', 'FINANCIALACTIVITYACCOUNT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('548', 'accounting', 'UPDATE_FINANCIALACTIVITYACCOUNT', 'FINANCIALACTIVITYACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('549', 'datatable', 'UPDATE_LIKELIHOOD', 'likelihood', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('550', 'survey', 'REGISTER_SURVEY', 'survey', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('551', 'accounting', 'EXECUTE_PERIODICACCRUALACCOUNTING', 'PERIODICACCRUALACCOUNTING', 'EXECUTE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('552', 'portfolio', 'INACTIVATE_SAVINGSACCOUNTCHARGE', 'SAVINGSACCOUNTCHARGE', 'INACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('553', 'portfolio', 'INACTIVATE_SAVINGSACCOUNTCHARGE_CHECKER', 'SAVINGSACCOUNTCHARGE', 'INACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('554', 'portfolio_center', 'DISASSOCIATEGROUPS_CENTER', 'CENTER', 'DISASSOCIATEGROUPS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('555', 'portfolio_center', 'ASSOCIATEGROUPS_CENTER', 'CENTER', 'ASSOCIATEGROUPS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('556', 'portfolio_center', 'DISASSOCIATEGROUPS_CENTER_CHECKER', 'CENTER', 'DISASSOCIATEGROUPS_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('557', 'portfolio_center', 'ASSOCIATEGROUPS_CENTER_CHECKER', 'CENTER', 'ASSOCIATEGROUPS_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('558', 'loan_reschedule', 'READ_RESCHEDULELOAN', 'RESCHEDULELOAN', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('559', 'loan_reschedule', 'CREATE_RESCHEDULELOAN', 'RESCHEDULELOAN', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('560', 'loan_reschedule', 'REJECT_RESCHEDULELOAN', 'RESCHEDULELOAN', 'REJECT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('561', 'loan_reschedule', 'APPROVE_RESCHEDULELOAN', 'RESCHEDULELOAN', 'APPROVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('562', 'configuration', 'CREATE_HOOK', 'HOOK', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('563', 'configuration', 'READ_HOOK', 'HOOK', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('564', 'configuration', 'UPDATE_HOOK', 'HOOK', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('565', 'configuration', 'DELETE_HOOK', 'HOOK', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('566', 'portfolio', 'REMOVESAVINGSOFFICER_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'REMOVESAVINGSOFFICER', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('567', 'portfolio', 'UPDATESAVINGSOFFICER_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UPDATESAVINGSOFFICER', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('578', 'report', 'READ_Client Loan Account Schedule', 'Client Loan Account Schedule', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('580', 'report', 'READ_Client Saving Transactions', 'Client Saving Transactions', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('581', 'report', 'READ_Client Savings Summary', 'Client Savings Summary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('582', 'report', 'READ_ClientSummary ', 'ClientSummary ', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('583', 'report', 'READ_ClientTrendsByDay', 'ClientTrendsByDay', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('584', 'report', 'READ_ClientTrendsByMonth', 'ClientTrendsByMonth', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('585', 'report', 'READ_ClientTrendsByWeek', 'ClientTrendsByWeek', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('586', 'report', 'READ_Demand_Vs_Collection', 'Demand_Vs_Collection', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('587', 'report', 'READ_Disbursal_Vs_Awaitingdisbursal', 'Disbursal_Vs_Awaitingdisbursal', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('591', 'report', 'READ_GroupNamesByStaff', 'GroupNamesByStaff', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('592', 'report', 'READ_GroupSavingSummary', 'GroupSavingSummary', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('593', 'report', 'READ_LoanCyclePerProduct', 'LoanCyclePerProduct', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('598', 'report', 'READ_LoanTrendsByDay', 'LoanTrendsByDay', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('599', 'report', 'READ_LoanTrendsByMonth', 'LoanTrendsByMonth', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('600', 'report', 'READ_LoanTrendsByWeek', 'LoanTrendsByWeek', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('606', 'report', 'READ_Savings Transactions', 'Savings Transactions', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('609', 'configuration', 'CREATE_ACCOUNTNUMBERFORMAT', 'ACCOUNTNUMBERFORMAT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('610', 'configuration', 'READ_ACCOUNTNUMBERFORMAT', 'ACCOUNTNUMBERFORMAT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('611', 'configuration', 'UPDATE_ACCOUNTNUMBERFORMAT', 'ACCOUNTNUMBERFORMAT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('612', 'configuration', 'DELETE_ACCOUNTNUMBERFORMAT', 'HOOK', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('613', 'portfolio', 'RECOVERGUARANTEES_LOAN', 'LOAN', 'RECOVERGUARANTEES', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('614', 'portfolio', 'RECOVERGUARANTEES_LOAN_CHECKER', 'LOAN', 'RECOVERGUARANTEES_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('615', 'portfolio', 'REJECT_CLIENT', 'CLIENT', 'REJECT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('616', 'portfolio', 'REJECT_CLIENT_CHECKER', 'CLIENT', 'REJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('617', 'portfolio', 'WITHDRAW_CLIENT', 'CLIENT', 'WITHDRAW', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('618', 'portfolio', 'WITHDRAW_CLIENT_CHECKER', 'CLIENT', 'WITHDRAW_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('619', 'portfolio', 'REACTIVATE_CLIENT', 'CLIENT', 'REACTIVATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('620', 'portfolio', 'REACTIVATE_CLIENT_CHECKER', 'CLIENT', 'REACTIVATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('621', 'transaction_savings', 'UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT', 'RECURRINGDEPOSITACCOUNT', 'UPDATEDEPOSITAMOUNT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('623', 'transaction_savings', 'REFUNDBYTRANSFER_ACCOUNTTRANSFER_CHECKER', 'ACCOUNTTRANSFER', 'REFUNDBYTRANSFER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('624', 'transaction_savings', 'REFUNDBYTRANSFER_ACCOUNTTRANSFER', 'ACCOUNTTRANSFER', 'REFUNDBYTRANSFER', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('625', 'transaction_loan', 'REFUNDBYCASH_LOAN', 'LOAN', 'REFUNDBYCASH', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('626', 'transaction_loan', 'REFUNDBYCASH_LOAN_CHECKER', 'LOAN', 'REFUNDBYCASH', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('627', 'cash_mgmt', 'CREATE_TELLER', 'TELLER', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('628', 'cash_mgmt', 'UPDATE_TELLER', 'TELLER', 'UPDATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('629', 'cash_mgmt', 'ALLOCATECASHIER_TELLER', 'TELLER', 'ALLOCATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('630', 'cash_mgmt', 'UPDATECASHIERALLOCATION_TELLER', 'TELLER', 'UPDATECASHIERALLOCATION', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('631', 'cash_mgmt', 'DELETECASHIERALLOCATION_TELLER', 'TELLER', 'DELETECASHIERALLOCATION', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('632', 'cash_mgmt', 'ALLOCATECASHTOCASHIER_TELLER', 'TELLER', 'ALLOCATECASHTOCASHIER', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('633', 'cash_mgmt', 'SETTLECASHFROMCASHIER_TELLER', 'TELLER', 'SETTLECASHFROMCASHIER', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('634', 'authorisation', 'DISABLE_ROLE', 'ROLE', 'DISABLE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('635', 'authorisation', 'DISABLE_ROLE_CHECKER', 'ROLE', 'DISABLE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('636', 'authorisation', 'ENABLE_ROLE', 'ROLE', 'ENABLE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('637', 'authorisation', 'ENABLE_ROLE_CHECKER', 'ROLE', 'ENABLE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('638', 'accounting', 'DEFINEOPENINGBALANCE_JOURNALENTRY', 'JOURNALENTRY', 'DEFINEOPENINGBALANCE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('639', 'collection_sheet', 'READ_COLLECTIONSHEET', 'COLLECTIONSHEET', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('640', 'collection_sheet', 'SAVE_COLLECTIONSHEET', 'COLLECTIONSHEET', 'SAVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('641', 'infrastructure', 'CREATE_ENTITYMAPPING', 'ENTITYMAPPING', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('642', 'infrastructure', 'UPDATE_ENTITYMAPPING', 'ENTITYMAPPING', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('643', 'infrastructure', 'DELETE_ENTITYMAPPING', 'ENTITYMAPPING', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('644', 'organisation', 'READ_WORKINGDAYS', 'WORKINGDAYS', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('645', 'organisation', 'UPDATE_WORKINGDAYS', 'WORKINGDAYS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('646', 'organisation', 'UPDATE_WORKINGDAYS_CHECKER', 'WORKINGDAYS', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('647', 'authorisation', 'READ_PASSWORD_PREFERENCES', 'PASSWORD_PREFERENCES', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('648', 'authorisation', 'UPDATE_PASSWORD_PREFERENCES', 'PASSWORD_PREFERENCES', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('649', 'authorisation', 'UPDATE_PASSWORD_PREFERENCES_CHECKER', 'PASSWORD_PREFERENCES', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('650', 'portfolio', 'CREATE_PAYMENTTYPE', 'PAYMENTTYPE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('651', 'portfolio', 'UPDATE_PAYMENTTYPE', 'PAYMENTTYPE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('652', 'portfolio', 'DELETE_PAYMENTTYPE', 'PAYMENTTYPE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('653', 'cash_mgmt', 'DELETE_TELLER', 'TELLER', 'DELETE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('654', 'report', 'READ_General Ledger Report', 'General Ledger Report', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('655', 'portfolio', 'READ_STAFFIMAGE', 'STAFFIMAGE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('656', 'portfolio', 'CREATE_STAFFIMAGE', 'STAFFIMAGE', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('657', 'portfolio', 'CREATE_STAFFIMAGE_CHECKER', 'STAFFIMAGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('658', 'portfolio', 'DELETE_STAFFIMAGE', 'STAFFIMAGE', 'DELETE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('659', 'portfolio', 'DELETE_STAFFIMAGE_CHECKER', 'STAFFIMAGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('660', 'report', 'READ_Active Loan Summary per Branch', 'Active Loan Summary per Branch', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('661', 'report', 'READ_Disbursal Report', 'Disbursal Report', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('662', 'report', 'READ_Balance Outstanding', 'Balance Outstanding', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('663', 'report', 'READ_Collection Report', 'Collection Report', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('664', 'portfolio', 'READ_PAYMENTTYPE', 'PAYMENTTYPE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('666', 'externalservices', 'UPDATE_EXTERNALSERVICES', 'EXTERNALSERVICES', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('667', 'portfolio', 'READ_CLIENTCHARGE', 'CLIENTCHARGE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('668', 'portfolio', 'CREATE_CLIENTCHARGE', 'CLIENTCHARGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('669', 'portfolio', 'DELETE_CLIENTCHARGE', 'CLIENTCHARGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('670', 'portfolio', 'WAIVE_CLIENTCHARGE', 'CLIENTCHARGE', 'WAIVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('671', 'portfolio', 'PAY_CLIENTCHARGE', 'CLIENTCHARGE', 'PAY', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('673', 'portfolio', 'UPDATE_CLIENTCHARGE', 'CLIENTCHARGE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('674', 'portfolio', 'CREATE_CLIENTCHARGE_CHECKER', 'CLIENTCHARGE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('675', 'portfolio', 'DELETE_CLIENTCHARGE_CHECKER', 'CLIENTCHARGE', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('676', 'portfolio', 'WAIVE_CLIENTCHARGE_CHECKER', 'CLIENTCHARGE', 'WAIVE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('677', 'portfolio', 'PAY_CLIENTCHARGE_CHECKER', 'CLIENTCHARGE', 'PAY_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('679', 'portfolio', 'UPDATE_CLIENTCHARGE_CHECKER', 'CLIENTCHARGE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('680', 'transaction_client', 'READTRANSACTION_CLIENT', 'CLIENT', 'READTRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('681', 'transaction_client', 'UNDOTRANSACTION_CLIENT', 'CLIENT', 'UNDOTRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('682', 'transaction_client', 'UNDOTRANSACTION_CLIENT_CHECKER', 'CLIENT', 'UNDOTRANSACTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('683', 'LOAN_PROVISIONING', 'CREATE_PROVISIONCATEGORY', 'PROVISIONCATEGORY', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('684', 'LOAN_PROVISIONING', 'DELETE_PROVISIONCATEGORY', 'PROVISIONCATEGORY', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('685', 'LOAN_PROVISIONING', 'CREATE_PROVISIONCRITERIA', 'PROVISIONINGCRITERIA', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('686', 'LOAN_PROVISIONING', 'UPDATE_PROVISIONCRITERIA', 'PROVISIONINGCRITERIA', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('687', 'LOAN_PROVISIONING', 'DELETE_PROVISIONCRITERIA', 'PROVISIONINGCRITERIA', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('688', 'LOAN_PROVISIONING', 'CREATE_PROVISIONENTRIES', 'PROVISIONINGENTRIES', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('771', 'organisation', 'DELETE_EMAIL_CHECKER', 'EMAIL', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('689', 'LOAN_PROVISIONING', 'CREATE_PROVISIONJOURNALENTRIES', 'PROVISIONINGENTRIES', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('690', 'LOAN_PROVISIONING', 'RECREATE_PROVISIONENTRIES', 'PROVISIONINGENTRIES', 'RECREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('691', 'portfolio', 'READ_FLOATINGRATE', 'FLOATINGRATE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('692', 'portfolio', 'CREATE_FLOATINGRATE', 'FLOATINGRATE', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('693', 'portfolio', 'CREATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('694', 'portfolio', 'UPDATE_FLOATINGRATE', 'FLOATINGRATE', 'UPDATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('695', 'portfolio', 'UPDATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('696', 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'CREATESCHEDULEEXCEPTIONS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('697', 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'CREATESCHEDULEEXCEPTIONS_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('698', 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'DELETESCHEDULEEXCEPTIONS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('699', 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'DELETESCHEDULEEXCEPTIONS_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('700', 'transaction_loan', 'DISBURSALLASTUNDO_LOAN', 'LOAN', 'DISBURSALLASTUNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('701', 'transaction_loan', 'DISBURSALLASTUNDO_LOAN_CHECKER', 'LOAN', 'DISBURSALLASTUNDO_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('702', 'SHAREPRODUCT', 'CREATE_SHAREPRODUCT', 'SHAREPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('703', 'SHAREPRODUCT', 'UPDATE_SHAREPRODUCT', 'SHAREPRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('704', 'SHAREACCOUNT', 'CREATE_SHAREACCOUNT', 'SHAREACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('705', 'SHAREACCOUNT', 'UPDATE_SHAREACCOUNT', 'SHAREACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('706', 'organisation', 'READ_TAXCOMPONENT', 'TAXCOMPONENT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('707', 'organisation', 'CREATE_TAXCOMPONENT', 'TAXCOMPONENT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('708', 'organisation', 'CREATE_TAXCOMPONENT_CHECKER', 'TAXCOMPONENT', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('709', 'organisation', 'UPDATE_TAXCOMPONENT', 'TAXCOMPONENT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('710', 'organisation', 'UPDATE_TAXCOMPONENT_CHECKER', 'TAXCOMPONENT', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('711', 'organisation', 'READ_TAXGROUP', 'TAXGROUP', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('712', 'organisation', 'CREATE_TAXGROUP', 'TAXGROUP', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('713', 'organisation', 'CREATE_TAXGROUP_CHECKER', 'TAXGROUP', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('714', 'organisation', 'UPDATE_TAXGROUP', 'TAXGROUP', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('715', 'organisation', 'UPDATE_TAXGROUP_CHECKER', 'TAXGROUP', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('716', 'portfolio', 'UPDATEWITHHOLDTAX_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UPDATEWITHHOLDTAX', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('717', 'portfolio', 'UPDATEWITHHOLDTAX_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UPDATEWITHHOLDTAX_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('718', 'SHAREPRODUCT', 'CREATE_DIVIDEND_SHAREPRODUCT', 'SHAREPRODUCT', 'CREATE_DIVIDEND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('719', 'SHAREPRODUCT', 'CREATE_DIVIDEND_SHAREPRODUCT_CHECKER', 'SHAREPRODUCT', 'CREATE_DIVIDEND_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('720', 'SHAREPRODUCT', 'APPROVE_DIVIDEND_SHAREPRODUCT', 'SHAREPRODUCT', 'APPROVE_DIVIDEND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('721', 'SHAREPRODUCT', 'APPROVE_DIVIDEND_SHAREPRODUCT_CHECKER', 'SHAREPRODUCT', 'APPROVE_DIVIDEND_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('722', 'SHAREPRODUCT', 'DELETE_DIVIDEND_SHAREPRODUCT', 'SHAREPRODUCT', 'DELETE_DIVIDEND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('723', 'SHAREPRODUCT', 'DELETE_DIVIDEND_SHAREPRODUCT_CHECKER', 'SHAREPRODUCT', 'DELETE_DIVIDEND_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('724', 'SHAREPRODUCT', 'READ_DIVIDEND_SHAREPRODUCT', 'SHAREPRODUCT', 'READ_DIVIDEND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('725', 'SHAREACCOUNT', 'APPROVE_SHAREACCOUNT', 'SHAREACCOUNT', 'APPROVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('726', 'SHAREACCOUNT', 'ACTIVATE_SHAREACCOUNT', 'SHAREACCOUNT', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('727', 'SHAREACCOUNT', 'UNDOAPPROVAL_SHAREACCOUNT', 'SHAREACCOUNT', 'UNDOAPPROVAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('728', 'SHAREACCOUNT', 'REJECT_SHAREACCOUNT', 'SHAREACCOUNT', 'REJECT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('729', 'SHAREACCOUNT', 'APPLYADDITIONALSHARES_SHAREACCOUNT', 'SHAREACCOUNT', 'APPLYADDITIONALSHARES', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('730', 'SHAREACCOUNT', 'APPROVEADDITIONALSHARES_SHAREACCOUNT', 'SHAREACCOUNT', 'APPROVEADDITIONALSHARES', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('731', 'SHAREACCOUNT', 'REJECTADDITIONALSHARES_SHAREACCOUNT', 'SHAREACCOUNT', 'REJECTADDITIONALSHARES', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('732', 'SHAREACCOUNT', 'REDEEMSHARES_SHAREACCOUNT', 'SHAREACCOUNT', 'REDEEMSHARES', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('733', 'SHAREACCOUNT', 'CLOSE_SHAREACCOUNT', 'SHAREACCOUNT', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('734', 'SSBENEFICIARYTPT', 'READ_SSBENEFICIARYTPT', 'SSBENEFICIARYTPT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('735', 'SSBENEFICIARYTPT', 'CREATE_SSBENEFICIARYTPT', 'SSBENEFICIARYTPT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('736', 'SSBENEFICIARYTPT', 'UPDATE_SSBENEFICIARYTPT', 'SSBENEFICIARYTPT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('737', 'SSBENEFICIARYTPT', 'DELETE_SSBENEFICIARYTPT', 'SSBENEFICIARYTPT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('738', 'portfolio', 'FORECLOSURE_LOAN', 'LOAN', 'FORECLOSURE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('739', 'portfolio', 'FORECLOSURE_LOAN_CHECKER', 'LOAN', 'FORECLOSURE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('740', 'portfolio', 'CREATE_ADDRESS', 'ADDRESS', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('742', 'portfolio', 'UPDATE_ADDRESS', 'ADDRESS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('744', 'portfolio', 'READ_ADDRESS', 'ADDRESS', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('745', 'portfolio', 'DELETE_ADDRESS', 'ADDRESS', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('747', 'jobs', 'CREATE_REPORTMAILINGJOB', 'REPORTMAILINGJOB', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('748', 'jobs', 'UPDATE_REPORTMAILINGJOB', 'REPORTMAILINGJOB', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('749', 'jobs', 'DELETE_REPORTMAILINGJOB', 'REPORTMAILINGJOB', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('750', 'jobs', 'READ_REPORTMAILINGJOB', 'REPORTMAILINGJOB', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('751', 'portfolio', 'UNDOREJECT_CLIENT', 'CLIENT', 'UNDOREJECT', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('753', 'portfolio', 'UNDOWITHDRAWAL_CLIENT', 'CLIENT', 'UNDOWITHDRAWAL', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('755', 'organisation', 'READ_SMSCAMPAIGN', 'SMSCAMPAIGN', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('756', 'organisation', 'CREATE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('757', 'organisation', 'CREATE_SMSCAMPAIGN_CHECKER', 'SMSCAMPAIGN', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('758', 'organisation', 'UPDATE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('759', 'organisation', 'UPDATE_SMSCAMPAIGN_CHECKER', 'SMSCAMPAIGN', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('760', 'organisation', 'DELETE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('761', 'organisation', 'DELETE_SMSCAMPAIGN_CHECKER', 'SMSCAMPAIGN', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('762', 'organisation', 'ACTIVATE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('763', 'organisation', 'CLOSE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('764', 'organisation', 'REACTIVATE_SMSCAMPAIGN', 'SMSCAMPAIGN', 'REACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('765', 'organisation', 'READ_EMAIL', 'EMAIL', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('766', 'organisation', 'CREATE_EMAIL', 'EMAIL', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('767', 'organisation', 'CREATE_EMAIL_CHECKER', 'EMAIL', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('768', 'organisation', 'UPDATE_EMAIL', 'EMAIL', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('769', 'organisation', 'UPDATE_EMAIL_CHECKER', 'EMAIL', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('770', 'organisation', 'DELETE_EMAIL', 'EMAIL', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('743', 'portfolio', 'UPDATE_ADDRESS_CHECKER', 'ADDRESS', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('746', 'portfolio', 'DELETE_ADDRESS_CHECKER', 'ADDRESS', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('754', 'portfolio', 'UNDOWITHDRAWAL_CLIENT_CHECKER', 'CLIENT', 'UNDOWITHDRAWAL_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('772', 'organisation', 'READ_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('773', 'organisation', 'CREATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('774', 'organisation', 'CREATE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('775', 'organisation', 'UPDATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('776', 'organisation', 'UPDATE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'UPDATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('777', 'organisation', 'DELETE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('778', 'organisation', 'DELETE_EMAIL_CAMPAIGN_CHECKER', 'EMAIL_CAMPAIGN', 'DELETE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('779', 'organisation', 'CLOSE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('780', 'organisation', 'ACTIVATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('781', 'organisation', 'REACTIVATE_EMAIL_CAMPAIGN', 'EMAIL_CAMPAIGN', 'REACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('782', 'organisation', 'READ_EMAIL_CONFIGURATION', 'EMAIL_CONFIGURATION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('783', 'organisation', 'UPDATE_EMAIL_CONFIGURATION', 'EMAIL_CONFIGURATION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('784', 'report', 'READ_Active Clients - Email', 'Active Clients - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('785', 'report', 'READ_Prospective Clients - Email', 'Prospective Clients - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('786', 'report', 'READ_Active Loan Clients - Email', 'Active Loan Clients - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('787', 'report', 'READ_Loans in arrears - Email', 'Loans in arrears - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('788', 'report', 'READ_Loans disbursed to clients - Email', 'Loans disbursed to clients - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('789', 'report', 'READ_Loan payments due - Email', 'Loan payments due - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('790', 'report', 'READ_Dormant Prospects - Email', 'Dormant Prospects - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('791', 'report', 'READ_Active Group Leaders - Email', 'Active Group Leaders - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('792', 'report', 'READ_Loan Payments Due (Overdue Loans) - Email', 'Loan Payments Due (Overdue Loans) - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('793', 'report', 'READ_Loan Payments Received (Active Loans) - Email', 'Loan Payments Received (Active Loans) - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('794', 'report', 'READ_Loan Payments Received (Overdue Loans) - Email', 'Loan Payments Received (Overdue Loans) - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('795', 'report', 'READ_Loan Fully Repaid - Email', 'Loan Fully Repaid - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('796', 'report', 'READ_Loans Outstanding after final instalment date - Email', 'Loans Outstanding after final instalment date - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('797', 'report', 'READ_Happy Birthday - Email', 'Happy Birthday - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('798', 'report', 'READ_Loan Rejected - Email', 'Loan Rejected - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('799', 'report', 'READ_Loan Approved - Email', 'Loan Approved - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('800', 'report', 'READ_Loan Repayment - Email', 'Loan Repayment - Email', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('801', 'datatable', 'READ_ENTITY_DATATABLE_CHECK', 'ENTITY_DATATABLE_CHECK', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('802', 'datatable', 'CREATE_ENTITY_DATATABLE_CHECK', 'ENTITY_DATATABLE_CHECK', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('803', 'datatable', 'DELETE_ENTITY_DATATABLE_CHECK', 'ENTITY_DATATABLE_CHECK', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('804', 'configuration', 'CREATE_CREDITBUREAU_LOANPRODUCT_MAPPING', 'CREDITBUREAU_LOANPRODUCT_MAPPING', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('805', 'configuration', 'CREATE_ORGANISATIONCREDITBUREAU', 'ORGANISATIONCREDITBUREAU', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('806', 'configuration', 'UPDATE_ORGANISATIONCREDITBUREAU', 'ORGANISATIONCREDITBUREAU', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('807', 'configuration', 'UPDATE_CREDITBUREAU_LOANPRODUCT_MAPPING', 'CREDITBUREAU_LOANPRODUCT_MAPPING', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('808', 'configuration', 'GET_CREDITREPORT', 'CREDITREPORT', 'GET', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('809', 'configuration', 'CREATE_CREDITBUREAU_CONFIGURATION', 'CREDITBUREAU_CONFIGURATION', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('810', 'configuration', 'UPDATE_CREDITBUREAU_CONFIGURATION', 'CREDITBUREAU_CONFIGURATION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('811', 'configuration', 'SAVE_CREDITREPORT', 'CREDITREPORT', 'SAVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('812', 'configuration', 'DELETE_CREDITREPORT', 'CREDITREPORT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('813', 'portfolio', 'CREATE_FAMILYMEMBERS', 'FAMILYMEMBERS', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('814', 'portfolio', 'UPDATE_FAMILYMEMBERS', 'FAMILYMEMBERS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('815', 'portfolio', 'DELETE_FAMILYMEMBERS', 'FAMILYMEMBERS', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('816', 'transaction_savings', 'HOLDAMOUNT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'HOLDAMOUNT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('817', 'transaction_savings', 'HOLDAMOUNT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'HOLDAMOUNT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('818', 'transaction_savings', 'BLOCKDEBIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'BLOCKDEBIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('819', 'transaction_savings', 'BLOCKDEBIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'BLOCKDEBIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('820', 'transaction_savings', 'UNBLOCKDEBIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UNBLOCKDEBIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('821', 'transaction_savings', 'UNBLOCKDEBIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UNBLOCKDEBIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('822', 'transaction_savings', 'BLOCKCREDIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'BLOCKCREDIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('823', 'transaction_savings', 'BLOCKCREDIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'BLOCKCREDIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('824', 'transaction_savings', 'UNBLOCKCREDIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UNBLOCKCREDIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('825', 'transaction_savings', 'UNBLOCKCREDIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UNBLOCKCREDIT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('826', 'transaction_savings', 'BLOCK_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'BLOCK', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('827', 'transaction_savings', 'BLOCK_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'BLOCK_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('828', 'transaction_savings', 'UNBLOCK_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'UNBLOCK', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('829', 'transaction_savings', 'UNBLOCK_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UNBLOCK_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('830', 'transaction_savings', 'RELEASEAMOUNT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'RELEASEAMOUNT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('831', 'transaction_savings', 'RELEASEAMOUNT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'RELEASEAMOUNT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('832', 'authorisation', 'UPDATE_ADHOC', 'ADHOC', 'UPDATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('833', 'authorisation', 'UPDATE_ADHOC_CHECKER', 'ADHOC', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('834', 'authorisation', 'DELETE_ADHOC', 'ADHOC', 'DELETE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('835', 'authorisation', 'DELETE_ADHOC_CHECKER', 'ADHOC', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('836', 'authorisation', 'CREATE_ADHOC', 'ADHOC', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('837', 'authorisation', 'CREATE_ADHOC_CHECKER', 'ADHOC', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('838', 'authorisation', 'INVALIDATE_TWOFACTOR_ACCESSTOKEN', 'TWOFACTOR_ACCESSTOKEN', 'INVALIDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('839', 'configuration', 'READ_TWOFACTOR_CONFIGURATION', 'TWOFACTOR_CONFIGURATION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('840', 'configuration', 'UPDATE_TWOFACTOR_CONFIGURATION', 'TWOFACTOR_CONFIGURATION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('841', 'special', 'BYPASS_TWOFACTOR', NULL, NULL, 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('842', 'infrastructure', 'READ_IMPORT', 'IMPORT', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('843', 'portfolio', 'LINK_ACCOUNT_TO_POCKET', 'POCKET', 'LINK_ACCOUNT_TO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('844', 'portfolio', 'DELINK_ACCOUNT_FROM_POCKET', 'POCKET', 'DELINK_ACCOUNT_FROM', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('845', 'interop', 'READ_INTERID', 'INTERID', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('846', 'interop', 'READ_INTERREQUEST', 'INTERREQUEST', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('847', 'interop', 'READ_INTERQUOTE', 'INTERQUOTE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('848', 'interop', 'READ_INTERTRANSFER', 'INTERTRANSFER', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('849', 'interop', 'PREPARE_INTERTRANSFER', 'INTERTRANSFER', 'PREPARE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('850', 'interop', 'RELEASE_INTERTRANSFER', 'INTERTRANSFER', 'RELEASE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('851', 'interop', 'CREATE_INTERID', 'INTERID', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('852', 'interop', 'CREATE_INTERREQUEST', 'INTERREQUEST', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('853', 'interop', 'CREATE_INTERQUOTE', 'INTERQUOTE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('854', 'interop', 'CREATE_INTERTRANSFER', 'INTERTRANSFER', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('855', 'interop', 'DELETE_INTERID', 'INTERID', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('856', 'organisation', 'READ_RATE', 'RATE', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('857', 'organisation', 'CREATE_RATE', 'RATE', 'CREATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('858', 'organisation', 'UPDATE_RATE', 'RATE', 'UPDATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('859', 'portfolio', 'CREATE_GSIMACCOUNT', 'GSIMACCOUNT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('860', 'portfolio', 'APPROVE_GSIMACCOUNT', 'GSIMACCOUNT', 'APPROVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('861', 'portfolio', 'ACTIVATE_GSIMACCOUNT', 'GSIMACCOUNT', 'ACTIVATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('862', 'portfolio', 'APPROVALUNDO_GSIMACCOUNT', 'GSIMACCOUNT', 'APPROVALUNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('863', 'portfolio', 'UPDATE_GSIMACCOUNT', 'GSIMACCOUNT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('864', 'portfolio', 'REJECT_GSIMACCOUNT', 'GSIMACCOUNT', 'REJECT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('865', 'portfolio', 'DEPOSIT_GSIMACCOUNT', 'GSIMACCOUNT', 'DEPOSIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('866', 'portfolio', 'CLOSE_GSIMACCOUNT', 'GSIMACCOUNT', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('867', 'portfolio', 'APPROVE_GLIMLOAN', 'GLIMLOAN', 'APPROVE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('868', 'portfolio', 'DISBURSE_GLIMLOAN', 'GLIMLOAN', 'DISBURSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('869', 'portfolio', 'REPAYMENT_GLIMLOAN', 'GLIMLOAN', 'REPAYMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('870', 'portfolio', 'UNDODISBURSAL_GLIMLOAN', 'GLIMLOAN', 'UNDODISBURSAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('871', 'portfolio', 'UNDOAPPROVAL_GLIMLOAN', 'GLIMLOAN', 'UNDOAPPROVAL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('872', 'portfolio', 'REJECT_GLIMLOAN', 'GLIMLOAN', 'REJECT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('873', 'portfolio', 'CREATE_CLIENT_COLLATERAL_PRODUCT', 'CLIENT_COLLATERAL_PRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('874', 'portfolio', 'CREATE_COLLATERAL_PRODUCT', 'COLLATERAL_PRODUCT', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('875', 'portfolio', 'DELETE_CLIENT_COLLATERAL_PRODUCT', 'CLIENT_COLLATERAL_PRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('876', 'portfolio', 'DELETE_COLLATERAL_PRODUCT', 'COLLATERAL_PRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('877', 'portfolio', 'DELETE_LOAN_COLLATERAL_PRODUCT', 'LOAN_COLLATERAL_PRODUCT', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('878', 'portfolio', 'UPDATE_CLIENT_COLLATERAL_PRODUCT', 'CLIENT_COLLATERAL_PRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('879', 'portfolio', 'UPDATE_COLLATERAL_PRODUCT', 'COLLATERAL_PRODUCT', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('880', 'portfolio', 'UPDATE_REPAYMENT_WITH_POSTDATEDCHECKS', 'REPAYMENT_WITH_POSTDATEDCHECKS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('881', 'portfolio', 'DELETE_REPAYMENT_WITH_POSTDATEDCHECKS', 'REPAYMENT_WITH_POSTDATEDCHECKS', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('882', 'portfolio', 'BOUNCE_REPAYMENT_WITH_POSTDATEDCHECKS', 'REPAYMENT_WITH_POSTDATEDCHECKS', 'BOUNCE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('883', 'transaction_savings', 'REVERSETRANSACTION_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'REVERSETRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('884', 'transaction_savings', 'REVERSETRANSACTION_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'REVERSETRANSACTION_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('885', 'transaction_loan', 'CREDITBALANCEREFUND_LOAN', 'LOAN', 'CREDITBALANCEREFUND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('886', 'transaction_loan', 'MERCHANTISSUEDREFUND_LOAN', 'LOAN', 'MERCHANTISSUEDREFUND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('887', 'transaction_loan', 'PAYOUTREFUND_LOAN', 'LOAN', 'PAYOUTREFUND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('888', 'transaction_loan', 'GOODWILLCREDIT_LOAN', 'LOAN', 'GOODWILLCREDIT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('889', 'organisation', 'READ_BUSINESS_DATE', 'BUSINESS_DATE', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('890', 'organisation', 'UPDATE_BUSINESS_DATE', 'BUSINESS_DATE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('891', 'transaction_loan', 'CHARGEREFUND_LOAN', 'LOAN', 'CHARGEREFUND', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('892', 'organisation', 'READ_DELINQUENCY_BUCKET', 'DELINQUENCY_BUCKET', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('893', 'organisation', 'CREATE_DELINQUENCY_BUCKET', 'DELINQUENCY_BUCKET', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('894', 'organisation', 'UPDATE_DELINQUENCY_BUCKET', 'DELINQUENCY_BUCKET', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('895', 'organisation', 'DELETE_DELINQUENCY_BUCKET', 'DELINQUENCY_BUCKET', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('896', 'organisation', 'CREATE_DELINQUENCY_RANGE', 'DELINQUENCY_RANGE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('897', 'organisation', 'UPDATE_DELINQUENCY_RANGE', 'DELINQUENCY_RANGE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('898', 'organisation', 'DELETE_DELINQUENCY_RANGE', 'DELINQUENCY_RANGE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('899', 'organisation', 'READ_DELINQUENCY_TAGS', 'DELINQUENCY_TAGS', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('900', 'organisation', 'UPDATE_DELINQUENCY_TAGS', 'DELINQUENCY_TAGS', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('901', 'organisation', 'UPDATEDELINQUENCY_LOAN', 'LOAN', 'UPDATEDELINQUENCY', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('902', 'organisation', 'UPDATE_BATCH_BUSINESS_STEP', 'BATCH_BUSINESS_STEP', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('903', 'transaction_loan', 'CHARGEBACK_LOAN', 'LOAN', 'CHARGEBACK', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('904', 'organisation', 'EXECUTE_INLINE_JOB', 'INLINE_JOB', 'EXECUTE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('905', 'portfolio', 'SETFRAUD_LOAN', 'LOAN', 'SETFRAUD', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('906', 'configuration', 'UPDATE_EXTERNAL_EVENT_CONFIGURATION', 'EXTERNAL_EVENT_CONFIGURATION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('907', 'configuration', 'READ_EXTERNAL_EVENT_CONFIGURATION', 'EXTERNAL_EVENT_CONFIGURATION', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('908', 'transaction_loan', 'BYPASS_LOAN_WRITE_PROTECTION', 'LOAN', 'BYPASS', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('909', 'transaction_loan', 'ADJUSTMENT_LOANCHARGE', 'LOANCHARGE', 'ADJUSTMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('910', 'transaction_loan', 'CHARGEOFF_LOAN', 'LOAN', 'CHARGEOFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('911', 'transaction_loan', 'UNDOCHARGEOFF_LOAN', 'LOAN', 'UNDOCHARGEOFF', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('912', 'organisation', 'CREATE_DELINQUENCY_ACTION', 'DELINQUENCY_ACTION', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('913', 'transaction_loan', 'DISBURSEWITHOUTAUTODOWNPAYMENT_LOAN', 'LOAN', 'DISBURSEWITHOUTAUTODOWNPAYMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('914', 'transaction_loan', 'INTERESTPAYMENTWAIVER_LOAN', 'LOAN', 'INTERESTPAYMENTWAIVER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('915', 'investor', 'CANCEL_ASSET_OWNER_TRANSACTION', 'ASSET_OWNER_TRANSACTION', 'CANCEL', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('916', 'portfolio', 'REAGE_LOAN', 'LOAN', 'REAGE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('917', 'portfolio', 'UNDO_REAGE_LOAN', 'LOAN', 'UNDO_REAGE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('918', 'portfolio', 'REAMORTIZE_LOAN', 'LOAN', 'REAMORTIZE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('919', 'portfolio', 'UNDO_REAMORTIZE_LOAN', 'LOAN', 'UNDO_REAMORTIZE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('920', 'portfolio', 'CREATE_INTEREST_PAUSE', 'INTEREST_PAUSE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('921', 'portfolio', 'UPDATE_INTEREST_PAUSE', 'INTEREST_PAUSE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('922', 'portfolio', 'DELETE_INTEREST_PAUSE', 'INTEREST_PAUSE', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('923', 'LOAN_PROVISIONING', 'UPDATE_PROVISIONCATEGORY', 'PROVISIONCATEGORY', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('924', 'portfolio', 'DEACTIVATEOVERDUE_LOANCHARGE', 'LOANCHARGE', 'DEACTIVATEOVERDUE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('925', 'authorisation', 'CHANGEPWD_USER', 'USER', 'CHANGEPWD', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('926', 'portfolio', 'CLOSE_CLIENT_CHECKER', 'CLIENT', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('927', 'portfolio', 'CLOSE_GROUP_CHECKER', 'GROUP', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('928', 'portfolio', 'CLOSE_CENTER_CHECKER', 'CENTER', 'CLOSE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('929', 'portfolio', 'REMOVESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'REMOVESAVINGSOFFICER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('930', 'portfolio', 'UPDATESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'UPDATESAVINGSOFFICER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('931', 'cash_mgmt', 'CREATE_TELLER_CHECKER', 'TELLER', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('932', 'cash_mgmt', 'UPDATE_TELLER_CHECKER', 'TELLER', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('933', 'cash_mgmt', 'ALLOCATECASHIER_TELLER_CHECKER', 'TELLER', 'ALLOCATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('934', 'cash_mgmt', 'UPDATECASHIERALLOCATION_TELLER_CHECKER', 'TELLER', 'UPDATECASHIERALLOCATION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('935', 'cash_mgmt', 'DELETECASHIERALLOCATION_TELLER_CHECKER', 'TELLER', 'DELETECASHIERALLOCATION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('936', 'cash_mgmt', 'ALLOCATECASHTOCASHIER_TELLER_CHECKER', 'TELLER', 'ALLOCATECASHTOCASHIER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('937', 'cash_mgmt', 'SETTLECASHFROMCASHIER_TELLER_CHECKER', 'TELLER', 'SETTLECASHFROMCASHIER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('938', 'accounting', 'DEFINEOPENINGBALANCE_JOURNALENTRY_CHECKER', 'JOURNALENTRY', 'DEFINEOPENINGBALANCE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('939', 'cash_mgmt', 'DELETE_TELLER_CHECKER', 'TELLER', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('940', 'organisation', 'READ_RATE_CHECKER', 'RATE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('941', 'organisation', 'CREATE_RATE_CHECKER', 'RATE', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('942', 'organisation', 'UPDATE_RATE_CHECKER', 'RATE', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('943', 'accounting', 'UPDATEOPENINGBALANCE_JOURNALENTRY', 'JOURNALENTRY', 'UPDATEOPENINGBALANCE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('944', 'accounting', 'UPDATEOPENINGBALANCE_JOURNALENTRY_CHECKER', 'JOURNALENTRY', 'UPDATEOPENINGBALANCE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('945', 'account_transfer', 'CREATE_STANDINGINSTRUCTION', 'STANDINGINSTRUCTION', 'CREATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('946', 'account_transfer', 'UPDATE_STANDINGINSTRUCTION', 'STANDINGINSTRUCTION', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('947', 'account_transfer', 'DELETE_STANDINGINSTRUCTION', 'STANDINGINSTRUCTION', 'DELETE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('948', 'collection_sheet', 'UPDATE_COLLECTIONSHEET', 'COLLECTIONSHEET', 'UPDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('949', 'transaction_savings', 'POSTINTERESTASONDATE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'POSTINTERESTASONDATE', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('950', 'transaction_savings', 'POSTINTERESTASONDATE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'POSTINTERESTASONDATE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('951', 'transaction_loan', 'CAPITALIZEDINCOME_LOAN', 'LOAN', 'CAPITALIZEDINCOME', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('952', 'transaction_loan', 'CAPITALIZEDINCOMEADJUSTMENT_LOAN', 'LOAN', 'CAPITALIZEDINCOMEADJUSTMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('953', 'transaction_loan', 'BUYDOWNFEEADJUSTMENT_LOAN', 'LOAN', 'BUYDOWNFEEADJUSTMENT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('954', 'transaction_loan', 'BUYDOWNFEE_LOAN', 'LOAN', 'BUYDOWNFEE', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('955', 'portfolio', 'CONTRACT_TERMINATION_UNDO_LOAN', 'LOAN', 'CONTRACT_TERMINATION_UNDO', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('956', 'transaction_loan', 'UPDATE_APPROVED_AMOUNT_LOAN', 'LOAN', 'UPDATE_APPROVED_AMOUNT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('957', 'transaction_loan', 'MANUAL_INTEREST_REFUND_TRANSACTION_LOAN', 'LOAN', 'MANUAL_INTEREST_REFUND_TRANSACTION', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('741', 'portfolio', 'CREATE_ADDRESS_CHECKER', 'ADDRESS', 'CREATE_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('752', 'portfolio', 'UNDOREJECT_CLIENT_CHECKER', 'CLIENT', 'UNDOREJECT_CHECKER', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('622', 'transaction_savings', 'UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT_CHECKER', 'RECURRINGDEPOSITACCOUNT', 'UPDATEDEPOSITAMOUNT', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('958', 'portfolio', 'READ_FAMILYMEMBERS', 'FAMILYMEMBERS', 'READ', 'f'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('959', 'portfolio', 'FORCE_WITHDRAWAL_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'FORCE_WITHDRAWAL', 't'); +INSERT INTO public.m_permission (id, "grouping", code, entity_name, action_name, can_maker_checker) VALUES ('960', 'portfolio', 'FORCE_WITHDRAWAL_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'FORCE_WITHDRAWAL_CHECKER', 'f'); + + +-- Data for Name: m_portfolio_command_source; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_configurable_attributes; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_floating_rates; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_guarantee_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_rate; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_recalculation_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_variable_installment_config; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_loan_variations_borrower_cycle; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_product_mix; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_provisioning_criteria_definition; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_repayment_with_post_dated_checks; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: stretchy_report; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('1', 'Client Listing', 'Table', NULL, 'Client', 'SELECT Concat(REPEAT(''..'', (( Length(ounder.hierarchy) - Length( REPLACE(ounder.hierarchy, ''.'', '''')) - 1 ))) , ounder.name) AS "Office/Branch", c.account_no AS "Client Account No.", c.display_name AS name, r.enum_message_property AS "Status", c.activation_date AS "Activation", c.external_id AS "External Id" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum WHERE o.id = ''${officeId}'' ORDER BY ounder.hierarchy, c.account_no', 'Individual Client Report Lists the small number of defined fields on the client table. Would expect to copy this report and add any ''one to one'' additional data for specific tenant needs. Can be run for any size MFI but you''d expect it only to be run within a branch for larger ones. Depending on how many columns are displayed, there is probably is a limit of about 20/50k clients returned for html display (export to excel doesn''t have that client browser/memory impact).', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('2', 'Client Loans Listing', 'Table', NULL, 'Client', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", c.account_no AS "Client Account No.", c.display_name AS name, r.enum_message_property AS "Client Status", lo.display_name AS "Loan Officer", l.account_no AS "Loan Account No.", l.external_id AS "External Id", p.name AS loan, st.enum_message_property AS "Status", f.name AS fund, purp.code_value AS "Loan Purpose", Coalesce(cur.display_symbol, l.currency_code) AS currency, l.principal_amount, l.arrearstolerance_amount AS "Arrears Tolerance Amount", l.number_of_repayments AS "Expected No. Repayments", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", l.nominal_interest_rate_per_period AS "Nominal Interest Rate Per Period", ipf.enum_message_property AS "Interest Rate Frequency", im.enum_message_property AS "Interest Method", icp.enum_message_property AS "Interest Calculated in Period", l.term_frequency AS "Term Frequency", tf.enum_message_property AS "Term Frequency Period", l.repay_every AS "Repayment Frequency", rf.enum_message_property AS "Repayment Frequency Period", am.enum_message_property AS "Amortization", l.total_charges_due_at_disbursement_derived AS "Total Charges Due At Disbursement", DATE_TRUNC(''day'', l.submittedon_date) AS submitted, DATE_TRUNC(''day'', l.approvedon_date) approved, l.expected_disbursedon_date AS "Expected Disbursal", DATE_TRUNC(''day'', l.expected_firstrepaymenton_date) AS "Expected First Repayment", DATE_TRUNC(''day'', l.interest_calculated_from_date) AS "Interest Calculated From" , DATE_TRUNC(''day'', l.disbursedon_date) AS disbursed, DATE_TRUNC(''day'', l.expected_maturedon_date) AS "Expected Maturity", DATE_TRUNC(''day'', l.maturedon_date) AS "Matured On", DATE_TRUNC(''day'', l.closedon_date) AS closed, DATE_TRUNC(''day'', l.rejectedon_date) AS rejected, DATE_TRUNC(''day'', l.rescheduledon_date) AS rescheduled, DATE_TRUNC(''day'', l.withdrawnon_date) AS withdrawn, DATE_TRUNC(''day'', l.writtenoffon_date) AS "Written Off" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum LEFT JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_product_loan p ON p.id = l.product_id LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN r_enum_value st ON st.enum_name = ''loan_status_id'' AND st.enum_id = l.loan_status_id LEFT JOIN r_enum_value ipf ON ipf.enum_name = ''interest_period_frequency_enum'' AND ipf.enum_id = l.interest_period_frequency_enum LEFT JOIN r_enum_value im ON im.enum_name = ''interest_method_enum'' AND im.enum_id = l.interest_method_enum LEFT JOIN r_enum_value tf ON tf.enum_name = ''term_period_frequency_enum'' AND tf.enum_id = l.term_period_frequency_enum LEFT JOIN r_enum_value icp ON icp.enum_name = ''interest_calculated_in_period_enum'' AND icp.enum_id = l.interest_calculated_in_period_enum LEFT JOIN r_enum_value rf ON rf.enum_name = ''repayment_period_frequency_enum'' AND rf.enum_id = l.repayment_period_frequency_enum LEFT JOIN r_enum_value am ON am.enum_name = ''amortization_method_enum'' AND am.enum_id = l.amortization_method_enum LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id LEFT JOIN m_currency cur ON cur.code = l.currency_code WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) ORDER BY ounder.hierarchy, 2 , l.id', 'Individual Client Report Pretty wide report that lists the basic details of client loans. Can be run for any size MFI but you''d expect it only to be run within a branch for larger ones. There is probably is a limit of about 20/50k clients returned for html display (export to excel doesn''t have that client browser/memory impact).', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('5', 'Loans Awaiting Disbursal', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", c.account_no AS "Client Account No", c.display_name AS name, l.account_no AS "Loan Account No.", pl.name AS "Product", f.name AS fund, Coalesce(cur.display_symbol, l.currency_code) AS currency, l.principal_amount AS principal, l.term_frequency AS "Term Frequency", tf.enum_message_property AS "Term Frequency Period", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.approvedon_date) AS "Approved", extract(day FROM (l.expected_disbursedon_date::TIMESTAMP - CURRENT_DATE)) AS "Days to Disbursal", DATE_TRUNC(''day'', l.expected_disbursedon_date) AS "Expected Disbursal", purp.code_value AS "Loan Purpose", lo.display_name AS "Loan Officer" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id LEFT JOIN r_enum_value tf ON tf.enum_name = ''term_period_frequency_enum'' AND tf.enum_id = l.term_period_frequency_enum WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ''${loanOfficerId}'' OR ''-1'' = ''${loanOfficerId}'') AND ( coalesce(l.fund_id, -10) = ''${fundId}'' OR -1 = ''${fundId}'') AND ( coalesce(l.loanpurpose_cv_id, -10) = ''${loanPurposeId}'' OR -1 = ''${loanPurposeId}'') AND l.loan_status_id = 200 ORDER BY ounder.hierarchy, extract(day FROM (l.expected_disbursedon_date::TIMESTAMP - CURRENT_DATE)), c.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('6', 'Loans Awaiting Disbursal Summary', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", pl.name AS "Product", Coalesce(cur.display_symbol, l.currency_code) AS currency, f.name AS fund, Sum(l.principal_amount) AS principal FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ''${loanOfficerId}'' OR ''-1'' = ''${loanOfficerId}'') AND ( coalesce(l.fund_id, -10) = ''${fundId}'' OR -1 = ''${fundId}'') AND ( coalesce(l.loanpurpose_cv_id, -10) = ''${loanPurposeId}'' OR -1 = ''${loanPurposeId}'') AND l.loan_status_id = 200 GROUP BY ounder.hierarchy, pl.name, l.currency_code, f.name, ounder.name, cur.display_symbol ORDER BY ounder.hierarchy, pl.name, l.currency_code, f.name', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('7', 'Loans Awaiting Disbursal Summary by Month', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", pl.name AS "Product", Coalesce(cur.display_symbol, l.currency_code) AS "currency", extract(year from l.expected_disbursedon_date) AS "Year", to_char(l.expected_disbursedon_date, ''Month'') AS "Month", Sum(l.principal_amount) AS "principal" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( Coalesce(l.loan_officer_id, -10) = ''${loanOfficerId}'' OR ''-1'' = ''${loanOfficerId}'') AND ( coalesce(l.fund_id, -10) = ''${fundId}'' OR -1 = ''${fundId}'') AND ( coalesce(l.loanpurpose_cv_id, -10) = ''${loanPurposeId}'' OR -1 = ''${loanPurposeId}'') AND l.loan_status_id = 200 GROUP BY ounder.hierarchy, ounder.name, cur.display_symbol, pl.name, l.currency_code, l.expected_disbursedon_date ORDER BY ounder.hierarchy, pl.name, l.currency_code, extract(year from l.expected_disbursedon_date), to_char(l.expected_disbursedon_date, ''Month'')', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('8', 'Loans Pending Approval', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", c.account_no AS "Client Account No.", c.display_name AS "Client Name", Coalesce(cur.display_symbol, l.currency_code) AS currency, pl.name AS "Product", l.account_no AS "Loan Account No.", l.principal_amount AS "Loan Amount", l.term_frequency AS "Term Frequency", tf.enum_message_property AS "Term Frequency Period", l.annual_nominal_interest_rate AS " Annual Nominal Interest Rate", Extract(day FROM (CURRENT_DATE - l.submittedon_date::TIMESTAMP)) AS "Days Pending Approval", purp.code_value AS "Loan Purpose", lo.display_name AS "Loan Officer" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id LEFT JOIN r_enum_value tf ON tf.enum_name = ''term_period_frequency_enum'' AND tf.enum_id = l.term_period_frequency_enum WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ''${loanOfficerId}'' OR ''-1'' = ''${loanOfficerId}'') AND ( coalesce(l.loanpurpose_cv_id, -10) = ''${loanPurposeId}'' OR -1 = ''${loanPurposeId}'') AND l.loan_status_id = 100 ORDER BY ounder.hierarchy, l.submittedon_date, l.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('11', 'Active Loans - Summary', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(mo.hierarchy) - Length(REPLACE(mo.hierarchy, ''.'', '''')) - 1))), mo.name) AS "Office/Branch", x.currency AS currency, x.client_count AS "No. of Clients", x.active_loan_count AS "No. Active Loans", x. loans_in_arrears_count AS "No. of Loans in Arrears", x.principal AS "Total Loans Disbursed", x.principal_repaid AS "Principal Repaid", x.principal_outstanding AS "Principal Outstanding", x.principal_overdue AS "Principal Overdue", x.interest AS "Total Interest", x.interest_repaid AS "Interest Repaid", x.interest_outstanding AS "Interest Outstanding", x.interest_overdue AS "Interest Overdue", x.fees AS "Total Fees", x.fees_repaid AS "Fees Repaid", x.fees_outstanding AS "Fees Outstanding", x.fees_overdue AS "Fees Overdue", x.penalties AS "Total Penalties", x.penalties_repaid AS "Penalties Repaid", x.penalties_outstanding AS "Penalties Outstanding", x.penalties_overdue AS "Penalties Overdue", ( CASE WHEN ${parType} = 1 THEN cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) AS CHAR) WHEN ${parType} = 2 THEN cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) AS CHAR) WHEN ${parType} = 3 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) AS CHAR) WHEN ${parType} = 4 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) AS CHAR) ELSE ''invalid PAR Type'' end) AS "Portfolio at Risk %" FROM m_office mo JOIN ( SELECT ounder.id AS branch, coalesce(cur.display_symbol, l.currency_code) AS currency, count(DISTINCT(c.id)) AS client_count, count(DISTINCT(l.id)) AS active_loan_count, count(DISTINCT(coalesce(laa.loan_id, l.id, NULL) )) AS loans_in_arrears_count, sum(l.principal_disbursed_derived) AS principal, sum(l.principal_repaid_derived) AS principal_repaid, sum(l.principal_outstanding_derived) AS principal_outstanding, sum(laa.principal_overdue_derived) AS principal_overdue, sum(l.interest_charged_derived) AS interest, sum(l.interest_repaid_derived) AS interest_repaid, sum(l.interest_outstanding_derived) AS interest_outstanding, sum(laa.interest_overdue_derived) AS interest_overdue, sum(l.fee_charges_charged_derived) AS fees, sum(l.fee_charges_repaid_derived) AS fees_repaid, sum(l.fee_charges_outstanding_derived) AS fees_outstanding, sum(laa.fee_charges_overdue_derived) AS fees_overdue, sum(l.penalty_charges_charged_derived) AS penalties, sum(l.penalty_charges_repaid_derived) AS penalties_repaid, sum(l.penalty_charges_outstanding_derived) AS penalties_outstanding, sum(laa.penalty_charges_overdue_derived) AS penalties_overdue FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id LEFT JOIN m_currency cur ON cur.code = l.currency_code WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 GROUP BY ounder.id, l.currency_code, cur.display_symbol) x ON x.branch = mo.id ORDER BY mo.hierarchy, x.currency', NULL, 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('12', 'Active Loans - Details', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, l.currency_code) AS currency, lo.display_name AS "Loan Officer", c.display_name AS "Client", l.account_no AS "Loan Account No.", pl.name AS "Product", f.name AS fund, l.principal_amount AS "Loan Amount", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed Date", DATE_TRUNC(''day'', l.expected_maturedon_date) AS "Expected Matured On", l.principal_repaid_derived AS "Principal Repaid", l.principal_outstanding_derived AS "Principal Outstanding", laa.principal_overdue_derived AS "Principal Overdue", l.interest_repaid_derived AS "Interest Repaid", l.interest_outstanding_derived AS "Interest Outstanding", laa.interest_overdue_derived AS "Interest Overdue", l.fee_charges_repaid_derived AS "Fees Repaid", l.fee_charges_outstanding_derived AS "Fees Outstanding", laa.fee_charges_overdue_derived AS "Fees Overdue", l.penalty_charges_repaid_derived AS "Penalties Repaid", l.penalty_charges_outstanding_derived AS "Penalties Outstanding", penalty_charges_overdue_derived AS "Penalties Overdue" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( Coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 GROUP BY l.id, ounder.hierarchy , ounder.name, cur.display_symbol, lo.display_name, c.display_name, pl.name, f.name, laa.principal_overdue_derived, laa.interest_overdue_derived, laa.fee_charges_overdue_derived, laa.penalty_charges_overdue_derived , c.account_no ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('13', 'Obligation Met Loans Details', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy ) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, l.currency_code) AS currency, c.account_no AS "Client Account No.", c.display_name AS "Client", l.account_no AS "Loan Account No.", pl.name AS "Product", f.name AS fund, l.principal_amount AS "Loan Amount", l.total_repayment_derived AS "Total Repaid", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed", DATE_TRUNC(''day'', l.closedon_date) AS "Closed", l.principal_repaid_derived AS "Principal Repaid", l.interest_repaid_derived AS "Interest Repaid", l.fee_charges_repaid_derived AS "Fees Repaid", l.penalty_charges_repaid_derived AS "Penalties Repaid", lo.display_name AS "Loan Officer" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( Coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND ( CASE WHEN ${obligDateType} = 1 THEN l.closedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' WHEN ${obligDateType} = 2 THEN l.disbursedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' ELSE 1 = 1 end) AND l.loan_status_id = 600 GROUP BY l.id, ounder.hierarchy, ounder.name, cur.display_symbol, c.account_no, c.display_name, pl.name, f.name, lo.display_name ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('14', 'Obligation Met Loans Summary', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy ) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, l.currency_code) AS currency, Count(DISTINCT(c.id)) AS "No. of Clients", Count(DISTINCT(l.id)) AS "No. of Loans", Sum(l.principal_amount) AS "Total Loan Amount", Sum(l.principal_repaid_derived) AS "Total Principal Repaid", Sum(l.interest_repaid_derived) AS "Total Interest Repaid", Sum(l.fee_charges_repaid_derived) AS "Total Fees Repaid", Sum(l.penalty_charges_repaid_derived) AS "Total Penalties Repaid", Sum(l.interest_waived_derived) AS "Total Interest Waived", Sum(l.fee_charges_waived_derived) AS "Total Fees Waived", Sum(l.penalty_charges_waived_derived) AS "Total Penalties Waived" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND ( CASE WHEN ${obligDateType} = 1 THEN l.closedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' WHEN ${obligDateType} = 2 THEN l.disbursedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' ELSE 1 = 1 end) AND l.loan_status_id = 600 GROUP BY ounder.hierarchy, l.currency_code, ounder.name, cur.display_symbol ORDER BY ounder.hierarchy, l.currency_code', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('15', 'Portfolio at Risk', 'Table', NULL, 'Loan', 'SELECT x."Currency", x."Principal Outstanding", x."Principal Overdue", x."Interest Outstanding", x."Interest Overdue", x."Fees Outstanding", x."Fees Overdue", x."Penalties Outstanding", x."Penalties Overdue", ( CASE WHEN ${parType} = 1 THEN cast(round((x."Principal Overdue" * 100) / x."Principal Outstanding", 2) AS CHAR) WHEN ${parType} = 2 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding"), 2) AS CHAR) WHEN ${parType} = 3 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue" + x."Fees Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding" + x."Fees Outstanding"), 2) AS CHAR) WHEN ${parType} = 4 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue" + x."Fees Overdue" + x."Penalties Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding" + x."Fees Outstanding" + x."Penalties Overdue"), 2) AS CHAR) ELSE ''invalid PAR Type'' end) AS "Portfolio at Risk %" FROM ( SELECT coalesce(cur.display_symbol, l.currency_code) AS "Currency", sum(l.principal_outstanding_derived) AS "Principal Outstanding", sum(laa.principal_overdue_derived) AS "Principal Overdue", sum(l.interest_outstanding_derived) AS "Interest Outstanding", sum(laa.interest_overdue_derived) AS "Interest Overdue", sum(l.fee_charges_outstanding_derived) AS "Fees Outstanding", sum(laa.fee_charges_overdue_derived) AS "Fees Overdue", sum(penalty_charges_outstanding_derived) AS "Penalties Outstanding", sum(laa.penalty_charges_overdue_derived) AS "Penalties Overdue" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id LEFT JOIN m_product_loan p ON p.id = l.product_id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) and (coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 GROUP BY l.currency_code, cur.display_symbol ORDER BY l.currency_code) x', 'Covers all loans. For larger MFIs … we should add some derived fields on loan (or a 1:1 loan related table like mifos 2.x does) Principle, Interest, Fees, Penalties Outstanding and Overdue (possibly waived and written off too)', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('16', 'Portfolio at Risk by Branch', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(mo.hierarchy ) - Length(REPLACE(mo.hierarchy, ''.'', '''')) - 1))), mo.name) AS "Office/Branch", x."Currency", x."Principal Outstanding" , x."Principal Overdue", x."Interest Outstanding", x."Interest Overdue", x."Fees Outstanding", x."Fees Overdue", x."Penalties Outstanding", x."Penalties Overdue", ( CASE WHEN ${parType} = 1 THEN cast(round((x."Principal Overdue" * 100) / x."Principal Outstanding", 2) AS CHAR) WHEN ${parType} = 2 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding"), 2) AS CHAR) WHEN ${parType} = 3 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue" + x."Fees Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding" + x."Fees Outstanding"), 2) AS CHAR) WHEN ${parType} = 4 THEN cast(round(((x."Principal Overdue" + x."Interest Overdue" + x."Fees Overdue" + x."Penalties Overdue") * 100) / (x."Principal Outstanding" + x."Interest Outstanding" + x."Fees Outstanding" + x."Penalties Overdue"), 2) AS CHAR) ELSE ''invalid PAR Type'' end) AS "Portfolio at Risk %" FROM m_office mo JOIN ( SELECT ounder.id AS "branch", coalesce(cur.display_symbol, l.currency_code) AS "Currency", sum(l.principal_outstanding_derived) AS "Principal Outstanding", sum(laa.principal_overdue_derived) AS "Principal Overdue", sum(l.interest_outstanding_derived) AS "Interest Outstanding", sum(laa.interest_overdue_derived) AS "Interest Overdue", sum(l.fee_charges_outstanding_derived) AS "Fees Outstanding", sum(laa.fee_charges_overdue_derived) AS "Fees Overdue", sum(penalty_charges_outstanding_derived) AS "Penalties Outstanding", sum(laa.penalty_charges_overdue_derived) AS "Penalties Overdue" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_code_value purp ON purp.id = l.loanpurpose_cv_id LEFT JOIN m_product_loan p ON p.id = l.product_id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) and (coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 GROUP BY ounder.id, l.currency_code, cur.display_symbol ) x ON x.branch = mo.id ORDER BY mo.hierarchy, x."Currency"', 'Covers all loans. For larger MFIs … we should add some derived fields on loan (or a 1:1 loan related table like mifos 2.x does) Principle, Interest, Fees, Penalties Outstanding and Overdue (possibly waived and written off too)', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('20', 'Funds Disbursed Between Dates Summary', 'Table', NULL, 'Fund', 'SELECT Coalesce(f.name, ''-'') AS fund, Coalesce(cur.display_symbol, l.currency_code) AS currency, Round(Sum(l.principal_amount), 4) AS disbursed_amount FROM m_office ounder JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id WHERE disbursedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') GROUP BY coalesce(f.name, ''-'') , coalesce(cur.display_symbol, l.currency_code) ORDER BY coalesce(f.name, ''-'') , coalesce(cur.display_symbol, l.currency_code)', NULL, 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('21', 'Funds Disbursed Between Dates Summary by Office', 'Table', NULL, 'Fund', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(f.name, ''-'') AS fund, Coalesce(cur.display_symbol, l.currency_code) AS currency, Round(Sum(l.principal_amount), 4) AS disbursed_amount FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id WHERE disbursedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' AND o.id = ''${officeId}'' AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') GROUP BY ounder.name, coalesce(f.name, ''-'') , coalesce(cur.display_symbol, l.currency_code), ounder.hierarchy ORDER BY ounder.name, coalesce(f.name, ''-'') , coalesce(cur.display_symbol, l.currency_code)', NULL, 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('51', 'Written-Off Loans', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, ml.currency_code) AS currency, c.account_no AS "Client Account No.", c.display_name AS "Client Name", ml.account_no AS "Loan Account No.", mpl.name AS "Product Name", ml.disbursedon_date AS "Disbursed Date", lt.transaction_date AS "Written Off date", ml.principal_amount AS "Loan Amount", Coalesce(lt.principal_portion_derived, 0) AS "Written-Off Principal", Coalesce(lt.interest_portion_derived, 0) AS "Written-Off Interest", Coalesce(lt.fee_charges_portion_derived,0) AS "Written-Off Fees", Coalesce(lt.penalty_charges_portion_derived,0) AS "Written-Off Penalties", n.note AS "Reason For Write-Off", Coalesce(ms.display_name,''-'') AS "Loan Officer Name" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan ml ON ml.client_id = c.id JOIN m_product_loan mpl ON mpl.id=ml.product_id LEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id JOIN m_loan_transaction lt ON lt.loan_id = ml.id LEFT JOIN m_note n ON n.loan_transaction_id = lt.id LEFT JOIN m_currency cur ON cur.code = ml.currency_code WHERE lt.transaction_type_enum = 6 /*write-off */ AND lt.is_reversed IS FALSE AND ml.loan_status_id=601 AND o.id=''${officeId}'' AND ( mpl.id=''${loanProductId}'' OR ''${loanProductId}''=-1) AND lt.transaction_date BETWEEN ''${startDate}'' AND ''${endDate}'' AND ( ml.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') ORDER BY ounder.hierarchy, coalesce(cur.display_symbol, ml.currency_code), ml.account_no', 'Individual Lending Report. Written Off Loans', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('52', 'Aging Detail', 'Table', NULL, 'Loan', 'SELECT Concat(Repeat(''..'', ((Length(ounder.hierarchy) - Length(Replace(ounder.hierarchy , ''.'', '''')) - 1))), ounder.NAME) AS "Office/Branch", COALESCE(cur.display_symbol, ml.currency_code) AS currency, mc.account_no AS "Client Account No.", mc.display_name AS "Client Name", ml.account_no AS "Account Number", ml.principal_amount AS "Loan Amount", ml.principal_disbursed_derived AS "Original Principal", ml.interest_charged_derived AS "Original Interest", ml.principal_repaid_derived AS "Principal Paid", ml.interest_repaid_derived AS "Interest Paid", laa.principal_overdue_derived AS "Principal Overdue", laa.interest_overdue_derived AS "Interest Overdue", Extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp)) AS "Days in Arrears", CASE WHEN Extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<7 THEN ''<1'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<8 THEN '' 1'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<15 THEN ''2'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<22 THEN '' 3'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<29 THEN '' 4'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<36 THEN '' 5'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<43 THEN '' 6'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<50 THEN '' 7'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<57 THEN '' 8'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<64 THEN '' 9'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<71 THEN ''10'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<78 THEN ''11'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<85 THEN ''12'' ELSE ''12+'' END AS "Weeks In Arrears Band", CASE WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<31 THEN ''0 - 30'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<61 THEN ''30 - 60'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<91 THEN ''60 - 90'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<181 THEN ''90 - 180'' WHEN extract(day FROM (CURRENT_DATE::timestamp - laa.overdue_since_date_derived::timestamp))<361 THEN ''180 - 360'' ELSE ''> 360'' END AS "Days in Arrears Band" FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE concat(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') INNER JOIN m_client mc ON mc.office_id=ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id INNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = ''loan_status_id'' INNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id LEFT JOIN m_currency cur ON cur.code = ml.currency_code WHERE ml.loan_status_id=300 AND mo.id=''${officeId}'' GROUP BY ounder.hierarchy, ounder.name, cur.display_symbol, ml.currency_code, mc.account_no, mc.display_name, ml.account_no, ml.principal_amount, ml.principal_disbursed_derived, ml.interest_charged_derived, ml.principal_repaid_derived, ml.interest_repaid_derived, laa.principal_overdue_derived, laa.interest_overdue_derived, laa.overdue_since_date_derived ORDER BY ounder.hierarchy, COALESCE(cur.display_symbol, ml.currency_code), ml.account_no', 'Loan arrears aging (Weeks)', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('113', 'ProgramDirectorStats', 'Table', NULL, 'Quipo', 'SELECT Coalesce(cur.display_symbol, l.currency_code) AS currency, /*This query will return more than one entry if more than one currency is used */ Count(DISTINCT(c.id)) AS activeclients, Count(*) AS activeloans, Sum(l.principal_disbursed_derived) AS disbursedamount, Sum(l.principal_outstanding_derived) AS loanoutstandingamount, Round((Sum(l.principal_outstanding_derived) * 100) / Sum(l.principal_disbursed_derived),2) AS loanoutstandingpc, Sum(Coalesce(lpa.principal_in_advance_derived,0.0)) AS loanpaidinadvance, sum( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'') > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 end) AS portfolioatrisk, round((sum( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 end) * 100) / sum(l.principal_outstanding_derived), 2) AS portfolioatriskpc, count(DISTINCT( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE NULL end)) AS clientsindefault, round((count(DISTINCT( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE NULL end)) * 100) / count(DISTINCT(c.id)), 2) AS clientsindefaultpc, (sum(l.principal_disbursed_derived) / count(*)) AS averageloanamount FROM m_staff pd JOIN m_staff bm ON bm.organisational_role_parent_staff_id = pd.id JOIN m_staff coord ON coord.organisational_role_parent_staff_id = bm.id JOIN m_staff fa ON fa.organisational_role_parent_staff_id = coord.id JOIN m_office o ON o.id = fa.office_id AND o.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_group pgm ON pgm.staff_id = fa.id JOIN m_loan l ON l.group_id = pgm.id AND l.client_id IS NOT NULL LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id LEFT JOIN m_loan_paid_in_advance lpa ON lpa.loan_id = l.id JOIN m_client c ON c.id = l.client_id WHERE pd.id = ${staffId} AND l.loan_status_id = 300 GROUP BY l.currency_code, cur.display_symbol', 'Program DirectorStatistics', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('53', 'Aging Summary (Arrears in Weeks)', 'Table', NULL, 'Loan', 'SELECT Coalesce(periods.currencyname, periods.currency) AS currency, periods.period_no AS "Weeks In Arrears (Up To)", coalesce(ars.loanid, 0) AS "No Of Loans", coalesce(ars.principal,0.0) AS "Original Principal", coalesce(ars.interest,0.0) AS "Original Interest", coalesce(ars.prinpaid,0.0) AS "Principal Paid", coalesce(ars.intpaid,0.0) AS "Interest Paid", coalesce(ars.prinoverdue,0.0) AS "Principal Overdue", coalesce(ars.intoverdue,0.0) AS "Interest Overdue" FROM ( SELECT curs.code AS currency, curs.name AS currencyname, pers.* FROM ( SELECT ''On Schedule'' period_no, 1 pid UNION SELECT ''1'', 2 UNION SELECT ''2'', 3 UNION SELECT ''3'', 4 UNION SELECT ''4'', 5 UNION SELECT ''5'', 6 UNION SELECT ''6'', 7 UNION SELECT ''7'', 8 UNION SELECT ''8'', 9 UNION SELECT ''9'', 10 UNION SELECT ''10'', 11 UNION SELECT ''11'', 12 UNION SELECT ''12'', 13 UNION SELECT ''12+'', 14) pers, ( SELECT DISTINCT ON (moc.code) moc.code, moc.name FROM m_office mo2 INNER JOIN m_office ounder2 ON ounder2.hierarchy LIKE concat(mo2.hierarchy, ''%'') AND ounder2.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') INNER JOIN m_client mc2 ON mc2.office_id=ounder2.id INNER JOIN m_loan ml2 ON ml2.client_id = mc2.id INNER JOIN m_organisation_currency moc ON moc.code = ml2.currency_code WHERE ml2.loan_status_id=300 /* active */ AND mo2.id=''${officeId}'' AND ( ml2.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') GROUP BY moc.code, moc.name) curs) periods LEFT JOIN ( SELECT z.currency, z.arrperiod, count(z.loanid) AS loanid, sum(z.principal) AS principal, sum(z.interest) AS interest, sum(z.prinpaid) AS prinpaid, sum(z.intpaid) AS intpaid, sum(z.prinoverdue) AS prinoverdue, sum(z.intoverdue) AS intoverdue FROM ( SELECT x.loanid, x.currency, x.principal, x.interest, x.prinpaid, x.intpaid, x.prinoverdue, x.intoverdue, CASE WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<1 THEN ''On Schedule'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<8 THEN ''1'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<15 THEN ''2'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<22 THEN ''3'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<29 THEN ''4'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<36 THEN ''5'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<43 THEN ''6'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<50 THEN ''7'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<57 THEN ''8'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<64 THEN ''9'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<71 THEN ''10'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<78 THEN ''11'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<85 THEN ''12'' ELSE ''12+'' end AS arrperiod FROM ( SELECT ml.id AS loanid, ml.currency_code AS currency, ml.principal_disbursed_derived AS principal, ml.interest_charged_derived AS interest, ml.principal_repaid_derived AS prinpaid, ml.interest_repaid_derived AS intpaid, laa.principal_overdue_derived AS prinoverdue, laa.interest_overdue_derived AS intoverdue, coalesce(laa.overdue_since_date_derived, CURRENT_DATE) AS minoverduedate FROM m_office mo INNER JOIN m_office ounder ON ounder.hierarchy LIKE concat(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') INNER JOIN m_client mc ON mc.office_id=ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = ml.id WHERE ml.loan_status_id=300 AND mo.id=''${officeId}'' AND ( ml.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') GROUP BY ml.id, laa.principal_overdue_derived, laa.interest_overdue_derived, laa.overdue_since_date_derived) x ) z GROUP BY z.currency, z.arrperiod ) ars ON ars.arrperiod=periods.period_no AND ars.currency = periods.currency ORDER BY periods.currency, periods.pid', 'Loan amount in arrears by branch', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('54', 'Rescheduled Loans', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, ml.currency_code) AS currency, c.account_no AS "Client Account No.", c.display_name AS "Client Name", ml.account_no AS "Loan Account No.", mpl.name AS "Product Name", ml.disbursedon_date AS "Disbursed Date", lt.transaction_date AS "Written Off date", ml.principal_amount AS "Loan Amount", Coalesce(lt.principal_portion_derived, 0) AS "Rescheduled Principal", Coalesce(lt.interest_portion_derived, 0) AS "Rescheduled Interest", Coalesce(lt.fee_charges_portion_derived,0) AS "Rescheduled Fees", Coalesce(lt.penalty_charges_portion_derived,0) AS "Rescheduled Penalties", n.note AS "Reason For Rescheduling", Coalesce(ms.display_name,''-'') AS "Loan Officer Name" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan ml ON ml.client_id = c.id JOIN m_product_loan mpl ON mpl.id=ml.product_id LEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id JOIN m_loan_transaction lt ON lt.loan_id = ml.id LEFT JOIN m_note n ON n.loan_transaction_id = lt.id LEFT JOIN m_currency cur ON cur.code = ml.currency_code WHERE lt.transaction_type_enum = 7 /*marked for rescheduling */ AND lt.is_reversed IS FALSE AND ml.loan_status_id=602 AND o.id=''${officeId}'' AND ( mpl.id=''${loanProductId}'' OR ''${loanProductId}''=-1) AND lt.transaction_date BETWEEN ''${startDate}'' AND ''${endDate}'' AND ( ml.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') ORDER BY ounder.hierarchy, coalesce(cur.display_symbol, ml.currency_code), ml.account_no', 'Individual Lending Report. Rescheduled Loans. The ability to reschedule (or mark that you have rescheduled the loan elsewhere) is a legacy of the older Mifos product. Needed for migration.', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('55', 'Active Loans Passed Final Maturity', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, l.currency_code) AS currency, lo.display_name AS "Loan Officer", c.display_name AS "Client", l.account_no AS "Loan Account No.", pl.name AS "Product", f.name AS fund, l.principal_amount AS "Loan Amount", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed Date", DATE_TRUNC(''day'', l.expected_maturedon_date) AS "Expected Matured On", l.principal_repaid_derived AS "Principal Repaid", l.principal_outstanding_derived AS "Principal Outstanding", laa.principal_overdue_derived AS "Principal Overdue", l.interest_repaid_derived AS "Interest Repaid", l.interest_outstanding_derived AS "Interest Outstanding", laa.interest_overdue_derived AS "Interest Overdue", l.fee_charges_repaid_derived AS "Fees Repaid", l.fee_charges_outstanding_derived AS "Fees Outstanding", laa.fee_charges_overdue_derived AS "Fees Overdue", l.penalty_charges_repaid_derived AS "Penalties Repaid", l.penalty_charges_outstanding_derived AS "Penalties Outstanding", laa.penalty_charges_overdue_derived AS "Penalties Overdue" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( Coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 AND l.expected_maturedon_date < CURRENT_DATE GROUP BY l.id, ounder.hierarchy, ounder.name, cur.display_symbol, lo.display_name, c.display_name, f.name, pl.name, laa.principal_overdue_derived, laa.interest_overdue_derived, laa.fee_charges_overdue_derived, laa.penalty_charges_overdue_derived, c.account_no ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('56', 'Active Loans Passed Final Maturity Summary', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(mo.hierarchy ) - Length(REPLACE(mo.hierarchy, ''.'', '''')) - 1))), mo.name) AS "Office/Branch", x.currency AS currency, x.client_count AS "No. of Clients", x.active_loan_count AS "No. Active Loans", x. arrears_loan_count AS "No. of Loans in Arrears", x.principal AS "Total Loans Disbursed", x.principal_repaid AS "Principal Repaid", x.principal_outstanding AS "Principal Outstanding", x.principal_overdue AS "Principal Overdue", x.interest AS "Total Interest", x.interest_repaid AS "Interest Repaid", x.interest_outstanding AS "Interest Outstanding", x.interest_overdue AS "Interest Overdue", x.fees AS "Total Fees", x.fees_repaid AS "Fees Repaid", x.fees_outstanding AS "Fees Outstanding", x.fees_overdue AS "Fees Overdue", x.penalties AS "Total Penalties", x.penalties_repaid AS "Penalties Repaid", x.penalties_outstanding AS "Penalties Outstanding", x.penalties_overdue AS "Penalties Overdue", ( CASE WHEN ${parType} = 1 THEN cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) AS CHAR) WHEN ${parType} = 2 THEN cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) AS CHAR) WHEN ${parType} = 3 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) AS CHAR) WHEN ${parType} = 4 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) AS CHAR) ELSE ''invalid PAR Type'' end) AS "Portfolio at Risk %" FROM m_office mo JOIN ( SELECT ounder.id AS branch, coalesce(cur.display_symbol, l.currency_code) AS currency, count(DISTINCT(c.id)) AS client_count, count(DISTINCT(l.id)) AS active_loan_count, count(DISTINCT(laa.loan_id) ) AS arrears_loan_count, sum(l.principal_disbursed_derived) AS principal, sum(l.principal_repaid_derived) AS principal_repaid, sum(l.principal_outstanding_derived) AS principal_outstanding, sum(coalesce(laa.principal_overdue_derived,0)) AS principal_overdue, sum(l.interest_charged_derived) AS interest, sum(l.interest_repaid_derived) AS interest_repaid, sum(l.interest_outstanding_derived) AS interest_outstanding, sum(coalesce(laa.interest_overdue_derived,0)) AS interest_overdue, sum(l.fee_charges_charged_derived) AS fees, sum(l.fee_charges_repaid_derived) AS fees_repaid, sum(l.fee_charges_outstanding_derived) AS fees_outstanding, sum(coalesce(laa.fee_charges_overdue_derived,0)) AS fees_overdue, sum(l.penalty_charges_charged_derived) AS penalties, sum(l.penalty_charges_repaid_derived) AS penalties_repaid, sum(l.penalty_charges_outstanding_derived) AS penalties_outstanding, sum(coalesce(laa.penalty_charges_overdue_derived,0)) AS penalties_overdue FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) and (coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 AND l.expected_maturedon_date < CURRENT_DATE GROUP BY ounder.id, cur.display_symbol, l.currency_code) x ON x.branch = mo.id ORDER BY mo.hierarchy, x.currency', NULL, 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('57', 'Active Loans in last installment', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(lastinstallment.hierarchy) - Length(REPLACE(lastinstallment.hierarchy, ''.'', '''')) - 1))), lastinstallment.branch) AS "Office/Branch", lastinstallment.currency, lastinstallment."Loan Officer", lastinstallment."Client Account No", lastinstallment."Client", lastinstallment."Loan Account No", lastinstallment."Product", lastinstallment."Fund", lastinstallment."Loan Amount", lastinstallment."Annual Nominal Interest Rate", lastinstallment."Disbursed", lastinstallment."Expected Matured On" , l.principal_repaid_derived AS "Principal Repaid", l.principal_outstanding_derived AS "Principal Outstanding", laa.principal_overdue_derived AS "Principal Overdue", l.interest_repaid_derived AS "Interest Repaid", l.interest_outstanding_derived AS "Interest Outstanding", laa.interest_overdue_derived AS "Interest Overdue", l.fee_charges_repaid_derived AS "Fees Repaid", l.fee_charges_outstanding_derived AS "Fees Outstanding", laa.fee_charges_overdue_derived AS "Fees Overdue", l.penalty_charges_repaid_derived AS "Penalties Repaid", l.penalty_charges_outstanding_derived AS "Penalties Outstanding", laa.penalty_charges_overdue_derived AS "Penalties Overdue" FROM ( SELECT l.id AS loanid, l.number_of_repayments, Min(r.installment), ounder.id, ounder.hierarchy, ounder.name AS branch, Coalesce(cur.display_symbol, l.currency_code) AS currency, lo.display_name AS "Loan Officer", c.account_no AS "Client Account No", c.display_name AS "Client", l.account_no AS "Loan Account No", pl.name AS "Product", f.name AS "Fund", l.principal_amount AS "Loan Amount", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed", DATE_TRUNC(''day'', l.expected_maturedon_date) AS "Expected Matured On" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_loan_repayment_schedule r ON r.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( Coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 AND r.completed_derived IS FALSE AND r.duedate >= CURRENT_DATE GROUP BY l.id, ounder.id, cur.display_symbol, lo.display_name, c.account_no, c.display_name, pl.name, f.name HAVING l.number_of_repayments = min(r.installment)) lastinstallment JOIN m_loan l ON l.id = lastinstallment.loanid LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id ORDER BY lastinstallment.hierarchy, lastinstallment.currency, lastinstallment."Client Account No", lastinstallment."Loan Account No"', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('179', 'Loan Repayment', 'SMS', 'Triggered', NULL, 'select ml.id as loanId, mc.id, mc.firstname, COALESCE(mc.middlename, '''') as middlename, mc.lastname, mc.display_name as FullName, mobile_no as mobileNo, mc.group_name as GroupName, round(ml.principal_amount, ml.currency_digits) as LoanAmount, round(ml."total_outstanding_derived", ml.currency_digits) as LoanOutstanding, ml."account_no" as LoanAccountId, round(mlt.amountPaid, ml.currency_digits) as repaymentAmount FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') AND ounder.hierarchy like CONCAT(''.'', ''%'') LEFT JOIN (select ml.id as loanId, COALESCE(mc.id, mc2.id) as id, COALESCE(mc.firstname, mc2.firstname) as firstname, COALESCE(mc.middlename, COALESCE(mc2.middlename, (''''))) as middlename, COALESCE(mc.lastname, mc2.lastname) as lastname, COALESCE(mc.display_name, mc2.display_name) as display_name, COALESCE(mc.status_enum, mc2.status_enum) as status_enum, COALESCE(mc.mobile_no, mc2.mobile_no) as mobile_no, COALESCE(mg.office_id, mc2.office_id) as office_id, COALESCE(mg.staff_id, mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id order by loanId) mc on mc.office_id = ounder.id right join m_loan as ml on mc.loanId = ml.id right join(select mlt.amount as amountPaid, mlt.id, mlt.loan_id from m_loan_transaction mlt where mlt.is_reversed = false group by mlt.loan_id, mlt.id) as mlt on mlt.loan_id = ml.id right join m_loan_repayment_schedule as mls1 on ml.id = mls1.loan_id and mls1."completed_derived" = false and mls1.installment = (SELECT MIN(installment) from m_loan_repayment_schedule where loan_id = ml.id and duedate <= CURRENT_DATE and completed_derived = false) where mc.status_enum = 300 and mobile_no is not null and ml."loan_status_id" = 300 and (mo.id = ''${officeId}'' or ''${officeId}'' = -1) and (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1) and (ml.loan_type_enum = ${loanType} or ${loanType} = -1) and ml.id in (select mla.loan_id from m_loan_arrears_aging mla) group by ml.id, mc.id, mc.firstname, mc.middlename, mc.lastname, mc.display_name, mc.mobile_no, mc.group_name, mlt.amountPaid', 'Loan Repayment', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('58', 'Active Loans in last installment Summary', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(mo.hierarchy ) - Length(REPLACE(mo.hierarchy, ''.'', '''')) - 1))), mo.name) AS "Office/Branch", x.currency AS currency, x.client_count AS "No. of Clients", x.active_loan_count AS "No. Active Loans", x. arrears_loan_count AS "No. of Loans in Arrears", x.principal AS "Total Loans Disbursed", x.principal_repaid AS "Principal Repaid", x.principal_outstanding AS "Principal Outstanding", x.principal_overdue AS "Principal Overdue", x.interest AS "Total Interest", x.interest_repaid AS "Interest Repaid", x.interest_outstanding AS "Interest Outstanding", x.interest_overdue AS "Interest Overdue", x.fees AS "Total Fees", x.fees_repaid AS "Fees Repaid", x.fees_outstanding AS "Fees Outstanding", x.fees_overdue AS "Fees Overdue", x.penalties AS "Total Penalties", x.penalties_repaid AS "Penalties Repaid", x.penalties_outstanding AS "Penalties Outstanding", x.penalties_overdue AS "Penalties Overdue", ( CASE WHEN ${parType} = 1 THEN cast(round((x.principal_overdue * 100) / x.principal_outstanding, 2) AS CHAR) WHEN ${parType} = 2 THEN cast(round(((x.principal_overdue + x.interest_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding), 2) AS CHAR) WHEN ${parType} = 3 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding), 2) AS CHAR) WHEN ${parType} = 4 THEN cast(round(((x.principal_overdue + x.interest_overdue + x.fees_overdue + x.penalties_overdue) * 100) / (x.principal_outstanding + x.interest_outstanding + x.fees_outstanding + x.penalties_overdue), 2) AS CHAR) ELSE ''invalid PAR Type'' end) AS "Portfolio at Risk %" FROM m_office mo JOIN ( SELECT lastinstallment.branchid AS branchid, lastinstallment.currency, count(DISTINCT(lastinstallment.clientid)) AS client_count, count(DISTINCT(lastinstallment.loanid)) AS active_loan_count, count(DISTINCT(laa.loan_id) ) AS arrears_loan_count, sum(l.principal_disbursed_derived) AS principal, sum(l.principal_repaid_derived) AS principal_repaid, sum(l.principal_outstanding_derived) AS principal_outstanding, sum(coalesce(laa.principal_overdue_derived,0)) AS principal_overdue, sum(l.interest_charged_derived) AS interest, sum(l.interest_repaid_derived) AS interest_repaid, sum(l.interest_outstanding_derived) AS interest_outstanding, sum(coalesce(laa.interest_overdue_derived,0)) AS interest_overdue, sum(l.fee_charges_charged_derived) AS fees, sum(l.fee_charges_repaid_derived) AS fees_repaid, sum(l.fee_charges_outstanding_derived) AS fees_outstanding, sum(coalesce(laa.fee_charges_overdue_derived,0)) AS fees_overdue, sum(l.penalty_charges_charged_derived) AS penalties, sum(l.penalty_charges_repaid_derived) AS penalties_repaid, sum(l.penalty_charges_outstanding_derived) AS penalties_outstanding, sum(coalesce(laa.penalty_charges_overdue_derived,0)) AS penalties_overdue FROM ( SELECT l.id AS loanid, l.number_of_repayments, min(r.installment), ounder.id AS branchid, ounder.hierarchy, ounder.name AS branch, coalesce(cur.display_symbol, l.currency_code) AS currency, lo.display_name AS "Loan Officer", c.id AS clientid, c.account_no AS "Client Account No", c.display_name AS "Client", l.account_no AS "Loan Account No", pl.name AS "Product", f.name AS fund, l.principal_amount AS "Loan Amount", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed", DATE_TRUNC(''day'', l.expected_maturedon_date) AS "Expected Matured On" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_loan_repayment_schedule r ON r.loan_id = l.id WHERE o.id = ''${officeId}'' AND ( l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND ( l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND ( coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND ( coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND ( coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.loan_status_id = 300 AND r.completed_derived IS FALSE AND r.duedate >= CURRENT_DATE GROUP BY l.id, ounder.id, cur.display_symbol, lo.display_name, c.id, pl.name, f.name HAVING l.number_of_repayments = min(r.installment)) lastinstallment JOIN m_loan l ON l.id = lastinstallment.loanid LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id GROUP BY lastinstallment.branchid, lastinstallment.currency) x ON x.branchid = mo.id ORDER BY mo.hierarchy, x.currency', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('59', 'Active Loans by Disbursal Period', 'Table', NULL, 'Loan', 'SELECT Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS "Office/Branch", Coalesce(cur.display_symbol, l.currency_code) AS currency, c.account_no AS "Client Account No", c.display_name AS "Client", l.account_no AS "Loan Account No", pl.name AS "Product", f.name AS fund, l.principal_amount AS "Loan Principal Amount", l.annual_nominal_interest_rate AS "Annual Nominal Interest Rate", DATE_TRUNC(''day'', l.disbursedon_date) AS "Disbursed Date", l.total_expected_repayment_derived AS "Total Loan (P+I+F+Pen)", l.total_repayment_derived AS "Total Repaid (P+I+F+Pen)", lo.display_name AS "Loan Officer" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') AND ounder.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_fund f ON f.id = l.fund_id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND (l.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') AND (l.product_id = ''${loanProductId}'' OR ''-1'' = ''${loanProductId}'') AND (Coalesce(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (coalesce(l.fund_id, -10) = ${fundId} OR -1 = ${fundId}) AND (coalesce(l.loanpurpose_cv_id, -10) = ${loanPurposeId} OR -1 = ${loanPurposeId}) AND l.disbursedon_date BETWEEN ''${startDate}'' AND ''${endDate}'' AND l.loan_status_id = 300 GROUP BY l.id, ounder.hierarchy, ounder.name, cur.display_symbol, c.account_no, c.display_name, pl.name, f.name, lo.display_name ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'Individual Client Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('61', 'Aging Summary (Arrears in Months)', 'Table', NULL, 'Loan', 'SELECT Coalesce(periods.currencyname, periods.currency) AS currency, periods.period_no AS "Days In Arrears", coalesce(ars.loanid, 0) AS "No Of Loans", coalesce(ars.principal,0.0) AS "Original Principal", coalesce(ars.interest,0.0) AS "Original Interest", coalesce(ars.prinpaid,0.0) AS "Principal Paid", coalesce(ars.intpaid,0.0) AS "Interest Paid", coalesce(ars.prinoverdue,0.0) AS "Principal Overdue", coalesce(ars.intoverdue,0.0) AS "Interest Overdue" FROM ( SELECT curs.code AS currency, curs.name AS currencyname, pers.* FROM ( SELECT ''On Schedule'' period_no, 1 pid UNION SELECT ''0 - 30'', 2 UNION SELECT ''30 - 60'', 3 UNION SELECT ''60 - 90'', 4 UNION SELECT ''90 - 180'', 5 UNION SELECT ''180 - 360'', 6 UNION SELECT ''> 360'', 7 ) pers, ( SELECT DISTINCT ON (moc.code) moc.code, moc.name FROM m_office mo2 INNER JOIN m_office ounder2 ON ounder2.hierarchy LIKE concat(mo2.hierarchy, ''%'') AND ounder2.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') INNER JOIN m_client mc2 ON mc2.office_id=ounder2.id INNER JOIN m_loan ml2 ON ml2.client_id = mc2.id INNER JOIN m_organisation_currency moc ON moc.code = ml2.currency_code WHERE ml2.loan_status_id=300 /* active */ AND mo2.id=''${officeId}'' AND ( ml2.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') GROUP BY moc.code, moc.name) curs) periods LEFT JOIN /* table of aging periods per currency with gaps if no applicable loans */ ( SELECT z.currency, z.arrperiod, count(z.loanid) AS loanid, sum(z.principal) AS principal, sum(z.interest) AS interest, sum(z.prinpaid) AS prinpaid, sum(z.intpaid) AS intpaid, sum(z.prinoverdue) AS prinoverdue, sum(z.intoverdue) AS intoverdue FROM ( SELECT x.loanid, x.currency, x.principal, x.interest, x.prinpaid, x.intpaid, x.prinoverdue, x.intoverdue, CASE WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<1 THEN ''On Schedule'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<31 THEN ''0 - 30'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<61 THEN ''30 - 60'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<91 THEN ''60 - 90'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<181 THEN ''90 - 180'' WHEN extract(day FROM (CURRENT_DATE::TIMESTAMP - MINOVERDUEDATE::TIMESTAMP))<361 THEN ''180 - 360'' ELSE ''> 360'' end AS arrperiod FROM ( SELECT ml.id AS loanid, ml.currency_code AS currency, ml.principal_disbursed_derived AS principal, ml.interest_charged_derived AS interest, ml.principal_repaid_derived AS prinpaid, ml.interest_repaid_derived AS intpaid, laa.principal_overdue_derived AS prinoverdue, laa.interest_overdue_derived AS intoverdue, coalesce(laa.overdue_since_date_derived, CURRENT_DATE) AS minoverduedate FROM m_office mo INNER JOIN m_office ounder ON ounder.hierarchy LIKE concat(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') INNER JOIN m_client mc ON mc.office_id=ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = ml.id WHERE ml.loan_status_id=300 AND mo.id=''${officeId}'' AND ( ml.currency_code = ''${currencyId}'' OR ''-1'' = ''${currencyId}'') GROUP BY ml.id, laa.principal_overdue_derived, laa.interest_overdue_derived, laa.overdue_since_date_derived) x ) z GROUP BY z.currency, z.arrperiod ) ars ON ars.arrperiod=periods.period_no AND ars.currency = periods.currency ORDER BY periods.currency, periods.pid', 'Loan amount in arrears by branch', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('93', 'Expected Payments By Date - Basic', 'Table', NULL, 'Loan', 'SELECT ounder.name AS "Office", coalesce(ms.display_name,''-'') AS "Loan Officer", mc.account_no AS "Client Account Number", mc.display_name AS "Name", mp.name AS "Product", ml.account_no AS "Loan Account Number", mr.duedate AS "Due Date", mr.installment AS "Installment", cu.display_symbol AS "Currency", mr.principal_amount - coalesce(mr.principal_completed_derived,0) AS "Principal Due", mr.interest_amount - coalesce(coalesce(mr.interest_completed_derived,mr.interest_waived_derived),0) AS "Interest Due", coalesce(mr.fee_charges_amount,0) - coalesce(coalesce(mr.fee_charges_completed_derived,mr.fee_charges_waived_derived),0) AS "Fees Due", coalesce(mr.penalty_charges_amount,0) - coalesce(coalesce(mr.penalty_charges_completed_derived,mr.penalty_charges_waived_derived),0) AS "Penalty Due", (mr.principal_amount- coalesce(mr.principal_completed_derived,0)) + (mr.interest_amount- coalesce(coalesce(mr.interest_completed_derived,mr.interest_waived_derived),0)) + (coalesce(mr.fee_charges_amount,0)- coalesce(coalesce(mr.fee_charges_completed_derived,mr.fee_charges_waived_derived),0)) + (coalesce(mr.penalty_charges_amount,0)- coalesce(coalesce(mr.penalty_charges_completed_derived,mr.penalty_charges_waived_derived),0)) AS "Total Due", mlaa.total_overdue_derived AS "Total Overdue" FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE concat(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') LEFT JOIN m_client mc ON mc.office_id=ounder.id LEFT JOIN m_loan ml ON ml.client_id=mc.id AND ml.loan_status_id=300 LEFT JOIN m_loan_arrears_aging mlaa ON mlaa.loan_id=ml.id LEFT JOIN m_loan_repayment_schedule mr ON mr.loan_id=ml.id AND mr.completed_derived=false LEFT JOIN m_product_loan mp ON mp.id=ml.product_id LEFT JOIN m_staff ms ON ms.id=ml.loan_officer_id LEFT JOIN m_currency cu ON cu.code=ml.currency_code WHERE mo.id=''${officeId}'' AND ( coalesce(ml.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND mr.duedate BETWEEN ''${startDate}'' AND ''${endDate}'' ORDER BY ounder.id, mr.duedate, ml.account_no', 'Test', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('96', 'GroupSummaryCounts', 'Table', NULL, NULL, 'SELECT x.* FROM m_office o,\n m_group g,\n (\n SELECT a.activeclients,\n (b.activeclientloans + c.activegrouploans) AS activeloans,\n b.activeclientloans,\n c.activegrouploans,\n (b.activeclientborrowers + c.activegroupborrowers) AS activeborrowers,\n b.activeclientborrowers,\n c.activegroupborrowers,\n (b.overdueclientloans + c.overduegrouploans) AS overdueloans,\n b.overdueclientloans,\n c.overduegrouploans\n FROM (\n SELECT Count(*) AS activeclients\n FROM m_group topgroup\n JOIN m_group g\n ON g.hierarchy LIKE Concat(topgroup.hierarchy, ''%'')\n JOIN m_group_client gc\n ON gc.group_id = g.id\n JOIN m_client c\n ON c.id = gc.client_id\n WHERE topgroup.id = ${groupId}\n AND c.status_enum = 300) a,\n (\n SELECT count(*) AS activeclientloans,\n count(DISTINCT(l.client_id)) AS activeclientborrowers,\n coalesce(sum(\n CASE\n WHEN laa.loan_id IS NOT NULL THEN 1\n ELSE 0\n end),\n 0) AS overdueclientloans\n FROM m_group topgroup\n JOIN m_group g\n ON g.hierarchy LIKE concat(topgroup.hierarchy, ''%'')\n JOIN m_loan l\n ON l.group_id = g.id\n AND l.client_id IS NOT NULL\n LEFT JOIN m_loan_arrears_aging laa\n ON laa.loan_id = l.id\n WHERE topgroup.id = ${groupId}\n AND l.loan_status_id = 300) b,\n (\n SELECT count(*) AS activegrouploans,\n count(DISTINCT(l.group_id)) AS activegroupborrowers,\n coalesce(sum(\n CASE\n WHEN laa.loan_id IS NOT NULL THEN 1\n ELSE 0\n end),\n 0) AS overduegrouploans\nFROM m_group topgroup JOIN m_group g ON g.hierarchy LIKE concat(topgroup.hierarchy, ''%'') JOIN m_loan l ON l.group_id = g.id AND l.client_id IS NULL LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE topgroup.id = ${groupId} AND l.loan_status_id = 300) c ) x WHERE g.id = ${groupId} AND o.id = g.office_id AND o.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'')\n', 'Utility query for getting group summary count details for a group_id', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('97', 'GroupSummaryAmounts', 'Table', NULL, NULL, '\nSELECT Coalesce(cur.display_symbol, l.currency_code) AS currency,\n Coalesce(Sum(l.principal_disbursed_derived),0) AS totaldisbursedamount,\n Coalesce(Sum(l.principal_outstanding_derived),0) AS totalloanoutstandingamount,\n Count(laa.loan_id) AS overdueloans,\n Coalesce(Sum(laa.total_overdue_derived), 0) AS totalloanoverdueamount\nFROM m_group topgroup JOIN m_office o ON o.id = topgroup.office_id AND o.hierarchy LIKE Concat(''${currentUserHierarchy}'', ''%'') JOIN m_group g ON g.hierarchy LIKE Concat(topgroup.hierarchy, ''%'') JOIN m_loan l ON l.group_id = g.id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id LEFT JOIN m_currency cur ON cur.code = l.currency_code WHERE topgroup.id = ${groupId} AND l.disbursedon_date IS NOT NULL GROUP BY l.currency_code,\n cur.display_symbol\n', 'Utility query for getting group summary currency amount details for a group_id', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('106', 'TxnRunningBalances', 'Table', NULL, 'Transaction', 'select DATE ${startDate} AS "Transaction Date", ''Opening Balance'' AS "Transaction Type", null AS "Office", null AS "Loan Officer", null AS "Loan Account No", null AS "Loan Product", null AS "Currency", null AS "Client Account No", null AS "Client", null AS "Principal", null AS "Interest", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum = 1 /* disbursement */ THEN COALESCE(txn.interest_portion_derived, 0.00) ELSE 0 END), 2), 0.00) AS "Outstanding Principal", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum in (2, 5, 8) /* repayment, repayment at disbursal, recovery repayment */ THEN COALESCE(txn.interest_portion_derived, 0.00) ELSE 0 END), 2), 0.00) AS "Interest Income", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum = 6 THEN COALESCE(txn.principal_portion_derived, 0.00) ELSE 0 END), 2), 0.00) AS "Principal Write Off" from m_office o join m_office ounder on ounder.hierarchy like concat(o.hierarchy, ''%'') and ounder.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_client c on c.office_id = ounder.id join m_loan l on l.client_id = c.id join m_product_loan lp on lp.id = l.product_id join m_loan_transaction txn on txn.loan_id = l.id left join m_currency cur on cur.code = l.currency_code where txn.is_reversed = false and txn.transaction_type_enum not in (10, 11) and o.id = ''${officeId}'' and txn.transaction_date < DATE ${startDate} union all select txn.transaction_date AS "Transaction Date", cast(COALESCE(re.enum_message_property, concat(''Unknown Transaction Type Value:'', '' '', txn.transaction_type_enum)) as char) AS "Transaction Type", ounder.name AS "Office", lo.display_name AS "Loan Officer", l.account_no AS "Loan Account No", lp.name AS "Loan Product", COALESCE(cur.display_symbol, l.currency_code) AS "Currency", c.account_no AS "Client Account No", c.display_name AS "Client", COALESCE(txn.principal_portion_derived, 0.00) AS "Principal", COALESCE(txn.interest_portion_derived, 0.00) AS "Interest", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum = 1 /* disbursement */ THEN COALESCE(txn.amount, 0.00) ELSE -1 * COALESCE(txn.principal_portion_derived, 0.00) END), 2), 0.00) AS "Outstanding Principal", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum in (2, 5, 8) /* repayment, repayment at disbursal, recovery repayment */ THEN COALESCE(txn.interest_portion_derived, 0.00) ELSE 0 END), 2), 0.00) AS "Interest Income", COALESCE(round(sum(CASE WHEN txn.transaction_type_enum = 6 THEN COALESCE(txn.principal_portion_derived, 0.00) ELSE 0 END), 2), 0.00) AS "Principal Write Off" from m_office o join m_office ounder on ounder.hierarchy like concat(o.hierarchy, ''%'') and ounder.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_client c on c.office_id = ounder.id join m_loan l on l.client_id = c.id left join m_staff lo on lo.id = l.loan_officer_id join m_product_loan lp on lp.id = l.product_id join m_loan_transaction txn on txn.loan_id = l.id left join m_currency cur on cur.code = l.currency_code left join r_enum_value re on re.enum_name = ''transaction_type_enum'' AND re.enum_id = txn.transaction_type_enum where txn.is_reversed = false and txn.transaction_type_enum not in (10, 11) and (COALESCE(l.loan_officer_id, -10) = 9 or ''-1'' = 9) and o.id = ''${officeId}'' and txn.transaction_date >= DATE ${startDate} and txn.transaction_date <= DATE ${endDate} group by txn.id, ounder.id, lo.id, l.id, lp.id, cur.id, c.id, re.enum_message_property', 'Running Balance Txn report for Individual Lending.\nSuitable for small MFI''s. Larger could use it using the branch or other parameters.\nBasically, suck it and see if its quick enough for you out-of-te box or whether it needs performance work in your situation.\n', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('107', 'FieldAgentStats', 'Table', NULL, 'Quipo', 'select COALESCE(cur.display_symbol, l.currency_code) as Currency, /*This query will return more than one entry if more than one currency is used */ count(distinct(c.id)) as activeClients, count(*) as activeLoans, sum(l.principal_disbursed_derived) as disbursedAmount, sum(l.principal_outstanding_derived) as loanOutstandingAmount, round((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC, sum(COALESCE(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance, sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) as portfolioAtRisk, round((sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC, count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END)) as clientsInDefault, round((count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END))) * 100 / count(distinct(c.id)),2) as clientsInDefaultPC, sum(l.principal_disbursed_derived) / count(*) as averageLoanAmount from m_staff fa join m_office o on o.id = fa.office_id AND o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_group pgm on pgm.staff_id = fa.id join m_loan l on l.group_id = pgm.id and l.client_id is not null left join m_currency cur on cur.code = l.currency_code left join m_loan_arrears_aging laa on laa.loan_id = l.id left join m_loan_paid_in_advance lpa on lpa.loan_id = l.id join m_client c on c.id = l.client_id where fa.id = ${staffId} and l.loan_status_id = 300 group by l.currency_code, cur.id', 'Field Agent Statistics', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('108', 'FieldAgentPrograms', 'Table', NULL, 'Quipo', 'select pgm.id, pgm.display_name as name, sts.enum_message_property as status from m_group pgm join m_office o on o.id = pgm.office_id AND o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') left join r_enum_value sts on sts.enum_name = ''status_enum'' and sts.enum_id = pgm.status_enum where pgm.staff_id = ${staffId}', 'List of Field Agent Programs', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('109', 'ProgramDetails', 'Table', NULL, 'Quipo', 'select l.id as loanId, l.account_no as loanAccountNo, c.id as clientId, c.account_no as clientAccountNo, pgm.display_name as programName, (select count(*) from m_loan cy where cy.group_id = pgm.id and cy.client_id =c.id and cy.disbursedon_date <= l.disbursedon_date) as loanCycleNo, c.display_name as clientDisplayName, COALESCE(cur.display_symbol, l.currency_code) as Currency, COALESCE(l.principal_repaid_derived,0.0) as loanRepaidAmount, COALESCE(l.principal_outstanding_derived, 0.0) as loanOutstandingAmount, COALESCE(lpa.principal_in_advance_derived,0.0) as LoanPaidInAdvance, COALESCE(laa.principal_overdue_derived, 0.0) as loanInArrearsAmount, CASE WHEN COALESCE(laa.principal_overdue_derived, 0.00) > 0 THEN ''Yes'' ELSE ''No'' END as inDefault, CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END as portfolioAtRisk from m_group pgm join m_office o on o.id = pgm.office_id AND o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_loan l on l.group_id = pgm.id and l.client_id is not null left join m_currency cur on cur.code = l.currency_code join m_client c on c.id = l.client_id left join m_loan_arrears_aging laa on laa.loan_id = l.id left join m_loan_paid_in_advance lpa on lpa.loan_id = l.id where pgm.id = ${programId} and l.loan_status_id = 300 order by c.display_name, l.account_no', 'List of Loans in a Program', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('110', 'ChildrenStaffList', 'Table', NULL, 'Quipo', 'select s.id, s.display_name, s.firstname, s.lastname, s.organisational_role_enum,\ns.organisational_role_parent_staff_id,\nsp.display_name AS "organisational_role_parent_staff_display_name"\nfrom m_staff s\njoin m_staff sp on s.organisational_role_parent_staff_id = sp.id\nwhere s.organisational_role_parent_staff_id = ${staffId}', 'Get Next Level Down Staff', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('111', 'CoordinatorStats', 'Table', NULL, 'Quipo', 'select COALESCE(cur.display_symbol, l.currency_code) as Currency, /*This query will return more than one entry if more than one currency is used */ count(distinct(c.id)) as activeClients, count(*) as activeLoans, sum(l.principal_disbursed_derived) as disbursedAmount, sum(l.principal_outstanding_derived) as loanOutstandingAmount, round((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC, sum(COALESCE(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance, sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) as portfolioAtRisk, round((sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC, count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END)) as clientsInDefault, round((count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END))) * 100 / count(distinct(c.id)),2) as clientsInDefaultPC, sum(l.principal_disbursed_derived) / count(*) as averageLoanAmount from m_staff coord join m_staff fa on fa.organisational_role_parent_staff_id = coord.id join m_office o on o.id = fa.office_id AND o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_group pgm on pgm.staff_id = fa.id join m_loan l on l.group_id = pgm.id and l.client_id is not null left join m_currency cur on cur.code = l.currency_code left join m_loan_arrears_aging laa on laa.loan_id = l.id left join m_loan_paid_in_advance lpa on lpa.loan_id = l.id join m_client c on c.id = l.client_id where coord.id = ${staffId} and l.loan_status_id = 300 group by l.currency_code, cur.id', 'Coordinator Statistics', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('112', 'BranchManagerStats', 'Table', NULL, 'Quipo', 'SELECT Coalesce(cur.display_symbol, l.currency_code) AS currency, Count(DISTINCT(c.id)) AS activeclients, Count(*) AS activeloans, Sum(l.principal_disbursed_derived) AS disbursedamount, Sum(l.principal_outstanding_derived) AS loanoutstandingamount, Round((Sum(l.principal_outstanding_derived) * 100) / Sum(l.principal_disbursed_derived),2) AS loanoutstandingpc, Sum(Coalesce(lpa.principal_in_advance_derived,0.0)) AS loanpaidinadvance, sum( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'') > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 end) AS portfolioatrisk, round((sum( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 end) * 100) / sum(l.principal_outstanding_derived), 2) AS portfolioatriskpc, count(DISTINCT( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE NULL end)) AS clientsindefault, round((count(DISTINCT( CASE WHEN ( CURRENT_DATE - 28 * INTERVAL ''1 day'' ) > coalesce(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE NULL end)) * 100) / count(DISTINCT(c.id)), 2) AS clientsindefaultpc, (sum(l.principal_disbursed_derived) / count(*)) AS averageloanamount FROM m_staff bm JOIN m_staff coord ON coord.organisational_role_parent_staff_id = bm.id JOIN m_staff fa ON fa.organisational_role_parent_staff_id = coord.id JOIN m_office o ON o.id = fa.office_id AND o.hierarchy LIKE concat(''${currentUserHierarchy}'', ''%'') JOIN m_group pgm ON pgm.staff_id = fa.id JOIN m_loan l ON l.group_id = pgm.id AND l.client_id IS NOT NULL LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id LEFT JOIN m_loan_paid_in_advance lpa ON lpa.loan_id = l.id JOIN m_client c ON c.id = l.client_id WHERE bm.id = ${staffId} AND l.loan_status_id = 300 GROUP BY l.currency_code, cur.display_symbol', 'Branch Manager Statistics', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('114', 'ProgramStats', 'Table', NULL, 'Quipo', 'select COALESCE(cur.display_symbol, l.currency_code) as Currency, /*This query will return more than one entry if more than one currency is used */ count(distinct(c.id)) as activeClients, count(*) as activeLoans, sum(l.principal_disbursed_derived) as disbursedAmount, sum(l.principal_outstanding_derived) as loanOutstandingAmount, round((sum(l.principal_outstanding_derived) * 100) / sum(l.principal_disbursed_derived),2) as loanOutstandingPC, sum(COALESCE(lpa.principal_in_advance_derived,0.0)) as LoanPaidInAdvance, sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) as portfolioAtRisk, round((sum( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN l.principal_outstanding_derived ELSE 0 END) * 100) / sum(l.principal_outstanding_derived), 2) as portfolioAtRiskPC, count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END)) as clientsInDefault, round((count(distinct( CASE WHEN (CURRENT_DATE - 28 * INTERVAL ''1 day'') > COALESCE(laa.overdue_since_date_derived, CURRENT_DATE) THEN c.id ELSE null END))) * 100 / count(distinct(c.id)),2) as clientsInDefaultPC, sum(l.principal_disbursed_derived) / count(*) as averageLoanAmount from m_group pgm join m_office o on o.id = pgm.office_id AND o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_loan l on l.group_id = pgm.id and l.client_id is not null left join m_currency cur on cur.code = l.currency_code left join m_loan_arrears_aging laa on laa.loan_id = l.id left join m_loan_paid_in_advance lpa on lpa.loan_id = l.id join m_client c on c.id = l.client_id where pgm.id = ${programId} and l.loan_status_id = 300 group by l.currency_code, cur.id', 'Program Statistics', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('115', 'ClientSummary ', 'Table', NULL, NULL, 'SELECT x.* FROM m_client c, m_office o, (SELECT a.loanCycle, a.activeLoans, b.lastLoanAmount, d.activeSavings, d.totalSavings FROM (SELECT COALESCE(MAX(l.loan_counter),0) AS loanCycle, COUNT(l.id) AS activeLoans FROM m_loan l WHERE l.loan_status_id=300 AND l.client_id=${clientId}) a, (SELECT count(l.id), COALESCE(l.principal_amount,0) AS lastLoanAmount FROM m_loan l WHERE l.client_id=${clientId} AND l.disbursedon_date = (SELECT COALESCE(MAX(disbursedon_date),NOW()) FROM m_loan where client_id=${clientId} and loan_status_id=300) group by l.principal_amount) b, (SELECT COUNT(s.id) AS activeSavings, COALESCE(SUM(s.account_balance_derived),0) AS totalSavings FROM m_savings_account s WHERE s.status_enum=300 AND s.client_id=${clientId}) d) x WHERE c.id=${clientId} AND o.id = c.office_id AND o.hierarchy LIKE CONCAT(''${currentUserHierarchy}'', ''%'')', 'Utility query for getting the client summary details', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('116', 'LoanCyclePerProduct', 'Table', NULL, NULL, 'SELECT lp.name AS "productName", MAX(l.loan_product_counter) AS "loanProductCycle" FROM m_loan l JOIN m_product_loan lp ON l.product_id=lp.id WHERE lp.include_in_borrower_cycle=true AND l.loan_product_counter IS NOT NULL AND l.client_id=${clientId} GROUP BY lp.id', 'Utility query for getting the client loan cycle details', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('117', 'GroupSavingSummary', 'Table', NULL, NULL, 'select COALESCE(cur.display_symbol, sa.currency_code) as currency, count(sa.id) as totalSavingAccounts, COALESCE(sum(sa.account_balance_derived),0) as totalSavings from m_group topgroup join m_office o on o.id = topgroup.office_id and o.hierarchy like concat(''${currentUserHierarchy}'', ''%'') join m_group g on g.hierarchy like concat(topgroup.hierarchy, ''%'') join m_savings_account sa on sa.group_id = g.id left join m_currency cur on cur.code = sa.currency_code where topgroup.id = ${groupId} and sa.activatedon_date is not null group by sa.currency_code, cur.id', 'Utility query for getting group or center saving summary details for a group_id', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('148', 'GroupNamesByStaff', 'Table', '', '', 'SELECT gr.id AS id, gr.display_name AS name FROM m_group gr WHERE gr.level_id=1 AND gr.staff_id = ${staffId}', '', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('149', 'ClientTrendsByDay', 'Table', '', 'Client', 'SELECT COUNT(cl.id) AS count, cl.activation_date AS days FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) AND (cl.activation_date BETWEEN (current_date - INTERVAL ''12 DAY'') AND DATE(NOW()- INTERVAL ''1 DAY'')) GROUP BY days ', 'Retrieves the number of clients joined in last 12 days', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('151', 'ClientTrendsByMonth', 'Table', '', 'Client', 'SELECT COUNT(cl.id) AS count, TRIM(TO_CHAR(cl.activation_date, ''Month'')) AS Months FROM m_office o LEFT JOIN m_client cl ON o.id = cl.office_id WHERE o.hierarchy LIKE CONCAT((SELECT ino.hierarchy FROM m_office ino WHERE ino.id = ${officeId}), ''%'') AND (cl.activation_date BETWEEN (CURRENT_DATE - INTERVAL ''12 months'') AND CURRENT_DATE) GROUP BY TRIM(TO_CHAR(cl.activation_date, ''Month'')), EXTRACT(MONTH FROM cl.activation_date) ORDER BY EXTRACT(MONTH FROM cl.activation_date) ASC', '', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('154', 'LoanTrendsByMonth', 'Table', '', 'Loan', 'SELECT COUNT(ln.id) AS lcount, TRIM(TO_CHAR(ln.disbursedon_date, ''Month'')) AS Months FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) AND (ln.disbursedon_date BETWEEN (CURRENT_DATE - INTERVAL ''12 months'') AND CURRENT_DATE) GROUP BY TRIM(TO_CHAR(ln.disbursedon_date, ''Month'')), EXTRACT(MONTH FROM ln.disbursedon_date) ORDER BY EXTRACT(MONTH FROM ln.disbursedon_date) ASC', '', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('152', 'LoanTrendsByDay', 'Table', '', 'Loan', 'SELECT COUNT(ln.id) AS lcount, ln.disbursedon_date AS days FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) AND (ln.disbursedon_date BETWEEN (current_date - INTERVAL ''12 DAY'') AND DATE(NOW()- INTERVAL ''1 DAY'')) GROUP BY days ', 'Retrieves Number of loans disbursed for last 12 days', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('150', 'ClientTrendsByWeek', 'Table', '', 'Client', 'SELECT COUNT(cl.id) AS count, EXTRACT(WEEK FROM cl.activation_date) AS Weeks FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) AND (cl.activation_date BETWEEN (CURRENT_DATE - INTERVAL ''12 weeks'') AND CURRENT_DATE) GROUP BY EXTRACT(WEEK FROM cl.activation_date)', '', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('165', 'Savings Accounts Dormancy Report', 'Table', NULL, 'Savings', 'select cl.display_name AS "Client Display Name", sa.account_no AS "Account Number", cl.mobile_no AS "Mobile Number", (select COALESCE(max(sat.transaction_date), sa.activatedon_date) from m_savings_account_transaction as sat where sat.is_reversed = false and sat.transaction_type_enum in (1, 2) and sat.savings_account_id = sa.id) AS "Date of Last Activity", EXTRACT(DAY FROM (CURRENT_DATE - (select COALESCE(max(sat.transaction_date), sa.activatedon_date) from m_savings_account_transaction as sat where sat.is_reversed = false and sat.transaction_type_enum in (1, 2) and sat.savings_account_id = sa.id)::TIMESTAMP)) AS "Days Since Last Activity" from m_savings_account as sa inner join m_savings_product as sp on (sa.product_id = sp.id and sp.is_dormancy_tracking_active = true) left join m_client as cl on sa.client_id = cl.id where sa.sub_status_enum = ${subStatus} and cl.office_id = ''${officeId}''', NULL, 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('166', 'Active Clients', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstname, c.middlename AS middlename, c.lastname AS lastname, c.display_name AS fullname, c.mobile_no AS mobileno, Concat(REPEAT(''..'', ((Length(ounder.hierarchy) - Length( REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officename, o.id AS officenumber FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE Concat(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum WHERE o.id = ''${officeId}'' AND c.status_enum = 300 AND (coalesce(c.staff_id, -10) = ${loanOfficerId} OR''-1'' = ${loanOfficerId}) GROUP BY c.id, ounder.hierarchy, ounder.name, o.id ORDER BY ounder.hierarchy, c.account_no', 'All clients with the status ‘Active’', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('167', 'Prospective Clients', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, o.id AS officeNumber FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum LEFT JOIN m_loan l ON l.client_id = c.id WHERE o.id = ''${officeId}'' AND c.status_enum = 300 AND (COALESCE(c.staff_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND l.client_id IS NULL GROUP BY c.id, ounder.id, o.id ORDER BY ounder.hierarchy, c.account_no', 'All clients with the status ‘Active’ who have never had a loan before', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('168', 'Active Loan Clients', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, l.principal_amount AS loanAmount, (COALESCE(l.principal_outstanding_derived, 0) + COALESCE(l.interest_outstanding_derived, 0) + COALESCE(l.fee_charges_outstanding_derived, 0) + COALESCE(l.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, l.principal_disbursed_derived AS loanDisbursed, ounder.id AS officeNumber, l.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, g.display_name AS groupName FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id JOIN m_product_loan pl ON pl.id = l.product_id LEFT JOIN m_group_client gc ON gc.client_id = c.id LEFT JOIN m_group g ON g.id = gc.group_id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_guarantor gua ON gua.loan_id = l.id WHERE o.id = ''${officeId}'' AND (COALESCE(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND l.loan_status_id = 300 AND (EXTRACT(DAY FROM (CURRENT_DATE - l.disbursedon_date::TIMESTAMP)) BETWEEN ${cycleX} AND ${cycleY}) GROUP BY l.id, c.id, ounder.id, gua.id, g.id ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'All clients with an outstanding loan between cycleX and cycleY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('169', 'Loan in arrears', 'SMS', 'NonTriggered', 'Loan', 'SELECT mc.id AS id, mc.firstname AS firstName, mc.middlename AS middleName, mc.lastname AS lastName, mc.display_name AS fullName, mc.mobile_no AS mobileNo, ml.principal_amount AS loanAmount, (COALESCE(ml.principal_outstanding_derived, 0) + COALESCE(ml.interest_outstanding_derived, 0) + COALESCE(ml.fee_charges_outstanding_derived, 0) + COALESCE(ml.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, ml.principal_disbursed_derived AS loanDisbursed, laa.overdue_since_date_derived AS paymentDueDate, COALESCE(laa.total_overdue_derived, 0) AS totalDue, ounder.id AS officeNumber, ml.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, g.display_name AS groupName FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') INNER JOIN m_client mc ON mc.office_id=ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id INNER JOIN r_enum_value rev ON rev.enum_id=ml.loan_status_id AND rev.enum_name = ''loan_status_id'' INNER JOIN m_loan_arrears_aging laa ON laa.loan_id=ml.id LEFT JOIN m_currency cur ON cur.code = ml.currency_code LEFT JOIN m_group_client gc ON gc.client_id = mc.id LEFT JOIN m_group g ON g.id = gc.group_id LEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id LEFT JOIN m_guarantor gua ON gua.loan_id = ml.id WHERE ml.loan_status_id=300 AND mo.id=''${officeId}'' AND (COALESCE(ml.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM (CURRENT_DATE - laa.overdue_since_date_derived::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) GROUP BY ml.id, mc.id, laa.loan_id, ounder.id, gua.id, g.id ORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no', 'All clients with an outstanding loan in arrears between fromX and toY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('170', 'Loan payments due', 'SMS', 'NonTriggered', 'Loan', 'SELECT cl.id AS id, cl.firstname AS firstName, cl.middlename AS middleName, cl.lastname AS lastName, cl.display_name AS fullName, cl.mobile_no AS mobileNo, l.principal_amount AS loanAmount, of.id AS officeNumber, (COALESCE(l.principal_outstanding_derived, 0) + COALESCE(l.interest_outstanding_derived, 0) + COALESCE(l.fee_charges_outstanding_derived, 0) + COALESCE(l.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, l.principal_disbursed_derived AS loanDisbursed, ls.duedate AS paymentDueDate, (COALESCE(SUM(ls.principal_amount), 0) - COALESCE(SUM(ls.principal_writtenoff_derived), 0) + COALESCE(SUM(ls.interest_amount), 0) - COALESCE(SUM(ls.interest_writtenoff_derived), 0) - COALESCE(SUM(ls.interest_waived_derived), 0) + COALESCE(SUM(ls.fee_charges_amount), 0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.fee_charges_waived_derived), 0) + COALESCE(SUM(ls.penalty_charges_amount), 0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.penalty_charges_waived_derived), 0)) AS totalDue, laa.total_overdue_derived AS totalOverdue, l.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, gp.display_name AS groupName FROM m_office of LEFT JOIN m_client cl ON of.id = cl.office_id LEFT JOIN m_loan l ON cl.id = l.client_id LEFT JOIN m_group_client gc ON gc.client_id = cl.id LEFT JOIN m_group gp ON gp.id = l.group_id LEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id LEFT JOIN m_guarantor gua ON gua.loan_id = l.id INNER JOIN m_loan_arrears_aging laa ON laa.loan_id=l.id WHERE of.id = ''${officeId}'' AND (COALESCE (l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM (CURRENT_DATE - ls.duedate::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) AND (of.hierarchy LIKE CONCAT((SELECT ino.hierarchy FROM m_office ino WHERE ino.id = ''${officeId}''), ''%'')) GROUP BY l.id, cl.id, of.id, ls.id, laa.loan_id, gua.id, gp.id ORDER BY of.hierarchy, l.currency_code, cl.account_no, l.account_no', 'All clients with an unpaid installment due on their loan between fromX and toY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('171', 'Dormant Prospects', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, o.id AS officeNumber, DATE_PART(''MONTH'', AGE(CURRENT_DATE, c.activation_date)) AS dormant FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum LEFT JOIN m_loan l ON l.client_id = c.id WHERE o.id = ''${officeId}'' AND c.status_enum = 300 AND (COALESCE(c.staff_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND l.client_id IS NULL AND (DATE_PART(''MONTH'', AGE(CURRENT_DATE, c.activation_date)) > 3) GROUP BY c.id, ounder.id, o.id ORDER BY ounder.hierarchy, c.account_no', 'All individuals who have not yet received a loan but were also entered into the system more than 3 months', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('172', 'Active group leaders', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH(REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, o.id AS officeNumber FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_group g ON g.office_id = ounder.id JOIN m_client c ON c.office_id = ounder.id LEFT JOIN m_group_client gc ON gc.group_id = g.id AND gc.client_id = c.id LEFT JOIN m_group_roles gr ON gr.group_id = g.id AND gr.client_id = c.id LEFT JOIN m_staff ms ON ms.id = c.staff_id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum LEFT JOIN m_code_value cv ON cv.id = gr.role_cv_id LEFT JOIN m_code code ON code.id = cv.code_id WHERE o.id = ''${officeId}'' AND g.status_enum = 300 AND c.status_enum = 300 AND (COALESCE(c.staff_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND code.code_name = ''GROUPROLE'' AND cv.code_value = ''Leader'' GROUP BY c.id, ounder.id, o.id ORDER BY ounder.hierarchy, c.account_no', 'All active group chairmen', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('173', 'Loan payments due (Overdue Loans)', 'SMS', 'NonTriggered', 'Loan', 'SELECT mc.id AS id, mc.firstname AS firstName, mc.middlename AS middleName, mc.lastname AS lastName, mc.display_name AS fullName, mc.mobile_no AS mobileNo, ml.principal_amount AS loanAmount, (COALESCE(ml.principal_outstanding_derived, 0) + COALESCE(ml.interest_outstanding_derived, 0) + COALESCE(ml.fee_charges_outstanding_derived, 0) + COALESCE(ml.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, ml.principal_disbursed_derived AS loanDisbursed, laa.overdue_since_date_derived AS paymentDueDate, (COALESCE(SUM(ls.principal_amount), 0) - COALESCE(SUM(ls.principal_writtenoff_derived), 0) + COALESCE(SUM(ls.interest_amount), 0) - COALESCE(SUM(ls.interest_writtenoff_derived), 0) - COALESCE(SUM(ls.interest_waived_derived), 0) + COALESCE(SUM(ls.fee_charges_amount), 0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.fee_charges_waived_derived), 0) + COALESCE(SUM(ls.penalty_charges_amount), 0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.penalty_charges_waived_derived), 0)) AS totalDue, laa.total_overdue_derived AS totalOverdue, ounder.id AS officeNumber, ml.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, g.display_name AS groupName FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') INNER JOIN m_client mc ON mc.office_id = ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id INNER JOIN r_enum_value rev ON rev.enum_id = ml.loan_status_id AND rev.enum_name = ''loan_status_id'' INNER JOIN m_loan_arrears_aging laa ON laa.loan_id = ml.id LEFT JOIN m_loan_repayment_schedule ls ON ls.loan_id = ml.id LEFT JOIN m_currency cur ON cur.code = ml.currency_code LEFT JOIN m_group_client gc ON gc.client_id = mc.id LEFT JOIN m_group g ON g.id = gc.group_id LEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id LEFT JOIN m_guarantor gua ON gua.loan_id = ml.id WHERE ml.loan_status_id = 300 AND mo.id = ''${officeId}'' AND (COALESCE(ml.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM (CURRENT_DATE - ls.duedate::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) AND (EXTRACT(DAY FROM (CURRENT_DATE - laa.overdue_since_date_derived::TIMESTAMP)) BETWEEN ${overdueX} AND ${overdueY}) GROUP BY ml.id, mc.id, laa.loan_id, ounder.id, gua.id, g.id ORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no', 'Loan Payments Due between fromX to toY days for clients in arrears between overdueX and overdueY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('186', 'Savings Deposit', 'SMS', 'Triggered', NULL, 'SELECT sc.savingsId AS savingsId, sc.id AS clientId, sc.firstname, COALESCE(sc.middlename,'''') AS middlename, sc.lastname, sc.display_name AS FullName, sc.mobile_no AS mobileNo, ms."account_no" AS savingsAccountNo, ROUND(mst.amountPaid, ms.currency_digits) AS depositAmount, ms.account_balance_derived AS balance, mst.transactionDate AS transactionDate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE CONCAT(''.'', ''%'') LEFT JOIN (SELECT sa.id AS savingsId, mc.id AS id, mc.firstname AS firstname, mc.middlename AS middlename, mc.lastname AS lastname, mc.display_name AS display_name, mc.status_enum AS status_enum, mc.mobile_no AS mobile_no, mc.office_id AS office_id, mc.staff_id AS staff_id FROM m_savings_account sa LEFT JOIN m_client mc ON mc.id = sa.client_id ORDER BY savingsId) sc ON sc.office_id = ounder.id RIGHT JOIN m_savings_account AS ms ON sc.savingsId = ms.id RIGHT JOIN(SELECT st.amount AS amountPaid, st.id, st.savings_account_id, st.id AS savingsTransactionId, st.transaction_date AS transactionDate FROM m_savings_account_transaction st WHERE st.is_reversed = false GROUP BY st.savings_account_id, st.amount, st.id) AS mst ON mst.savings_account_id = ms.id WHERE sc.mobile_no IS NOT NULL AND (mo.id = ''${officeId}'' OR ''${officeId}'' = -1) AND (sc.staff_id = ${loanOfficerId} OR ${loanOfficerId} = -1) AND mst.savingsTransactionId = ${savingsTransactionId}', 'Savings Deposit', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('176', 'Happy Birthday', 'SMS', 'NonTriggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH( REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, o.id AS officeNumber, c.date_of_birth AS dateOfBirth, CASE WHEN c.date_of_birth IS NULL THEN 0 ELSE CEIL(EXTRACT(DAY FROM (CURRENT_DATE - c.date_of_birth))/365) END AS age FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum LEFT JOIN m_staff ms ON ms.id = c.staff_id WHERE o.id = ''${officeId}'' AND c.status_enum = 300 AND (COALESCE(c.staff_id, -10) = -1 OR ''-1'' = -1) AND c.date_of_birth IS NOT NULL AND (DATE_TRUNC(''day'', c.date_of_birth)=DATE_TRUNC(''day'', NOW())) AND (DATE_TRUNC(''month'', c.date_of_birth)=DATE_TRUNC(''month'', NOW())) ORDER BY ounder.hierarchy, c.account_no', 'This sends a message to all clients with the status Active on their Birthday', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('177', 'Loan fully repaid', 'SMS', 'NonTriggered', 'Loan', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, l.principal_amount AS loanAmount, (COALESCE(l.principal_outstanding_derived, 0) + COALESCE(l.interest_outstanding_derived, 0) + COALESCE(l.fee_charges_outstanding_derived, 0) + COALESCE(l.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, l.principal_disbursed_derived AS loanDisbursed, o.id AS officeNumber, l.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, ls.duedate AS dueDate, laa.total_overdue_derived AS totalDue, gp.display_name AS groupName, l.total_repayment_derived AS "totalFullyPaid" FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_group_client gc ON gc.client_id = c.id LEFT JOIN m_group gp ON gp.id = l.group_id LEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id LEFT JOIN m_guarantor gua ON gua.loan_id = l.id LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id WHERE o.id = ''${officeId}'' AND (COALESCE(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM (CURRENT_DATE - l.closedon_date::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) AND (l.loan_status_id IN (600, 700)) GROUP BY l.id, c.id, o.id, gua.id, ls.id,laa.loan_id, gp.id, ounder.id ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'All loans that have been fully repaid (Closed or Overpaid) in the last fromX to toY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('178', 'Loan outstanding after final instalment date', 'SMS', 'NonTriggered', 'Loan', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, l.principal_amount AS loanAmount, o.id AS officeNumber, (COALESCE(l.principal_outstanding_derived, 0) + COALESCE(l.interest_outstanding_derived, 0) + COALESCE(l.fee_charges_outstanding_derived, 0) + COALESCE(l.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, l.principal_disbursed_derived AS loanDisbursed, ls.duedate AS paymentDueDate, (COALESCE(SUM(ls.principal_amount), 0) - COALESCE(SUM(ls.principal_writtenoff_derived), 0) + COALESCE(SUM(ls.interest_amount), 0) - COALESCE(SUM(ls.interest_writtenoff_derived), 0) - COALESCE(SUM(ls.interest_waived_derived), 0) + COALESCE(SUM(ls.fee_charges_amount), 0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.fee_charges_waived_derived), 0) + COALESCE(SUM(ls.penalty_charges_amount), 0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived), 0) - COALESCE(SUM(ls.penalty_charges_waived_derived), 0)) AS totalDue, laa.total_overdue_derived AS totalOverdue, l.account_no AS loanAccountId, gua.lastname AS guarantorLastName, COUNT(gua.id) AS numberOfGuarantors, gp.display_name AS groupName FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_loan l ON l.client_id = c.id LEFT JOIN m_staff lo ON lo.id = l.loan_officer_id LEFT JOIN m_currency cur ON cur.code = l.currency_code LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = l.id LEFT JOIN m_group_client gc ON gc.client_id = c.id LEFT JOIN m_group gp ON gp.id = l.group_id LEFT JOIN m_loan_repayment_schedule ls ON l.id = ls.loan_id LEFT JOIN m_guarantor gua ON gua.loan_id = l.id WHERE o.id = ''${officeId}'' AND (COALESCE(l.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND l.loan_status_id = 300 AND l.expected_maturedon_date < CURRENT_DATE AND (EXTRACT(DAY FROM (CURRENT_DATE - l.expected_maturedon_date::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) GROUP BY l.id, c.id, o.id, ls.id, laa.loan_id, gua.id, gp.id, ounder.id ORDER BY ounder.hierarchy, l.currency_code, c.account_no, l.account_no', 'All active loans (with an outstanding balance) between fromX to toY days after the final instalment date on their loan schedule', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('180', 'Loan Approved', 'SMS', 'Triggered', NULL, 'SELECT mc.id, mc.firstname, mc.middlename as middlename, mc.lastname, mc.display_name as FullName, mc.mobile_no as mobileNo, mc.group_name as GroupName, mo.name as officename, ml.id as loanId, ml.account_no as accountnumber, ml.principal_amount_proposed as loanamount, ml.annual_nominal_interest_rate as annualinterestrate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') AND ounder.hierarchy like CONCAT(''.'', ''%'') LEFT JOIN ( select ml.id as loanId, COALESCE(mc.id,mc2.id) as id, COALESCE(mc.firstname,mc2.firstname) as firstname, COALESCE(mc.middlename,COALESCE(mc2.middlename,(''''))) as middlename, COALESCE(mc.lastname,mc2.lastname) as lastname, COALESCE(mc.display_name,mc2.display_name) as display_name, COALESCE(mc.status_enum,mc2.status_enum) as status_enum, COALESCE(mc.mobile_no,mc2.mobile_no) as mobile_no, COALESCE(mg.office_id,mc2.office_id) as office_id, COALESCE(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id order by loanId ) mc on mc.office_id = ounder.id left join m_loan ml on ml.id = mc.loanId WHERE mc.status_enum = 300 and mc.mobile_no is not null and (mo.id = ''${officeId}'' or ''${officeId}'' = -1) and (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1)and (ml.id = ${loanId} or ${loanId} = -1)and (mc.id = ${clientId} or ${clientId} = -1)and (mc.group_id = ${groupId} or ${groupId} = -1)and (ml.loan_type_enum = ${loanType} or ${loanType} = -1)', 'Loan and client data of approved loan', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('181', 'Loan Rejected', 'SMS', 'Triggered', NULL, 'SELECT mc.id, mc.firstname, mc.middlename as middlename, mc.lastname, mc.display_name as FullName, mc.mobile_no as mobileNo, mc.group_name as GroupName, mo.name as officename, ml.id as loanId, ml.account_no as accountnumber, ml.principal_amount_proposed as loanamount, ml.annual_nominal_interest_rate as annualinterestrate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') AND ounder.hierarchy like CONCAT(''.'', ''%'') LEFT JOIN ( select ml.id as loanId, COALESCE(mc.id,mc2.id) as id, COALESCE(mc.firstname,mc2.firstname) as firstname, COALESCE(mc.middlename,COALESCE(mc2.middlename,(''''))) as middlename, COALESCE(mc.lastname,mc2.lastname) as lastname, COALESCE(mc.display_name,mc2.display_name) as display_name, COALESCE(mc.status_enum,mc2.status_enum) as status_enum, COALESCE(mc.mobile_no,mc2.mobile_no) as mobile_no, COALESCE(mg.office_id,mc2.office_id) as office_id, COALESCE(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id order by loanId ) mc on mc.office_id = ounder.id left join m_loan ml on ml.id = mc.loanId WHERE mc.status_enum = 300 and mc.mobile_no is not null and (mo.id = ''${officeId}'' or ''${officeId}'' = -1) and (mc.staff_id = ${loanOfficerId} or ${loanOfficerId} = -1) and (ml.id = ${loanId} or ${loanId} = -1) and (mc.id = ${clientId} or ${clientId} = -1) and (mc.group_id = ${groupId} or ${groupId} = -1) and (ml.loan_type_enum = ${loanType} or ${loanType} = -1)', 'Loan and client data of rejected loan', 'f', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('182', 'Client Rejected', 'SMS', 'Triggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH( REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, o.id AS officeNumber FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum WHERE o.id = ''${officeId}'' AND c.id = ${clientId} AND (COALESCE(c.staff_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId})', 'Client Rejection', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('183', 'Client Activated', 'SMS', 'Triggered', 'Client', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, CONCAT(REPEAT(''..'', ((LENGTH(ounder.hierarchy) - LENGTH( REPLACE(ounder.hierarchy, ''.'', '''')) - 1))), ounder.name) AS officeName, o.id AS officeNumber FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id LEFT JOIN r_enum_value r ON r.enum_name = ''status_enum'' AND r.enum_id = c.status_enum WHERE o.id = ''${officeId}'' AND c.id = ${clientId} AND (COALESCE(c.staff_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId})', 'Client Activation', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('184', 'Savings Rejected', 'SMS', 'Triggered', 'Savings', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, s.account_no AS savingsAccountNo, ounder.id AS officeNumber, ounder.name AS officeName FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_savings_account s ON s.client_id = c.id JOIN m_savings_product sp ON sp.id = s.product_id LEFT JOIN m_staff st ON st.id = s.field_officer_id LEFT JOIN m_currency cur ON cur.code = s.currency_code WHERE o.id = ''${officeId}'' AND (COALESCE(s.field_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND s.id = ${savingsId}', 'Savings Rejected', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('185', 'Savings Activated', 'SMS', 'Triggered', 'Savings', 'SELECT c.id AS id, c.firstname AS firstName, c.middlename AS middleName, c.lastname AS lastName, c.display_name AS fullName, c.mobile_no AS mobileNo, s.account_no AS savingsAccountNo, ounder.id AS officeNumber, ounder.name AS officeName FROM m_office o JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(o.hierarchy, ''%'') JOIN m_client c ON c.office_id = ounder.id JOIN m_savings_account s ON s.client_id = c.id JOIN m_savings_product sp ON sp.id = s.product_id LEFT JOIN m_staff st ON st.id = s.field_officer_id LEFT JOIN m_currency cur ON cur.code = s.currency_code WHERE o.id = ''${officeId}'' AND (COALESCE(s.field_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND s.id = ${savingsId}', 'Savings Activation', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('192', 'Loan Repayment - Email', 'Email', 'Triggered', NULL, 'select ml.id as loanId, COALESCE(mc.id,mc2.id) as id, COALESCE(mc.firstname,mc2.firstname) as firstname, COALESCE(mc.middlename,mc2.middlename,(\''\'')) as middlename, COALESCE(mc.lastname,mc2.lastname) as lastname, COALESCE(mc.display_name,mc2.display_name) as display_name, COALESCE(mc.status_enum,mc2.status_enum) as status_enum, COALESCE(mc.mobile_no,mc2.mobile_no) as mobile_no, COALESCE(mg.office_id,mc2.office_id) as office_id, COALESCE(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name, COALESCE(mc.email_address,mc2.email_address) as emailAddress, lt.amount as repaymentAmount from m_loan_transaction lt join m_loan ml on ml.id=lt.loan_id left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id WHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId} and lt.id = ${loanTransactionId} ', 'Loan and client data of loan repayment', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('187', 'Savings Withdrawal', 'SMS', 'Triggered', NULL, 'SELECT sc.savingsId AS savingsId, sc.id AS clientId, sc.firstname, COALESCE(sc.middlename,'''') AS middlename, sc.lastname, sc.display_name AS FullName, sc.mobile_no AS mobileNo, ms."account_no" AS savingsAccountNo, ROUND(mst.amountPaid, ms.currency_digits) AS withdrawAmount, ms.account_balance_derived AS balance, mst.transactionDate AS transactionDate FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') AND ounder.hierarchy LIKE CONCAT(''.'', ''%'') LEFT JOIN (SELECT sa.id AS savingsId, mc.id AS id, mc.firstname AS firstname, mc.middlename AS middlename, mc.lastname AS lastname, mc.display_name AS display_name, mc.status_enum AS status_enum, mc.mobile_no AS mobile_no, mc.office_id AS office_id, mc.staff_id AS staff_id FROM m_savings_account sa LEFT JOIN m_client mc ON mc.id = sa.client_id ORDER BY savingsId) sc ON sc.office_id = ounder.id RIGHT JOIN m_savings_account AS ms ON sc.savingsId = ms.id RIGHT JOIN(SELECT st.amount AS amountPaid, st.id, st.savings_account_id, st.id AS savingsTransactionId, st.transaction_date AS transactionDate FROM m_savings_account_transaction st WHERE st.is_reversed = false GROUP BY st.savings_account_id, st.amount, st.id) AS mst ON mst.savings_account_id = ms.id WHERE sc.mobile_no IS NOT NULL AND (mo.id = ''${officeId}'' OR ''${officeId}'' = -1) AND (sc.staff_id = ${loanOfficerId} OR ${loanOfficerId} = -1) AND mst.savingsTransactionId = ${savingsTransactionId}', 'Savings Withdrawal', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('188', 'ReportCategoryList', 'Table', NULL, '(NULL)', '(NULL)', '(NULL)', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('189', 'FullReportList', 'Table', NULL, '(NULL)', '(NULL)', '(NULL)', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('190', 'Loan Approved - Email', 'Email', 'Triggered', NULL, 'select ml.id as loanId, COALESCE(mc.id,mc2.id) as id, COALESCE(mc.firstname,mc2.firstname) as firstname, COALESCE(mc.middlename,mc2.middlename,(\''\'')) as middlename, COALESCE(mc.lastname,mc2.lastname) as lastname, COALESCE(mc.display_name,mc2.display_name) as display_name, COALESCE(mc.status_enum,mc2.status_enum) as status_enum, COALESCE(mc.mobile_no,mc2.mobile_no) as mobile_no, COALESCE(mg.office_id,mc2.office_id) as office_id, COALESCE(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name, COALESCE(mc.email_address,mc2.email_address) as emailAddress from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id WHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId}', 'Loan and client data of approved loan', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('191', 'Loan Rejected - Email', 'Email', 'Triggered', NULL, 'select ml.id as loanId, COALESCE(mc.id,mc2.id) as id, COALESCE(mc.firstname,mc2.firstname) as firstname, COALESCE(mc.middlename,mc2.middlename,(\''\'')) as middlename, COALESCE(mc.lastname,mc2.lastname) as lastname, COALESCE(mc.display_name,mc2.display_name) as display_name, COALESCE(mc.status_enum,mc2.status_enum) as status_enum, COALESCE(mc.mobile_no,mc2.mobile_no) as mobile_no, COALESCE(mg.office_id,mc2.office_id) as office_id, COALESCE(mg.staff_id,mc2.staff_id) as staff_id, mg.id as group_id, mg.display_name as group_name, COALESCE(mc.email_address,mc2.email_address) as emailAddress from m_loan ml left join m_group mg on mg.id = ml.group_id left join m_group_client mgc on mgc.group_id = mg.id left join m_client mc on mc.id = mgc.client_id left join m_client mc2 on mc2.id = ml.client_id WHERE (mc.status_enum = 300 or mc2.status_enum = 300) and (mc.email_address is not null or mc2.email_address is not null) and ml.id = ${loanId}', 'Loan and client data of rejected loan', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('193', 'Trial Balance Table', 'Table', NULL, 'Accounting', 'select * from ( select debits.glcode as "glcode", debits.name as "name", (case when debits.type = 1 or debits.type = 5 then coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0)else null end ) as "debit", (case when debits.type = 4 or debits.type = 3 or debits.type = 2 then coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0)else null end ) as "credit" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount", acc_gl_account.classification_enum as "type" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode,acc_gl_account.name,acc_gl_account.classification_enum order by glcode ) debits left outer join ( select acc_gl_account.gl_code as "glcode", name as "name", sum(amount) as "creditamount", acc_gl_account.classification_enum as "type" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode,acc_gl_account.classification_enum,acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select credits.glcode as "glcode", credits.name as "name", (case when credits.type = 1 or credits.type = 5 then coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0) else null end ) as "debit", (case when credits.type = 4 or credits.type = 3 or credits.type = 2 then coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) else null end ) as "credit" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount", acc_gl_account.classification_enum as "type" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode,acc_gl_account.name,acc_gl_account.classification_enum order by glcode ) debits right outer join ( select acc_gl_account.gl_code as "glcode", name as "name", sum(amount) as "creditamount", acc_gl_account.classification_enum as "type" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} or ${officeId} = 1 ) group by glcode,acc_gl_account.name,acc_gl_account.classification_enum order by glcode ) credits on debits.glcode = credits.glcode ) as fullouterjoinresult order by glcode', 'Trial Balance Report', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('194', 'GeneralLedgerReport Table', 'Table', NULL, 'Accounting', 'select details.edate entry_date, sum(details.debit_amount) debit_amount, sum(details.credit_amount) credit_amount, details.description, coalesce(opb.openingbalance, 0) openingbalance, case when details.manual_entry then cast(details.id as text) else cast(''system'' as text) end transtype, case when actype in (1, 5) then ( sum(details.debit_amount) - sum(details.credit_amount) ) else ( sum(details.credit_amount) - sum(details.debit_amount) ) end as cumulative_sum from ( select a.account_id acid1, concat(gl.gl_code, ''-'', gl.name) as report_header, gl.classification_enum actype, gl.gl_code as reportid, j1.entry_date edate, concat(gl1.gl_code, ''-'', gl1.name) as account_name, case when j1.type_enum = 1 then j1.amount else 0 end as debit_amount, case when j1.type_enum = 2 then j1.amount else 0 end as credit_amount, j1.id, j1.office_id, j1.transaction_id, j1.type_enum, j1.office_running_balance as aftertxn, j1.description as description, j1.transaction_id as transactionid, a.manual_entry from acc_gl_journal_entry j1 inner join ( select distinct je.transaction_id tid, je.account_id, je.manual_entry from m_office o left join m_office ounder on ounder.hierarchy like concat(o.hierarchy, ''%'') inner join acc_gl_journal_entry je on je.office_id = ounder.id where je.account_id = cast(''${GLAccountNO}'' as BIGINT) and o.id = ''${officeId}'' and je.entry_date between ''${startDate}'' and ''${endDate}'' ) a on a.tid = j1.transaction_id and j1.account_id <> cast(''${GLAccountNO}'' as BIGINT) left join acc_gl_account gl on gl.id = a.account_id left join acc_gl_account gl1 on gl1.id = j1.account_id order by j1.entry_date, j1.id ) details left join ( select je.account_id acid2, case when aga1.classification_enum in (1, 5) then (( sum(case when je.type_enum = 2 then coalesce(je.amount, 0) else 0 end)) - sum(case when je.type_enum = 1 then coalesce(je.amount, 0) else 0 end)) else( sum(case when je.type_enum = 1 then coalesce(je.amount, 0) else 0 end) - sum(case when je.type_enum = 2 then coalesce(je.amount, 0) else 0 end)) end as openingbalance from m_office o left join m_office ounder on ounder.hierarchy like concat(o.hierarchy, ''%'') left join acc_gl_journal_entry je on je.office_id = ounder.id left join acc_gl_account aga1 on aga1.id = je.account_id where je.entry_date <= date(''${startDate}'')- interval ''3 day'' and je.office_running_balance is not null and (o.id = ''${officeId}'') and je.account_id = cast(''${GLAccountNO}'' as BIGINT) group by je.account_id, aga1.classification_enum ) opb on opb.acid2 = details.acid1 left join ( select name branchname from m_office mo where mo.id = 1 ) branch on details.office_id = ''${officeId}'' group by details.edate, details.acid1, details.report_header, details.reportid, details.account_name, branch.branchname, transtype, details.description, openingbalance, details.actype', NULL, 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('195', 'Income Statement Table', 'Table', NULL, 'Accounting', '( select * from ( select debits.glcode as "glcode", debits.name as "name", ''Expense'' as IncomeOrExpense, ( coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by gl_code,acc_gl_account.name order by glcode ) debits LEFT OUTER JOIN ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "creditamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by gl_code,acc_gl_account.name ) credits on debits.glcode = credits.glcode union select credits.glcode as "glcode", credits.name as "name", ''Expense'' as IncomeOrExpense, ( coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by gl_code , acc_gl_account.name order by glcode ) debits RIGHT OUTER JOIN ( select acc_gl_account.gl_code as "glcode", name as "name", sum(amount) as "creditamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (5) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by gl_code , acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode ) as fullouterjoinresult order by glcode ) UNION ( select * from ( select debits.glcode as "glcode", debits.name as "name", ''Income'' as IncomeOrExpense, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits LEFT OUTER JOIN ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "creditamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode , acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select credits.glcode as "glcode", credits.name as "name", ''Income'' as IncomeOrExpense, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode ,acc_gl_account.name order by glcode ) debits RIGHT OUTER JOIN ( select acc_gl_account.gl_code as glcode, name as "name", sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (4) and acc_gl_journal_entry.entry_date between ''${startDate}'' and ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode ,acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode ) as fullouterjoinresult order by glcode )', 'Profit and Loss Statement', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('196', 'Balance Sheet Table', 'Table', NULL, 'Accounting', ' ( select debits.glcode as glcode, debits.name as "name", ''Assets'' as BalanceType, ( coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0) ) as balance from ( select acc_gl_account.gl_code as glcode, name, sum(amount) as debitamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits left outer join ( select acc_gl_account.gl_code as glcode, name, sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select credits.glcode as glcode, credits.name as "name", ''Assets'' as BalanceType, ( coalesce(debits.debitamount, 0) - coalesce(credits.creditamount, 0) ) as balance from ( select acc_gl_account.gl_code as glcode, name, sum(amount) as debitamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits right outer join ( select acc_gl_account.gl_code as glcode, name, sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (1) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select debits.glcode as glcode, debits.name as "name", ''Liability'' as BalanceType, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as balance from ( select acc_gl_account.gl_code as glcode, name, sum(amount) as debitamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits left outer join ( select acc_gl_account.gl_code as glcode, name, sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select credits.glcode as glcode, credits.name as "name", ''Liability'' as BalanceType, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "debitamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits right outer join ( select acc_gl_account.gl_code as "glcode", name, sum(amount) as "creditamount" from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (2) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select debits.glcode as "glcode", debits.name as "name", ''Equity'' as BalanceType, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as "balance" from ( select acc_gl_account.gl_code as glcode, name, sum(amount) as debitamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits left outer join ( select acc_gl_account.gl_code as glcode, name, sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode union select credits.glcode as glcode, credits.name as "name", ''Equity'' as BalanceType, ( coalesce(credits.creditamount, 0) - coalesce(debits.debitamount, 0) ) as balance from ( select acc_gl_account.gl_code as glcode, name, sum(amount) as debitamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 2 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) debits right outer join ( select acc_gl_account.gl_code as glcode, name, sum(amount) as creditamount from acc_gl_journal_entry, acc_gl_account where acc_gl_account.id = acc_gl_journal_entry.account_id and acc_gl_journal_entry.type_enum = 1 and acc_gl_account.classification_enum in (3) and acc_gl_journal_entry.entry_date <= ''${endDate}'' and ( acc_gl_journal_entry.office_id = ''${officeId}'' or ''${officeId}'' = 1 ) group by glcode, acc_gl_account.name order by glcode ) credits on debits.glcode = credits.glcode )', 'Balance Sheet', 't', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('174', 'Loan payments received (Active Loans)', 'SMS', 'NonTriggered', 'Loan', 'SELECT mc.id AS id, mc.firstname AS firstName, mc.middlename AS middleName, mc.lastname AS lastName, mc.display_name AS fullName, mc.mobile_no AS mobileNo, ml.principal_amount AS loanAmount, (COALESCE(ml.principal_outstanding_derived, 0) + COALESCE(ml.interest_outstanding_derived, 0) + COALESCE(ml.fee_charges_outstanding_derived, 0) + COALESCE(ml.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, ounder.id AS officeNumber, ml.account_no AS loanAccountNumber, SUM(lt.amount) AS repaymentAmount FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') INNER JOIN m_client mc ON mc.office_id = ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id INNER JOIN r_enum_value rev ON rev.enum_id = ml.loan_status_id AND rev.enum_name = ''loan_status_id'' INNER JOIN m_loan_transaction lt ON lt.loan_id = ml.id INNER JOIN m_appuser au ON au.id = lt.created_by LEFT JOIN m_loan_arrears_aging laa ON laa.loan_id = ml.id LEFT JOIN m_payment_detail mpd ON mpd.id = lt.payment_detail_id LEFT JOIN m_currency cur ON cur.code = ml.currency_code LEFT JOIN m_group_client gc ON gc.client_id = mc.id LEFT JOIN m_group g ON g.id = gc.group_id LEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id LEFT JOIN m_guarantor gua ON gua.loan_id = ml.id WHERE ml.loan_status_id = 300 AND mo.id = ''${officeId}'' AND (COALESCE(ml.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM (CURRENT_DATE - lt.transaction_date::TIMESTAMP)) BETWEEN 9${fromX} AND ${toY}) AND lt.is_reversed = false AND lt.transaction_type_enum = 2 AND laa.loan_id IS NULL GROUP BY ml.id, mc.id, ounder.id ORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no', 'Payments received in the last fromX to toY days for any loan with the status Active (on-time)', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('175', 'Loan payments received (Overdue Loans)', 'SMS', 'NonTriggered', 'Loan', 'SELECT ml.id AS loanId, mc.id AS id, mc.firstname AS firstName, mc.middlename AS middleName, mc.lastname AS lastName, mc.display_name AS fullName, mc.mobile_no AS mobileNo, ml.principal_amount AS loanAmount, (COALESCE(ml.principal_outstanding_derived, 0) + COALESCE(ml.interest_outstanding_derived, 0) + COALESCE(ml.fee_charges_outstanding_derived, 0) + COALESCE(ml.penalty_charges_outstanding_derived, 0)) AS loanOutstanding, ounder.id AS officeNumber, ml.account_no AS loanAccountNumber, SUM(lt.amount) AS repaymentAmount FROM m_office mo JOIN m_office ounder ON ounder.hierarchy LIKE CONCAT(mo.hierarchy, ''%'') INNER JOIN m_client mc ON mc.office_id = ounder.id INNER JOIN m_loan ml ON ml.client_id = mc.id INNER JOIN r_enum_value rev ON rev.enum_id = ml.loan_status_id AND rev.enum_name = ''loan_status_id'' INNER JOIN m_loan_arrears_aging laa ON laa.loan_id = ml.id INNER JOIN m_loan_transaction lt ON lt.loan_id = ml.id INNER JOIN m_appuser au ON au.id = lt.created_by LEFT JOIN m_payment_detail mpd ON mpd.id = lt.payment_detail_id LEFT JOIN m_currency cur ON cur.code = ml.currency_code LEFT JOIN m_group_client gc ON gc.client_id = mc.id LEFT JOIN m_group g ON g.id = gc.group_id LEFT JOIN m_staff lo ON lo.id = ml.loan_officer_id LEFT JOIN m_guarantor gua ON gua.loan_id = ml.id WHERE ml.loan_status_id = 300 AND mo.id = ''${officeId}'' AND (COALESCE(ml.loan_officer_id, -10) = ${loanOfficerId} OR ''-1'' = ${loanOfficerId}) AND (EXTRACT(DAY FROM(CURRENT_DATE - lt.transaction_date::TIMESTAMP)) BETWEEN ${fromX} AND ${toY}) AND (EXTRACT(DAY FROM(CURRENT_DATE - laa.overdue_since_date_derived::TIMESTAMP)) BETWEEN ${overdueX} AND ${overdueY}) AND lt.is_reversed = false AND lt.transaction_type_enum = 2 GROUP BY ml.id, mc.id, ounder.id ORDER BY ounder.hierarchy, ml.currency_code, mc.account_no, ml.account_no', 'Payments received in the last fromX to toY days for any loan with the status Overdue (arrears) between overdueX and overdueY days', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('155', 'Demand Vs Collection', 'Table', '', 'Loan', 'SELECT amount.AmountDue-amount.AmountPaid as AmountDue, amount.AmountPaid as AmountPaid FROM (SELECT (COALESCE(SUM(ls.principal_amount),0) - COALESCE(SUM(ls.principal_writtenoff_derived),0) + COALESCE(SUM(ls.interest_amount),0) - COALESCE(SUM(ls.interest_writtenoff_derived),0) - COALESCE(SUM(ls.interest_waived_derived),0) + COALESCE(SUM(ls.fee_charges_amount),0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived),0) - COALESCE(SUM(ls.fee_charges_waived_derived),0) + COALESCE(SUM(ls.penalty_charges_amount),0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived),0) - COALESCE(SUM(ls.penalty_charges_waived_derived),0) ) AS AmountDue, (COALESCE(SUM(ls.principal_completed_derived),0) - COALESCE(SUM(ls.principal_writtenoff_derived),0) + COALESCE(SUM(ls.interest_completed_derived),0) - COALESCE(SUM(ls.interest_writtenoff_derived),0) - COALESCE(SUM(ls.interest_waived_derived),0) + COALESCE(SUM(ls.fee_charges_completed_derived),0) - COALESCE(SUM(ls.fee_charges_writtenoff_derived),0) - COALESCE(SUM(ls.fee_charges_waived_derived),0) + COALESCE(SUM(ls.penalty_charges_completed_derived),0) - COALESCE(SUM(ls.penalty_charges_writtenoff_derived),0) - COALESCE(SUM(ls.penalty_charges_waived_derived),0) ) AS AmountPaid FROM m_office o LEFT JOIN m_client cl ON o.id = cl.office_id LEFT JOIN m_loan ln ON cl.id = ln.client_id LEFT JOIN m_loan_repayment_schedule ls ON ln.id = ls.loan_id WHERE (o.hierarchy LIKE CONCAT((SELECT ino.hierarchy FROM m_office ino WHERE ino.id = ${officeId}),''%''))) as amount ', 'Demand Vs Collection', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('156', 'Disbursal Vs Awaitingdisbursal', 'Table', '', 'Loan', 'SELECT awaitinddisbursal.amount-disbursedAmount.amount as amountToBeDisburse, disbursedAmount.amount as disbursedAmount from (SELECT COUNT(ln.id) AS noOfLoans, COALESCE(SUM(ln.principal_amount),0) AS amount FROM m_office o LEFT JOIN m_client cl ON cl.office_id = o.id LEFT JOIN m_loan ln ON cl.id = ln.client_id WHERE (ln.loan_status_id=200 OR ln.loan_status_id=300) AND o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) ) awaitinddisbursal, (SELECT COUNT(ltrxn.id) as count, COALESCE(SUM(ltrxn.amount),0) as amount FROM m_office o LEFT JOIN m_client cl ON cl.office_id = o.id LEFT JOIN m_loan ln ON cl.id = ln.client_id LEFT JOIN m_loan_transaction ltrxn ON ln.id = ltrxn.loan_id WHERE ltrxn.is_reversed = false AND ltrxn.transaction_type_enum=1 AND o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) ) disbursedAmount ', 'Disbursal_Vs_Awaitingdisbursal', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('198', 'Transaction Summary Report', 'Table', NULL, 'Accounting', 'SELECT ''${endDate}'' AS TransactionDate, a.product AS Product, ( SELECT enum_message_property FROM r_enum_value WHERE enum_name = ''transaction_type_enum'' and enum_id = a.transaction_type ) 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 IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 41, 43) 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, 41, 43) AND a.reversal_indicator = true then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20, 40, 42) AND a.reversal_indicator = false then sum(a.amount) * + 1 when a.transaction_type IN (1, 10, 25, 20, 40, 42) AND a.reversal_indicator = true then sum(a.amount) * -1 end AS Transaction_Amount 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 WHERE t.reversed_on_date = ''${endDate}'' and t.transaction_type_enum = 26 and (t.office_id = ${officeId}) ) a GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.chargetype, a.reversal_indicator, a.Allocation_Type order by 1, 2, 3, 4, 5, 6, 7 ', 'Transaction Summary Report', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('197', 'Trial Balance Summary Report', 'Table', NULL, 'Accounting', 'SELECT * FROM ( SELECT ''${endDate}'' AS PostingDate, loan.pname AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS BeginningBalance, (loan.debitamount * 1) AS DebitMovement, (loan.creditamount *-1) AS CreditMovement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS EndingBalance FROM ( SELECT g.pname, g.gl_code, g.glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM ( SELECT ag.gl_code, pl.name AS pname, ag.name AS glname FROM acc_gl_account ag JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 JOIN m_product_loan pl ON pl.id = am.product_id ) g LEFT JOIN ( SELECT lp.name AS productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account JOIN acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id JOIN m_product_loan lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 1 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date < ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode AND debits.productname = g.pname LEFT JOIN ( SELECT lp.name AS productname, account_id, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 END ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 END ) AS creditamount FROM acc_gl_journal_entry JOIN acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id JOIN m_product_loan lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 1 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date = ''${endDate}'' AND ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, account_id, glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode AND loanproduct.productname = g.pname ) loan UNION SELECT ''${endDate}'' AS PostingDate, loan.pname AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS Beginning_Balance, loan.debitamount AS Debit_Movement, loan.creditamount AS Credit_Movement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS Ending_Balance FROM ( SELECT g.pname, g.gl_code, g.glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM ( SELECT ag.gl_code, pl.name AS pname, ag.name AS glname FROM acc_gl_account ag JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 2 JOIN m_savings_product pl ON pl.id = am.product_id ) g LEFT join ( SELECT lp.name productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account join acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_savings_account m ON m.id = acc_gl_journal_entry.entity_id JOIN m_savings_product lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 2 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date < ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode AND debits.productname = g.pname left JOIN ( SELECT lp.name productname, acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount from acc_gl_journal_entry join acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id JOIN m_savings_account m ON m.id = acc_gl_journal_entry.entity_id JOIN m_savings_product lp ON lp.id = m.product_id WHERE acc_gl_journal_entry.entity_type_enum = 2 AND acc_gl_journal_entry.manual_entry = false and acc_gl_journal_entry.submitted_on_date = ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by productname, glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode AND loanproduct.productname = g.pname ) loan UNION SELECT ''${endDate}'' AS PostingDate, ''manual'' AS Product, loan.gl_code AS GlAcct, loan.glname AS Description, loan.openingbalance AS Beginning_Balance, loan.debitamount AS Debit_Movement, loan.creditamount AS Credit_Movement, ( loan.openingbalance + loan.debitamount - loan.creditamount ) AS Ending_Balance FROM ( SELECT g.gl_code, g.name AS glname, COALESCE(debits.debitamount, 0) - COALESCE(debits.creditamount, 0) AS openingbalance, COALESCE(loanproduct.debitamount, 0) AS debitamount, COALESCE(loanproduct.creditamount, 0) AS creditamount FROM acc_gl_account g LEFT join ( SELECT acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_account JOIN acc_gl_journal_entry on acc_gl_account.id = acc_gl_journal_entry.account_id WHERE acc_gl_journal_entry.manual_entry = true and acc_gl_journal_entry.submitted_on_date < ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by glcode, glname order by glcode ) debits ON g.gl_code = debits.glcode left JOIN ( SELECT acc_gl_account.gl_code AS glcode, acc_gl_account.name AS glname, sum( case when acc_gl_journal_entry.type_enum = 2 then amount ELSE 0 end ) AS debitamount, sum( case when acc_gl_journal_entry.type_enum = 1 then amount ELSE 0 end ) AS creditamount FROM acc_gl_journal_entry join acc_gl_account on acc_gl_account.id = acc_gl_journal_entry.account_id where acc_gl_journal_entry.manual_entry = true and acc_gl_journal_entry.submitted_on_date = ''${endDate}'' and ( acc_gl_journal_entry.office_id = ${officeId} ) group by glcode, glname order by glcode ) loanproduct ON g.gl_code = loanproduct.glcode ) loan ) a where a.EndingBalance != 0 or a.DebitMovement != 0 or a.CreditMovement != 0 ', 'Trial Balance Summary Report', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('153', 'LoanTrendsByWeek', 'Table', '', 'Loan', 'SELECT COUNT(ln.id) AS lcount, EXTRACT(WEEK FROM ln.disbursedon_date) AS Weeks FROM m_office o LEFT JOIN m_client cl on o.id = cl.office_id LEFT JOIN m_loan ln on cl.id = ln.client_id WHERE o.hierarchy like concat((select ino.hierarchy from m_office ino where ino.id = ${officeId}),''%'' ) AND (ln.disbursedon_date BETWEEN (CURRENT_DATE - INTERVAL ''12 weeks'') AND CURRENT_DATE) GROUP BY EXTRACT(WEEK FROM ln.disbursedon_date)', '', 't', 'f', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('199', 'Trial Balance Summary Report with Asset Owner', 'Table', NULL, 'Accounting', 'WITH retained_earning AS (SELECT DISTINCT ''${endDate}'' AS postingdate,\n lp.name AS product,\n gl_code AS glacct,\n COALESCE((SELECT name FROM acc_gl_account WHERE gl_code = e.gl_code),\n '''') AS description,\n COALESCE(e.owner_external_id, ''self'') AS assetowner,\n SUM(opening_balance_amount) AS beginningbalance,\n 0 AS debitmovement,\n 0 AS creditmovement,\n SUM(opening_balance_amount) AS endingbalance,\n COALESCE(e.originator_external_ids, '''') AS originator_external_ids\n FROM acc_gl_journal_entry_annual_summary e,\n m_product_loan lp\n WHERE e.office_id = ${officeId}\n AND lp.id = product_id\n AND EXTRACT(YEAR FROM e.year_end_date) < EXTRACT(YEAR FROM CAST(''${endDate}'' AS DATE))\n GROUP BY gl_code, lp.name, office_id, owner_external_id, originator_external_ids),\n aggregated_date AS (SELECT MAX(aggregated_on_date_to) AS latest\n FROM m_journal_entry_aggregation_tracking\n WHERE aggregated_on_date_to < ''${endDate}''),\n summary_snapshot_baseline_data AS (SELECT lp.NAME AS productname,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.NAME AS glname,\n CASE\n WHEN ags.external_owner_id IS NULL THEN 0\n ELSE ags.external_owner_id END AS assetowner,\n COALESCE(ags.originator_external_ids, '''') AS originator_external_ids,\n SUM(ags.debit_amount) AS debitamount,\n SUM(ags.credit_amount) AS creditamount\n FROM acc_gl_account\n JOIN m_journal_entry_aggregation_summary ags\n ON acc_gl_account.id = ags.gl_account_id\n JOIN m_product_loan lp ON lp.id = ags.product_id\n WHERE ags.entity_type_enum = 1\n AND ags.manual_entry = FALSE\n AND ags.aggregated_on_date <= (SELECT latest FROM aggregated_date)\n AND (ags.office_id = ${officeId})\n GROUP BY productname, glcode, glname, assetowner, originator_external_ids),\n post_snapshot_delta_data AS (SELECT lp.NAME AS productname,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.NAME AS glname,\n CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount,\n COALESCE((SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id)\n FROM m_loan_originator_mapping mlom\n JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id\n WHERE mlom.loan_id = m.id), '''') AS originator_external_ids\n FROM acc_gl_account\n JOIN acc_gl_journal_entry\n ON acc_gl_account.id = acc_gl_journal_entry.account_id\n JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id\n JOIN m_product_loan lp ON lp.id = m.product_id\n LEFT JOIN m_external_asset_owner_journal_entry_mapping aw\n ON aw.journal_entry_id = acc_gl_journal_entry.id\n WHERE acc_gl_journal_entry.entity_type_enum = 1\n AND acc_gl_journal_entry.manual_entry = FALSE\n AND (\n (SELECT latest FROM aggregated_date) IS NULL\n OR\n acc_gl_journal_entry.submitted_on_date > (SELECT latest FROM aggregated_date)\n )\n AND acc_gl_journal_entry.submitted_on_date < ''${endDate}''\n AND (acc_gl_journal_entry.office_id = ${officeId})\n GROUP BY productname, glcode, glname, assetowner, originator_external_ids),\n merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname,\n COALESCE(s.glcode, p.glcode) AS glcode,\n COALESCE(s.glname, p.glname) AS glname,\n COALESCE(s.assetowner, p.assetowner, 0) AS assetowner,\n COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount,\n COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount,\n COALESCE(p.originator_external_ids, s.originator_external_ids, '''') AS originator_external_ids\n FROM summary_snapshot_baseline_data s\n LEFT JOIN post_snapshot_delta_data p\n ON s.glcode = p.glcode\n AND s.productname = p.productname\n AND s.assetowner = p.assetowner\n AND s.originator_external_ids = p.originator_external_ids\n\n UNION ALL\n\n SELECT p.productname AS productname,\n p.glcode AS glcode,\n p.glname AS glname,\n COALESCE(p.assetowner, 0) AS assetowner,\n COALESCE(p.debitamount, 0) AS debitamount,\n COALESCE(p.creditamount, 0) AS creditamount,\n COALESCE(p.originator_external_ids, '''') AS originator_external_ids\n FROM post_snapshot_delta_data p\n LEFT JOIN summary_snapshot_baseline_data s\n ON s.glcode = p.glcode\n AND s.productname = p.productname\n AND s.assetowner = p.assetowner\n AND s.originator_external_ids = p.originator_external_ids\n WHERE s.glcode IS NULL),\n current_cob_data AS (SELECT lp.name AS productname,\n account_id,\n acc_gl_account.gl_code AS glcode,\n acc_gl_account.name AS glname,\n CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount,\n SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount,\n COALESCE((SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id)\n FROM m_loan_originator_mapping mlom\n JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id\n WHERE mlom.loan_id = m.id), '''') AS originator_external_ids\n FROM acc_gl_journal_entry\n JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id\n JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id\n JOIN m_product_loan lp ON lp.id = m.product_id\n LEFT JOIN m_external_asset_owner_journal_entry_mapping aw\n ON aw.journal_entry_id = acc_gl_journal_entry.id\n WHERE acc_gl_journal_entry.entity_type_enum = 1\n AND acc_gl_journal_entry.manual_entry = FALSE\n AND acc_gl_journal_entry.submitted_on_date = ''${endDate}''\n AND (acc_gl_journal_entry.office_id = ${officeId})\n GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids)\n\nSELECT *\nFROM (SELECT *\n FROM retained_earning\n WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = ''Retained Earnings Prior Year'')\n\n UNION\n\n SELECT txnreport.postingdate,\n txnreport.product,\n txnreport.glacct,\n txnreport.description,\n txnreport.assetowner,\n (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance,\n txnreport.debitmovement AS debitmovement,\n txnreport.creditmovement AS creditmovement,\n (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance,\n txnreport.originator_external_ids AS originator_external_ids\n FROM (SELECT *\n FROM (SELECT DISTINCT ''${endDate}'' AS postingdate,\n loan.pname AS product,\n loan.gl_code AS glacct,\n loan.glname AS description,\n COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner),\n ''self'') AS assetowner,\n loan.openingbalance AS beginningbalance,\n (loan.debitamount * 1) AS debitmovement,\n (loan.creditamount * -1) AS creditmovement,\n (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance,\n loan.originator_external_ids AS originator_external_ids\n FROM (SELECT DISTINCT g.pname AS pname,\n g.gl_code AS gl_code,\n g.glname AS glname,\n COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner,\n COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance,\n COALESCE(c.debitamount, 0) AS debitamount,\n COALESCE(c.creditamount, 0) AS creditamount,\n COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids\n FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname\n FROM acc_gl_account ag\n JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1\n JOIN m_product_loan pl ON pl.id = am.product_id) g\n LEFT JOIN merged_historical_data mh\n ON g.gl_code = mh.glcode\n AND mh.productname = g.pname\n LEFT JOIN current_cob_data c\n ON g.gl_code = c.glcode\n AND c.productname = g.pname\n AND mh.assetowner = c.assetowner\n AND mh.originator_external_ids = c.originator_external_ids\n\n UNION ALL\n\n SELECT DISTINCT c.productname AS pname,\n c.glcode AS gl_code,\n c.glname AS glname,\n COALESCE(c.assetowner, 0) AS assetowner,\n 0 AS openingbalance,\n COALESCE(c.debitamount, 0) AS debitamount,\n COALESCE(c.creditamount, 0) AS creditamount,\n COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids\n FROM current_cob_data c\n LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids\n FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname\n FROM acc_gl_account ag\n JOIN acc_product_mapping am\n ON am.gl_account_id = ag.id AND am.product_type = 1\n JOIN m_product_loan pl ON pl.id = am.product_id) g3\n LEFT JOIN merged_historical_data mh\n ON g3.gl_code = mh.glcode\n AND mh.productname = g3.pname) matched\n ON matched.gl_code = c.glcode\n AND matched.pname = c.productname\n AND matched.assetowner = c.assetowner\n AND matched.originator_external_ids = c.originator_external_ids\n WHERE matched.gl_code IS NULL) loan) a) AS txnreport\n LEFT JOIN retained_earning summary\n ON txnreport.glacct = summary.glacct\n AND txnreport.assetowner = summary.assetowner\n AND summary.product = txnreport.product\n AND summary.originator_external_ids = txnreport.originator_external_ids) report\nWHERE report.endingbalance != 0\n OR report.debitmovement != 0\n OR report.creditmovement != 0\nORDER BY glacct', 'Trial Balance Summary Report with Asset Owner', 'f', 't', 'f'); +INSERT INTO public.stretchy_report (id, report_name, report_type, report_subtype, report_category, report_sql, description, core_report, use_report, self_service_user_report) VALUES ('200', 'Transaction Summary Report with Asset Owner', 'Table', NULL, 'Accounting', 'WITH slt_except_charge_adj_and_accrual AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id)\n ELSE NULL END AS classification_name,\n t.transaction_type_enum,\n t.amount,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND\n e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n slt_charge_adj AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.transaction_type_enum = 26\n AND (t.office_id = ${officeId})),\n rlt_except_charge_adj_and_accrual AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id)\n ELSE NULL END AS classification_name,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND\n e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n rlt_charge_adj AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n t.overpayment_portion_derived,\n t.principal_portion_derived,\n t.interest_portion_derived,\n t.fee_charges_portion_derived,\n t.penalty_charges_portion_derived,\n t.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.transaction_type_enum = 26\n AND (t.office_id = ${officeId})),\n slt_cap_income_amortization AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id)\n ELSE NULL END AS classification_name,\n CASE\n WHEN t.overpayment_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS overpayment_portion_derived,\n CASE\n WHEN t.principal_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS principal_portion_derived,\n CASE\n WHEN t.interest_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS interest_portion_derived,\n CASE\n WHEN t.fee_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS fee_charges_portion_derived,\n CASE\n WHEN t.penalty_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS penalty_charges_portion_derived,\n map.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n JOIN m_loan_amortization_allocation_mapping map\n ON map.amortization_loan_transaction_id = t.id\n JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_id\n LEFT JOIN m_external_asset_owner_transfer e ON e.loan_id = t.loan_id AND\n e.settlement_date <\n ''${endDate}'' AND\n e.effective_date_to >=\n ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.is_reversed = false\n AND t.transaction_type_enum IN (36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n rlt_cap_income_amortization AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name,\n t.transaction_type_enum,\n d.payment_type_id,\n CASE\n WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL\n THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id)\n ELSE NULL END AS classification_name,\n CASE\n WHEN t.overpayment_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS overpayment_portion_derived,\n CASE\n WHEN t.principal_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS principal_portion_derived,\n CASE\n WHEN t.interest_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS interest_portion_derived,\n CASE\n WHEN t.fee_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS fee_charges_portion_derived,\n CASE\n WHEN t.penalty_charges_portion_derived IS NOT NULL\n THEN map.amount\n ELSE NULL END AS penalty_charges_portion_derived,\n map.amount,\n e.status,\n e.settlement_date,\n e.owner_id,\n m.charged_off_on_date,\n t.transaction_date,\n m.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_payment_detail d ON d.id = t.payment_detail_id\n JOIN m_loan_amortization_allocation_mapping map\n ON map.amortization_loan_transaction_id = t.id\n JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_id\n LEFT JOIN m_external_asset_owner_transfer e ON e.loan_id = t.loan_id AND\n e.settlement_date <\n ''${endDate}'' AND\n e.effective_date_to >=\n ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.is_reversed = true\n AND t.transaction_type_enum IN (36, 39, 42, 43)\n AND (t.office_id = ${officeId})),\n active_external_asset_owner_transfers AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n p.name,\n t.owner_id,\n t.previous_owner_id,\n dt.principal_outstanding_derived,\n dt.interest_outstanding_derived,\n dt.fee_charges_outstanding_derived,\n dt.penalty_charges_outstanding_derived,\n dt.total_overpaid_derived,\n l.charged_off_on_date,\n t.settlement_date,\n l.charge_off_reason_cv_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_external_asset_owner_transfer t\n JOIN m_loan l ON l.id = t.loan_id\n JOIN m_client c ON c.id = l.client_id\n JOIN m_product_loan p ON p.id = l.product_id\n JOIN m_external_asset_owner_transfer_details dt\n ON dt.asset_owner_transfer_id = t.id\n WHERE t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'')\n AND c.office_id = ${officeId}\n AND t.settlement_date = ''${endDate}''),\n buyback_external_asset_owner_transfers AS (SELECT ''${endDate}'' AS transactiondate,\n t.id,\n p.name,\n dt.principal_outstanding_derived,\n dt.interest_outstanding_derived,\n dt.fee_charges_outstanding_derived,\n dt.penalty_charges_outstanding_derived,\n dt.total_overpaid_derived,\n l.charged_off_on_date,\n t.settlement_date,\n l.charge_off_reason_cv_id,\n t.owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_external_asset_owner_transfer t\n JOIN m_loan l ON l.id = t.loan_id\n JOIN m_client c ON c.id = l.client_id\n JOIN m_product_loan p ON p.id = l.product_id\n JOIN m_external_asset_owner_transfer_details dt\n ON dt.asset_owner_transfer_id = t.id\n WHERE t.status in (''BUYBACK'', ''BUYBACK_INTERMEDIATE'')\n AND c.office_id = ${officeId}\n AND t.settlement_date = ''${endDate}'')\nSELECT ''${endDate}'' AS TransactionDate,\n a.product AS Product,\n CASE\n WHEN a.transaction_type = 9999 THEN ''Asset Transfer''\n WHEN a.transaction_type = 99999 THEN ''Asset Buyback''\n ELSE (SELECT enum_message_property\n FROM r_enum_value\n WHERE enum_name = ''transaction_type_enum''\n AND enum_id = a.transaction_type) END AS TransactionType_Name,\n COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id),\n a.classification_name) AS PaymentType_Name,\n a.chargetype AS chargetype,\n a.reversal_indicator AS Reversed,\n a.Allocation_Type AS Allocation_Type,\n (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) AS Chargeoff_ReasonCode,\n CASE\n WHEN a.transaction_type = 9999 THEN sum(a.amount) * + 1\n WHEN a.transaction_type = 99999 THEN sum(a.amount) * - 1\n WHEN a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 28, 31, 33, 34, 37, 39, 41, 43) AND\n a.reversal_indicator = false THEN sum(a.amount) * -1\n WHEN a.transaction_type IN (2, 23, 21, 22, 24, 4, 5, 8, 6, 27, 9, 26, 28, 31, 33, 34, 37, 39, 41, 43) AND\n a.reversal_indicator = true THEN sum(a.amount) * + 1\n WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1\n WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = true\n THEN sum(a.amount) * -1 END AS Transaction_Amount,\n (SELECT external_id\n FROM m_external_asset_owner\n WHERE id = a.asset_owner_id) AS Asset_owner_id,\n (SELECT external_id\n FROM m_external_asset_owner\n WHERE id = a.from_asset_owner_id) AS From_asset_owner_id,\n a.originator_external_ids\nFROM (SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE\n WHEN t.transaction_type_enum in (1) THEN (CASE\n WHEN t.amount is null THEN 0\n WHEN t.overpayment_portion_derived is null THEN t.amount\n WHEN t.overpayment_portion_derived is not null\n THEN t.amount - t.overpayment_portion_derived\n ELSE t.amount END)\n ELSE (CASE\n WHEN t.principal_portion_derived is null THEN 0\n ELSE t.principal_portion_derived end) END amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.transaction_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_cap_income_amortization AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = false\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.transaction_type_enum = 10\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = true\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.transaction_type_enum = 10\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.submitted_on_date = ''${endDate}''\n AND t.transaction_type_enum in (10, 34)\n AND t.is_reversed = false\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM slt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE\n WHEN t.transaction_type_enum in (1) THEN (CASE\n WHEN t.amount is null THEN 0\n WHEN t.overpayment_portion_derived is null THEN t.amount\n WHEN t.overpayment_portion_derived is not null\n THEN t.amount - t.overpayment_portion_derived\n ELSE t.amount END)\n ELSE (CASE\n WHEN t.principal_portion_derived is null THEN 0\n ELSE t.principal_portion_derived end) END amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n t.classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_except_charge_adj_and_accrual AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n true AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = false\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n mc.name AS chargetype,\n true AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE WHEN pd.amount is null THEN 0 ELSE pd.amount END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n JOIN m_loan_charge_paid_by pd ON pd.loan_transaction_id = t.id\n JOIN m_loan_charge c ON c.id = pd.loan_charge_id\n JOIN m_charge mc ON mc.id = c.charge_id AND mc.is_penalty = true\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n l.name AS product,\n t.transaction_type_enum AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN e.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND e.settlement_date < ''${endDate}''\n THEN e.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date)\n THEN m.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n (SELECT STRING_AGG(DISTINCT mlo.external_id, '', '' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids\n FROM m_loan_transaction t\n JOIN m_loan m ON m.id = t.loan_id\n JOIN m_product_loan l ON l.id = m.product_id\n LEFT JOIN m_external_asset_owner_transfer e\n ON e.loan_id = t.loan_id AND e.settlement_date < ''${endDate}'' AND\n e.effective_date_to >= ''${endDate}''\n WHERE t.reversed_on_date = ''${endDate}''\n AND t.transaction_type_enum = 10\n AND t.is_reversed = true\n AND (t.office_id = ${officeId})\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Fees'' AS Allocation_Type,\n CASE WHEN t.fee_charges_portion_derived is null THEN 0 ELSE t.fee_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Penalty'' AS Allocation_Type,\n CASE\n WHEN t.penalty_charges_portion_derived is null THEN 0\n ELSE t.penalty_charges_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Interest'' AS Allocation_Type,\n CASE WHEN t.interest_portion_derived is null THEN 0 ELSE t.interest_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Principal'' AS Allocation_Type,\n CASE WHEN t.principal_portion_derived is null THEN 0 ELSE t.principal_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n t.transaction_type_enum AS transaction_type,\n t.payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n true AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_Type,\n CASE WHEN t.overpayment_portion_derived is null THEN 0 ELSE t.overpayment_portion_derived END AS amount,\n CASE\n WHEN t.status in (''ACTIVE'', ''ACTIVE_INTERMEDIATE'') AND t.settlement_date < ''${endDate}''\n THEN t.owner_id END AS asset_owner_id,\n CASE\n WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date)\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n null::bigint AS from_asset_owner_id,\n t.originator_external_ids\n FROM rlt_charge_adj AS t\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_type,\n t.principal_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.principal_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_type,\n t.interest_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.interest_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_type,\n t.fee_charges_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.fee_charges_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_type,\n t.penalty_charges_outstanding_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.penalty_charges_outstanding_derived > 0\n UNION ALL\n SELECT t.transactiondate,\n t.id,\n t.name AS product,\n 9999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_type,\n t.total_overpaid_derived AS amount,\n t.owner_id AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.previous_owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM active_external_asset_owner_transfers AS t\n WHERE t.total_overpaid_derived > 0\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Principal'' AS Allocation_type,\n t.principal_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.principal_outstanding_derived > 0\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Interest'' AS Allocation_type,\n t.interest_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.interest_outstanding_derived > 0\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Fees'' AS Allocation_type,\n t.fee_charges_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.fee_charges_outstanding_derived > 0\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Penalty'' AS Allocation_type,\n t.penalty_charges_outstanding_derived AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.penalty_charges_outstanding_derived > 0\n UNION ALL\n SELECT ''${endDate}'' AS transactiondate,\n t.id,\n t.name AS product,\n 99999 AS transaction_type,\n null AS payment_type_id,\n null AS classification_name,\n '''' AS chargetype,\n false AS reversal_indicator,\n ''Unallocated Credit (UNC)'' AS Allocation_type,\n t.total_overpaid_derived * -1 AS amount,\n null AS asset_owner_id,\n CASE\n WHEN t.charged_off_on_date <= t.settlement_date\n THEN t.charge_off_reason_cv_id END AS charge_off_reason_id,\n t.owner_id AS from_asset_owner_id,\n t.originator_external_ids\n FROM buyback_external_asset_owner_transfers AS t\n WHERE t.total_overpaid_derived > 0) a\nGROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype,\n a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id,\n a.originator_external_ids\nORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11', '', 'f', 't', 'f'); + + +-- Data for Name: m_report_mailing_job; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_report_mailing_job_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_report_mailing_job_configuration (id, name, value) VALUES ('1', 'GMAIL_SMTP_SERVER', 'smtp.gmail.com'); +INSERT INTO public.m_report_mailing_job_configuration (id, name, value) VALUES ('2', 'GMAIL_SMTP_PORT', '587'); +INSERT INTO public.m_report_mailing_job_configuration (id, name, value) VALUES ('3', 'GMAIL_SMTP_USERNAME', ''); +INSERT INTO public.m_report_mailing_job_configuration (id, name, value) VALUES ('4', 'GMAIL_SMTP_PASSWORD', ''); + + +-- Data for Name: m_report_mailing_job_run_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_role_permission; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_role_permission (role_id, permission_id) VALUES ('1', '1'); +INSERT INTO public.m_role_permission (role_id, permission_id) VALUES ('1', '959'); +INSERT INTO public.m_role_permission (role_id, permission_id) VALUES ('1', '960'); + + +-- Data for Name: m_savings_account_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account_charge_paid_by; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account_interest_rate_chart; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account_interest_rate_slab; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_tax_component; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_account_transaction_tax_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_interest_incentives; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_officer_assignment_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_savings_product_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_account_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_account_charge_paid_by; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_product_dividend_pay_out; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_account_dividend_details; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_product_charge; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_share_product_market_price; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_staff_assignment_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_surveys; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_survey_components; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_survey_lookup_tables; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_survey_questions; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_survey_responses; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_survey_scorecards; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_tax_component_history; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_tax_group_mappings; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_template_m_templatemappers; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_templatemappers; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_trial_balance; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: m_working_days; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.m_working_days (id, recurrence, repayment_rescheduling_enum, extend_term_daily_repayments, extend_term_holiday_repayment) VALUES ('1', 'FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU', '2', 'f', 'f'); + + +-- Data for Name: mix_taxonomy; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('1', 'AdministrativeExpense', '1', NULL, '3', NULL, 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('2', 'Assets', '3', NULL, '1', 'All outstanding principals due for all outstanding client loans. This includes current, delinquent, and renegotiated loans, but not loans that have been written off. It does not include interest receivable.', 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('3', 'Assets', '3', 'MaturityDimension:LessThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('4', 'Assets', '3', 'MaturityDimension:MoreThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('5', 'CashAndCashEquivalents', '1', NULL, '1', NULL, 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('6', 'Deposits', '3', NULL, '1', 'The total value of funds placed in an account with an MFI that are payable to a depositor. This item includes any current, checking, or savings accounts that are payable on demand. It also includes time deposits which have a fixed maturity date and compulsory deposits.', 't'); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('7', 'Deposits', '3', 'DepositProductsDimension:CompulsoryMember', '1', 'The value of deposits that an MFI''s clients are required to maintain as a condition of an existing or future loan.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('8', 'Deposits', '3', 'DepositProductsDimension:VoluntaryMember', '1', 'The value of deposits that an MFI''s clients are not required to maintain as a condition of an existing or future loan.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('9', 'Deposits', '3', 'LocationDimension:RuralMember', '1', 'Located in rural areas. Segmentation based on location.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('10', 'Deposits', '3', 'LocationDimension:UrbanMember', '1', 'Located in urban areas. Segmentation based on location.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('11', 'Deposits', '3', 'MaturityDimension:LessThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('12', 'Deposits', '3', 'MaturityDimension:MoreThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('13', 'EmployeeBenefitsExpense', '1', NULL, '3', NULL, NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('14', 'Equity', '1', NULL, '1', NULL, NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('15', 'Expense', '1', NULL, '3', NULL, NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('16', 'FinancialExpense', '3', NULL, '3', 'All costs All costs incurred in raising funds from third parties, fee expenses from non-financial services, net gains (losses) due to changes in fair value of financial liabilities, impairment losses net of reversals of financial assets other than loan portfolio and net gains (losses) from restatement of financial statements in terms of the measuring unit current at the end of the reporting period.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('17', 'FinancialRevenueOnLoans', '3', NULL, '2', 'Interest and non-interest income generated by the provision of credit services to the clients. Fees and commissions for late payment are also included.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('18', 'ImpairmentLossAllowanceGrossLoanPortfolio', '3', NULL, '2', 'An allowance for the risk of losses in the gross loan portfolio due to default .', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('19', 'Liabilities', '1', NULL, '1', NULL, NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('20', 'Liabilities', '3', 'MaturityDimension:LessThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('21', 'Liabilities', '3', 'MaturityDimension:MoreThanOneYearMember', '1', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('22', 'LoanPortfolioGross', '3', NULL, '2', 'All outstanding principals due for all outstanding client loans. This includes current, delinquent, and renegotiated loans, but not loans that have been written off. It does not include interest receivable.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('23', 'LoanPortfolioGross', '3', 'CreditProductsDimension:MicroenterpriseMember', '2', 'Loans that finance the production or trade of goods and services for an individual''s microenterprise, whether or not the microenterprise is legally registered. Segmentation based on loan product.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('24', 'LoanPortfolioGross', '3', 'DelinquencyDimension:OneMonthOrMoreMember', '2', 'Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated. Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('25', 'LoanPortfolioGross', '3', 'DelinquencyDimension:ThreeMonthsOrMoreMember', '2', 'Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.? Segmentation based on the principal balance of all loans outstanding that have one or more installments of principal past due or renegotiated.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('26', 'LoanPortfolioGross', '3', 'LocationDimension:RuralMember', '2', 'Located in rural areas. Segmentation based on geographic location.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('27', 'LoanPortfolioGross', '3', 'LocationDimension:UrbanMember', '2', 'Located in urbal areas. Segmentation based on geographic location.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('28', 'LoanPortfolioGross', '3', 'MaturityDimension:LessThanOneYearMember', '2', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('29', 'LoanPortfolioGross', '3', 'MaturityDimension:MoreThanOneYearMember', '2', 'Segmentation based on the life of an asset or liability.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('30', 'NetLoanLoss', '3', '', '3', 'Referred to the value of delinquency loans written off net of any principal recovery.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('31', 'NetLoanLossProvisionExpense', '3', NULL, '3', 'Represent the net value of loan portfolio impairment loss considering any reversal on impairment loss and any recovery on loans written off recognized as a income during the accounting period.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('32', 'NetOperatingIncome', '3', NULL, '2', 'Total operating revenue less all expenses related to the MFI''s core financial service operation including total financial expense, impairment loss and operating expense. Donations are excluded.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('33', 'NetOperatingIncomeNetOfTaxExpense', '3', NULL, '3', 'Net operating income reported incorporating the effect of taxes. Taxes include all domestic and foreign taxes which are based on taxable profits, other taxes related to personnel, financial transactions or value-added taxes are not considered in calculation of this value.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('34', 'NumberOfActiveBorrowers', '3', NULL, '0', 'The number of individuals who currently have an outstanding loan balance with the MFI or are primarily responsible for repaying any portion of the gross loan portfolio. Individuals who have multiple loans with an MFI should be counted as a single borrower.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('35', 'NumberOfActiveBorrowers', '3', 'GenderDimension:FemaleMember', '0', 'The number of individuals who currently have an outstanding loan balance with the MFI or are primarily responsible for repaying any portion of the gross loan portfolio. Individuals who have multiple loans with an MFI should be counted as a single borrower.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('36', 'NumberOfBoardMembers', '3', 'GenderDimension:FemaleMember', '0', 'The number of members that comprise the board of directors at the end of the reporting period who are female.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('37', 'NumberOfDepositAccounts', '3', NULL, '0', 'The number of individuals who currently have funds on deposit with the MFI on a voluntary basis; i.e., they are not required to maintain the deposit account to access a loan. This number applies only to deposits held by an MFI, not to those deposits held in other institutions by the MFI''s clients. The number should be based on the number of individuals rather than the number of groups. A single deposit account may represent multiple depositors.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('38', 'NumberOfDepositors', '3', '', '0', 'The number of deposit accounts, both voluntary and compulsory, opened at the MFI whose balances the institution is liable to repay. The number should be based on the number of individual accounts rather than on the number of groups.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('39', 'NumberOfEmployees', '3', NULL, '0', 'The number of individuals who are actively employed by an entity. This number includes contract employees or advisors who dedicate a substantial portion of their time to the entity, even if they are not on the entity''s employees roster.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('40', 'NumberOfEmployees', '3', 'GenderDimension:FemaleMember', '0', 'The number of individuals who are actively employed by an entity. This number includes contract employees or advisors who dedicate a substantial portion of their time to the entity, even if they are not on the entity''s employees roster.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('41', 'NumberOfLoanOfficers', '3', NULL, '0', 'The number of employees whose main activity is to manage a portion of the gross loan portfolio. A loan officer is a staff member of record who is directly responsible for arranging and monitoring client loans.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('42', 'NumberOfLoanOfficers', '3', 'GenderDimension:FemaleMember', '0', 'The number of employees whose main activity is to manage a portion of the gross loan portfolio. A loan officer is a staff member of record who is directly responsible for arranging and monitoring client loans.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('43', 'NumberOfManagers', '3', 'GenderDimension:FemaleMember', '0', 'The number of members that comprise the management of the institution who are female.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('44', 'NumberOfOffices', '3', NULL, '0', 'The number of staffed points of service and administrative sites used to deliver or support the delivery of financial services to microfinance clients.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('45', 'NumberOfOutstandingLoans', '3', NULL, '0', 'The number of loans in the gross loan portfolio. For MFIs using a group lending methodology, the number of loans should refer to the number of individuals receiving loans as part of a group or as part of a group loan.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('46', 'OperatingExpense', '3', NULL, '3', 'Includes expenses not related to financial and credit loss impairment, such as personnel expenses, depreciation, amortization and administrative expenses.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('47', 'OperatingIncome', '3', NULL, '2', 'Includes all financial income and other operating revenue which is generated from non-financial services. Operating income also includes net gains (losses) from holding financial assets (changes on their values during the period and foreign exchange differences). Donations or any revenue not related with an MFI''s core business of making loans and providing financial services are not considered under this category.', NULL); +INSERT INTO public.mix_taxonomy (id, name, namespace_id, dimension, type, description, need_mapping) VALUES ('48', 'WriteOffsOnGrossLoanPortfolio', '3', NULL, '2', 'The value of loans that have been recognized as uncollectible for accounting purposes. A write-off is an accounting procedure that removes the outstanding balance of the loan from the gross loan portfolio and impairment loss allowance. Thus, the write-off does not affect the net loan portfolio, total assets, or any equity account. If the impairment loss allowance is insufficient to cover the amount written off, the excess amount will result in an additional impairment loss on loans recognised in profit or loss of the period.', NULL); + + +-- Data for Name: mix_taxonomy_mapping; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.mix_taxonomy_mapping (id, identifier, config, last_update_date, currency) VALUES ('1', 'default', NULL, NULL, ''); + + +-- Data for Name: mix_xbrl_namespace; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('1', 'ifrs', 'http://xbrl.iasb.org/taxonomy/2009-04-01/ifrs'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('2', 'iso4217', 'http://www.xbrl.org/2003/iso4217'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('3', 'mix', 'http://www.themix.org/INT/fr/ifrs/basi/YYYY-MM-DD/mx-cor'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('4', 'xbrldi', 'http://xbrl.org/2006/xbrldi'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('5', 'xbrli', 'http://www.xbrl.org/2003/instance'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('6', 'link', 'http://www.xbrl.org/2003/linkbase'); +INSERT INTO public.mix_xbrl_namespace (id, prefix, url) VALUES ('7', 'dc-all', 'http://www.themix.org/INT/fr/ifrs/basi/2010-08-31/dc-all'); + + +-- Data for Name: notification_generator; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: notification_mapper; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: oauth_access_token; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: oauth_client_details; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.oauth_client_details (client_id, resource_ids, client_secret, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove) VALUES ('community-app', NULL, '{SHA-256}a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3', 'all', 'password,refresh_token', NULL, NULL, NULL, NULL, NULL, NULL); + + +-- Data for Name: oauth_refresh_token; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: ppi_likelihoods; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: ppi_likelihoods_ppi; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: ppi_scores; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('1', '0', '4'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('2', '5', '9'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('3', '10', '14'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('4', '15', '19'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('5', '20', '24'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('6', '25', '29'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('7', '30', '34'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('8', '35', '39'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('9', '40', '44'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('10', '45', '49'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('11', '50', '54'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('12', '55', '59'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('13', '60', '64'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('14', '65', '69'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('15', '70', '74'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('16', '75', '79'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('17', '80', '84'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('18', '85', '89'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('19', '90', '94'); +INSERT INTO public.ppi_scores (id, score_from, score_to) VALUES ('20', '95', '100'); + + +-- Data for Name: r_enum_value; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('account_type_type_enum', '0', 'INVALID', 'INVALID', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('account_type_type_enum', '1', 'INDIVIDUAL', 'INDIVIDUAL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('account_type_type_enum', '2', 'GROUP', 'GROUP', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('account_type_type_enum', '3', 'JLG', 'JLG', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '1', 'FUND_SOURCE', 'FUND_SOURCE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '2', 'LOAN_PORTFOLIO', 'LOAN_PORTFOLIO', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '3', 'INTEREST_ON_LOANS', 'INTEREST_ON_LOANS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '4', 'INCOME_FROM_FEES', 'INCOME_FROM_FEES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '5', 'INCOME_FROM_PENALTIES', 'INCOME_FROM_PENALTIES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '6', 'LOSSES_WRITTEN_OFF', 'LOSSES_WRITTEN_OFF', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '7', 'INTEREST_RECEIVABLE', 'INTEREST_RECEIVABLE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '8', 'FEES_RECEIVABLE', 'FEES_RECEIVABLE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '9', 'PENALTIES_RECEIVABLE', 'PENALTIES_RECEIVABLE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '10', 'TRANSFERS_SUSPENSE', 'TRANSFERS_SUSPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '11', 'OVERPAYMENT', 'OVERPAYMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('accrual_accounts_for_loan_type_enum', '12', 'INCOME_FROM_RECOVERY', 'INCOME_FROM_RECOVERY', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('amortization_method_enum', '0', 'Equal principle payments', 'Equal principle payments', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('amortization_method_enum', '1', 'Equal installments', 'Equal installments', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '0', 'INVALID', 'INVALID', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '1', 'CLIENTS', 'CLIENTS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '2', 'GROUPS', 'GROUPS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '3', 'LOANS', 'LOANS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '4', 'CENTERS', 'CENTERS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '5', 'SAVINGS', 'SAVINGS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '6', 'LOAN_RECALCULATION_REST_DETAIL', 'LOAN_RECALCULATION_REST_DETAIL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('calendar_type_enum', '7', 'LOAN_RECALCULATION_COMPOUNDING_DETAIL', 'LOAN_RECALCULATION_COMPOUNDING_DETAIL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '1', 'FUND_SOURCE', 'FUND_SOURCE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '2', 'LOAN_PORTFOLIO', 'LOAN_PORTFOLIO', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '3', 'INTEREST_ON_LOANS', 'INTEREST_ON_LOANS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '4', 'INCOME_FROM_FEES', 'INCOME_FROM_FEES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '5', 'INCOME_FROM_PENALTIES', 'INCOME_FROM_PENALTIES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '6', 'LOSSES_WRITTEN_OFF', 'LOSSES_WRITTEN_OFF', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '10', 'TRANSFERS_SUSPENSE', 'TRANSFERS_SUSPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '11', 'OVERPAYMENT', 'OVERPAYMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_loan_type_enum', '12', 'INCOME_FROM_RECOVERY', 'INCOME_FROM_RECOVERY', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '1', 'SAVINGS_REFERENCE', 'SAVINGS_REFERENCE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '2', 'SAVINGS_CONTROL', 'SAVINGS_CONTROL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '3', 'INTEREST_ON_SAVINGS', 'INTEREST_ON_SAVINGS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '4', 'INCOME_FROM_FEES', 'INCOME_FROM_FEES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '5', 'INCOME_FROM_PENALTIES', 'INCOME_FROM_PENALTIES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '10', 'TRANSFERS_SUSPENSE', 'TRANSFERS_SUSPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '11', 'OVERDRAFT_PORTFOLIO_CONTROL', 'OVERDRAFT_PORTFOLIO_CONTROL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_accounts_for_savings_type_enum', '12', 'INCOME_FROM_INTEREST', 'INCOME_FROM_INTEREST', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_account_for_shares_type_enum', '1', 'SHARES_REFERENCE', 'SHARES_REFERENCE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_account_for_shares_type_enum', '2', 'SHARES_SUSPENSE', 'SHARES_SUSPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_account_for_shares_type_enum', '3', 'INCOME_FROM_FEES', 'INCOME_FROM_FEES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('cash_account_for_shares_type_enum', '4', 'SHARES_EQUITY', 'SHARES_EQUITY', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('client_transaction_type_enum', '1', 'PAY_CHARGE', 'PAY_CHARGE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('client_transaction_type_enum', '2', 'WAIVE_CHARGE', 'WAIVE_CHARGE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '1', 'CLIENT', 'CLIENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '2', 'LOAN', 'LOAN', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '3', 'SAVINGS', 'SAVINGS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '4', 'CENTER', 'CENTER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '5', 'GROUP', 'GROUP', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('entity_account_type_enum', '6', 'SHARES', 'SHARES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '100', 'ASSET_TRANSFER', 'ASSET_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '101', 'CASH_AT_MAINVAULT', 'CASH_AT_MAINVAULT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '102', 'CASH_AT_TELLER', 'CASH_AT_TELLER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '103', 'ASSET_FUND_SOURCE', 'ASSET_FUND_SOURCE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '200', 'LIABILITY_TRANSFER', 'LIABILITY_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '201', 'PAYABLE_DIVIDENDS', 'PAYABLE_DIVIDENDS', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('financial_activity_type_enum', '300', 'OPENING_BALANCES_TRANSFER_CONTRA', 'OPENING_BALANCES_TRANSFER_CONTRA', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('glaccount_type_enum', '1', 'ASSET', 'ASSET', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('glaccount_type_enum', '2', 'LIABILITY', 'LIABILITY', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('glaccount_type_enum', '3', 'EQUITY', 'EQUITY', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('glaccount_type_enum', '4', 'INCOME', 'INCOME', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('glaccount_type_enum', '5', 'EXPENSE', 'EXPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_calculated_in_period_enum', '0', 'Daily', 'Daily', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_calculated_in_period_enum', '1', 'Same as repayment period', 'Same as repayment period', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_method_enum', '0', 'Declining Balance', 'Declining Balance', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_method_enum', '1', 'Flat', 'Flat', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_period_frequency_enum', '2', 'Per month', 'Per month', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('interest_period_frequency_enum', '3', 'Per year', 'Per year', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('journal_entry_type_type_enum', '1', 'CREDIT', 'CREDIT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('journal_entry_type_type_enum', '2', 'DEBIT', 'DEBIT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '0', 'Invalid', 'Invalid', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '100', 'Submitted and awaiting approval', 'Submitted and awaiting approval', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '200', 'Approved', 'Approved', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '300', 'Active', 'Active', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '400', 'Withdrawn by client', 'Withdrawn by client', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '500', 'Rejected', 'Rejected', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '600', 'Closed', 'Closed', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '601', 'Written-Off', 'Written-Off', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '602', 'Rescheduled', 'Rescheduled', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_status_id', '700', 'Overpaid', 'Overpaid', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '1', 'mifos-standard-strategy', 'Mifos style', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '2', 'heavensfamily-strategy', 'Heavensfamily', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '3', 'creocore-strategy', 'Creocore', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '4', 'rbi-india-strategy', 'RBI (India)', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '0', 'INVALID', 'INVALID', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '1', 'DISBURSEMENT', 'DISBURSEMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '2', 'REPAYMENT', 'REPAYMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '3', 'CONTRA', 'CONTRA', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '4', 'WAIVE_INTEREST', 'WAIVE_INTEREST', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '5', 'REPAYMENT_AT_DISBURSEMENT', 'REPAYMENT_AT_DISBURSEMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '6', 'WRITEOFF', 'WRITEOFF', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '7', 'MARKED_FOR_RESCHEDULING', 'MARKED_FOR_RESCHEDULING', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '8', 'RECOVERY_REPAYMENT', 'RECOVERY_REPAYMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '9', 'WAIVE_CHARGES', 'WAIVE_CHARGES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '10', 'ACCRUAL', 'ACCRUAL', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '12', 'INITIATE_TRANSFER', 'INITIATE_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '13', 'APPROVE_TRANSFER', 'APPROVE_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '14', 'WITHDRAW_TRANSFER', 'WITHDRAW_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '15', 'REJECT_TRANSFER', 'REJECT_TRANSFER', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '16', 'REFUND', 'REFUND', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '17', 'CHARGE_PAYMENT', 'CHARGE_PAYMENT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '18', 'REFUND_FOR_ACTIVE_LOAN', 'REFUND_FOR_ACTIVE_LOAN', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_type_enum', '19', 'INCOME_POSTING', 'INCOME_POSTING', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_type_enum', '1', 'Individual Loan', 'Individual Loan', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_type_enum', '2', 'Group Loan', 'Group Loan', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('portfolio_account_type_enum', '1', 'LOAN', 'LOAN', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('portfolio_account_type_enum', '2', 'SAVING', 'EXPENSE', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('portfolio_account_type_enum', '3', 'PROVISIONING', 'PROVISIONING', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('portfolio_account_type_enum', '4', 'SHARES', 'SHARES', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '0', 'invalid', 'Invalid', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '1', 'processed', 'Processed', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '2', 'awaiting.approval', 'Awaiting Approval', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '3', 'rejected', 'Rejected', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('repayment_period_frequency_enum', '0', 'Days', 'Days', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('repayment_period_frequency_enum', '1', 'Weeks', 'Weeks', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('repayment_period_frequency_enum', '2', 'Months', 'Months', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '0', 'INVALID', 'INVALID', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '1', 'deposit', 'deposit', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '2', 'withdrawal', 'withdrawal', 't'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '3', 'Interest Posting', 'Interest Posting', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '4', 'Withdrawal Fee', 'Withdrawal Fee', 't'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '5', 'Annual Fee', 'Annual Fee', 't'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '6', 'Waive Charge', 'Waive Charge', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '7', 'Pay Charge', 'Pay Charge', 't'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '8', 'DIVIDEND_PAYOUT', 'DIVIDEND_PAYOUT', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '12', 'Initiate Transfer', 'Initiate Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '13', 'Approve Transfer', 'Approve Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '14', 'Withdraw Transfer', 'Withdraw Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '15', 'Reject Transfer', 'Reject Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '16', 'Written-Off', 'Written-Off', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '17', 'Overdraft Interest', 'Overdraft Interest', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('savings_transaction_type_enum', '19', 'WITHHOLD_TAX', 'WITHHOLD_TAX', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('status_enum', '0', 'Invalid', 'Invalid', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('status_enum', '100', 'Pending', 'Pending', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('status_enum', '300', 'Active', 'Active', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('status_enum', '600', 'Closed', 'Closed', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('teller_status', '300', 'Active', 'Active', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('teller_status', '400', 'Inactive', 'Inactive', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('teller_status', '600', 'Closed', 'Closed', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('term_period_frequency_enum', '0', 'Days', 'Days', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('term_period_frequency_enum', '1', 'Weeks', 'Weeks', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('term_period_frequency_enum', '2', 'Months', 'Months', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('term_period_frequency_enum', '3', 'Years', 'Years', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '1', 'Disbursement', 'Disbursement', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '2', 'Repayment', 'Repayment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '3', 'Contra', 'Contra', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '4', 'Waive Interest', 'Waive Interest', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '5', 'Repayment At Disbursement', 'Repayment At Disbursement', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '6', 'Write-Off', 'Write-Off', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '7', 'Marked for Rescheduling', 'Marked for Rescheduling', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '8', 'Recovery Repayment', 'Recovery Repayment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '9', 'Waive Charges', 'Waive Charges', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '10', 'Apply Charges', 'Apply Charges', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '11', 'Apply Interest', 'Apply Interest', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '12', 'Initiate Transfer', 'Initiate Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '13', 'Approve Transfer', 'Approve Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '14', 'Withdraw Transfer', 'Withdraw Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '15', 'Reject Transfer', 'Reject Transfer', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '16', 'Refund', 'Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '17', 'Charge Payment', 'Charge Payment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '18', 'Refund for Active Loan', 'Refund for Active Loan', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '19', 'Income Posting', 'Income Posting', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '20', 'Credit Balance Refund', 'Credit Balance Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '21', 'Merchant Issued Refund', 'Merchant Issued Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '22', 'Payout Refund', 'Payout Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '23', 'Goodwill Credit', 'Goodwill Credit', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '24', 'Charge Refund', 'Charge Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '25', 'Chargeback', 'Chargeback', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '26', 'Charge Adjustment', 'Charge Adjustment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '27', 'Charge-off', 'Charge-off', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '8', 'Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest', 'Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('loan_transaction_strategy_id', '9', 'Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee', 'Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '31', 'Interest Payment Waiver', 'Interest Payment Waiver', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '32', 'Accrual Activity', 'Accrual Activity', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '33', 'Interest Refund', 'Interest Refund', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '36', 'Capitalized Income Amortization', 'Capitalized Income Amortization', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '37', 'Capitalized Income Adjustment', 'Capitalized Income Adjustment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '39', 'Capitalized Income Amortization Adjustment', 'Capitalized Income Amortization Adjustment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '40', 'Buy Down Fee', 'Buy Down Fee', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '41', 'Buy Down Fee Adjustment', 'Buy Down Fee Adjustment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '42', 'Buy Down Fee Amortization', 'Buy Down Fee Amortization', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('transaction_type_enum', '43', 'Buy Down Fee Amortization Adjustment', 'Buy Down Fee Amortization Adjustment', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '4', 'underProcessing', 'Under Processing', 'f'); +INSERT INTO public.r_enum_value (enum_name, enum_id, enum_message_property, enum_value, enum_type) VALUES ('processing_result_enum', '5', 'error', 'Error', 'f'); + + +-- Data for Name: ref_loan_transaction_processing_strategy; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('1', 'mifos-standard-strategy', 'Penalties, Fees, Interest, Principal order', '1'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('2', 'heavensfamily-strategy', 'HeavensFamily Unique', '6'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('3', 'creocore-strategy', 'Creocore Unique', '7'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('4', 'rbi-india-strategy', 'Overdue/Due Fee/Int,Principal', '2'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('5', 'principal-interest-penalties-fees-order-strategy', 'Principal, Interest, Penalties, Fees Order', '3'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('6', 'interest-principal-penalties-fees-order-strategy', 'Interest, Principal, Penalties, Fees Order', '4'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('7', 'early-repayment-strategy', 'Early Repayment Strategy', '5'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('8', 'due-penalty-fee-interest-principal-in-advance-principal-penalty-fee-interest-strategy', 'Due penalty, fee, interest, principal, In advance principal, penalty, fee, interest', '8'); +INSERT INTO public.ref_loan_transaction_processing_strategy (id, code, name, sort_order) VALUES ('9', 'due-penalty-interest-principal-fee-in-advance-penalty-interest-principal-fee-strategy', 'Due penalty, interest, principal, fee, In advance penalty, interest, principal, fee', '9'); + + +-- Data for Name: request_audit_table; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: rpt_sequence; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: scheduled_email_campaign; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: scheduled_email_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.scheduled_email_configuration (id, name, value) VALUES ('1', 'SMTP_SERVER', NULL); +INSERT INTO public.scheduled_email_configuration (id, name, value) VALUES ('2', 'SMTP_PORT', NULL); +INSERT INTO public.scheduled_email_configuration (id, name, value) VALUES ('3', 'SMTP_USERNAME', NULL); +INSERT INTO public.scheduled_email_configuration (id, name, value) VALUES ('4', 'SMTP_PASSWORD', NULL); + + +-- Data for Name: scheduled_email_messages_outbound; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: scheduler_detail; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.scheduler_detail (id, is_suspended, execute_misfired_jobs, reset_scheduler_on_bootup) VALUES ('1', 'f', 't', 't'); + + +-- Data for Name: sms_campaign; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: sms_messages_outbound; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: stretchy_parameter; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1', 'startDateSelect', 'startDate', 'startDate', 'date', 'date', 'today', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('2', 'endDateSelect', 'endDate', 'endDate', 'date', 'date', 'today', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('3', 'obligDateTypeSelect', 'obligDateType', 'obligDateType', 'select', 'number', '0', NULL, NULL, NULL, 'select * from (select 1 as id, ''Closed'' AS name union all select 2, ''Disbursal'' ) x order by x.id', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('5', 'OfficeIdSelectOne', 'officeId', 'Office', 'select', 'number', '0', NULL, 'Y', NULL, 'select id, concat(substring(''........................................'', 1, ((LENGTH(hierarchy) - LENGTH(REPLACE(hierarchy, ''.'', '''')) - 1) * 4)), name) as tc from m_office where hierarchy like concat(''${currentUserHierarchy}'', ''%'') order by hierarchy', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('6', 'loanOfficerIdSelectAll', 'loanOfficerId', 'Loan Officer', 'select', 'number', '0', NULL, NULL, 'Y', '(select lo.id, lo.display_name AS name from m_office o join m_office ounder on ounder.hierarchy like concat(o.hierarchy, ''%'') join m_staff lo on lo.office_id = ounder.id where lo.is_loan_officer = true and o.id = ''${officeId}'') union all (select -10, ''-'') order by 2', '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('10', 'currencyIdSelectAll', 'currencyId', 'Currency', 'select', 'number', '0', NULL, NULL, 'Y', 'select code, name from m_organisation_currency order by code', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('20', 'fundIdSelectAll', 'fundId', 'Fund', 'select', 'number', '0', NULL, NULL, 'Y', '(select id, name from m_fund) union all (select -10, ''-'') order by 2', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('26', 'loanPurposeIdSelectAll', 'loanPurposeId', 'Loan Purpose', 'select', 'number', '0', NULL, NULL, 'Y', 'select -10 as id, ''-'' as code_value union all select * from (select v.id, v.code_value from m_code c join m_code_value v on v.code_id = c.id where c.code_name = ''loanPurpose'' order by v.order_position) x', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('100', 'parTypeSelect', 'parType', 'parType', 'select', 'number', '0', NULL, NULL, NULL, 'select * from (select 1 as id, ''Principal Only'' AS name union all select 2, ''Principal + Interest'' union all select 3, ''Principal + Interest + Fees'' union all select 4, ''Principal + Interest + Fees + Penalties'') x order by x.id', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1004', 'selectAccount', 'accountNo', 'Enter Account No', 'text', 'string', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1005', 'savingsProductIdSelectAll', 'savingsProductId', 'Product', 'select', 'number', '0', NULL, NULL, 'Y', 'select p.id, p.name from m_savings_product p order by 2', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1006', 'transactionId', 'transactionId', 'transactionId', 'text', 'string', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1007', 'selectCenterId', 'centerId', 'Enter Center Id', 'text', 'string', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1008', 'SelectGLAccountNO', 'GLAccountNO', 'GLAccountNO', 'select', 'number', '0', NULL, NULL, NULL, 'select id aid,name aname from acc_gl_account', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1009', 'asOnDate', 'asOn', 'As On', 'date', 'date', 'today', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1010', 'SavingsAccountSubStatus', 'subStatus', 'SavingsAccountDormancyStatus', 'select', 'number', '100', NULL, NULL, NULL, 'select * from (select 100 as id, ''Inactive'' as name union all select 200 as id, ''Dormant'' as name union all select 300 as id, ''Escheat'' as name) x order by x.id', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1011', 'cycleXSelect', 'cycleX', 'Cycle X Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1012', 'cycleYSelect', 'cycleY', 'Cycle Y Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1013', 'fromXSelect', 'fromX', 'From X Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1014', 'toYSelect', 'toY', 'To Y Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1015', 'overdueXSelect', 'overdueX', 'Overdue X Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1016', 'overdueYSelect', 'overdueY', 'Overdue Y Number', 'text', 'number', 'n/a', NULL, NULL, NULL, NULL, NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1017', 'DefaultLoan', 'loanId', 'Loan', 'none', 'number', '-1', NULL, NULL, 'Y', 'select ml.id from m_loan ml left join m_client mc on mc.id = ml.client_id left join m_office mo on mo.id = mc.office_id where mo.id = ''${officeId}'' or ''${officeId}'' = -1', '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1018', 'DefaultClient', 'clientId', 'Client', 'none', 'number', '-1', NULL, NULL, 'Y', 'select mc.id from m_client mc left join m_office mo on mc.office_id = mo.id where mo.id = ''${officeId}'' or ''${officeId}'' = -1', '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1019', 'DefaultGroup', 'groupId', 'Group', 'none', 'number', '-1', NULL, NULL, 'Y', 'select mg.id from m_group mg left join m_office mo on mg.office_id = mo.id where mo.id = ''${officeId}'' or ''${officeId}'' = -1', '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1020', 'SelectLoanType', 'loanType', 'Loan Type', 'select', 'number', '-1', NULL, NULL, 'Y', 'select enum_id as id, enum_value as value from r_enum_value where enum_name = ''loan_type_enum''', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1021', 'DefaultSavings', 'savingsId', 'Savings', 'none', 'number', '-1', NULL, NULL, 'Y', NULL, '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1022', 'DefaultSavingsTransactionId', 'savingsTransactionId', 'Savings Transaction', 'none', 'number', '-1', NULL, NULL, 'Y', NULL, '5'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('25', 'loanProductIdSelectAll', 'loanProductId', 'Product', 'select', 'number', '0', NULL, NULL, 'Y', 'select p.id, p.name\r\nfrom m_product_loan p\r\nwhere (p.currency_code = ''${currencyId}'' or ''-1''= ''${currencyId}'')\r\norder by 2', '10'); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1002', 'FullParameterList', NULL, 'n/a', 'n/a', 'n/a', 'n/a', 'Y', NULL, NULL, 'select sp.parameter_name, sp.parameter_variable, sp.parameter_label, sp."parameter_displayType", sp."parameter_FormatType", sp.parameter_default, sp."selectOne", sp."selectAll", spp.parameter_name as parentParameterName from stretchy_parameter sp left join stretchy_parameter spp on spp.id = sp.parent_id where sp.special is null and exists (select ''f'' from stretchy_report sr join stretchy_report_parameter srp on srp.report_id = sr.id where sr.report_name in(${reportListing}) and srp.parameter_id = sp.id ) order by sp.id', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1003', 'reportCategoryList', NULL, 'n/a', 'n/a', 'n/a', 'n/a', 'Y', NULL, NULL, 'select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\n rp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id\n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.report_category = ''${reportCategory}''\n and r.use_report is true\n and exists\n (select ''f''\n from m_appuser_role ur \n join m_role rr on rr.id = ur.role_id\n join m_role_permission rp on rp.role_id = rr.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (''ALL_FUNCTIONS_READ'', ''ALL_FUNCTIONS'') or p.code = concat(''READ_'', r.report_name)) )\n order by r.report_category, r.report_name, rp.id', NULL); +INSERT INTO public.stretchy_parameter (id, parameter_name, parameter_variable, parameter_label, "parameter_displayType", "parameter_FormatType", parameter_default, special, "selectOne", "selectAll", parameter_sql, parent_id) VALUES ('1001', 'FullReportList', NULL, 'n/a', 'n/a', 'n/a', 'n/a', 'Y', NULL, NULL, 'select r.id as report_id, r.report_name, r.report_type, r.report_subtype, r.report_category,\nrp.id as parameter_id, rp.report_parameter_name, p.parameter_name\n from stretchy_report r\n left join stretchy_report_parameter rp on rp.report_id = r.id \n left join stretchy_parameter p on p.id = rp.parameter_id\n where r.use_report is true\n and exists\n ( select ''f''\n from m_appuser_role ur \n join m_role rr on rr.id = ur.role_id\n join m_role_permission rp on rp.role_id = rr.id\n join m_permission p on p.id = rp.permission_id\n where ur.appuser_id = ${currentUserId}\n and (p.code in (''ALL_FUNCTIONS_READ'', ''ALL_FUNCTIONS'') or p.code = concat(''READ_'', r.report_name)) )\n order by r.report_category, r.report_name, rp.id', NULL); + + +-- Data for Name: stretchy_report_parameter; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('1', '1', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('2', '2', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('3', '2', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('4', '2', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('5', '2', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('6', '2', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('7', '2', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('8', '5', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('9', '5', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('10', '5', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('11', '5', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('12', '5', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('13', '5', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('14', '6', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('15', '6', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('16', '6', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('17', '6', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('18', '6', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('19', '6', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('20', '7', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('21', '7', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('22', '7', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('23', '7', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('24', '7', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('25', '7', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('26', '8', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('27', '8', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('28', '8', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('29', '8', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('30', '8', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('31', '11', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('32', '11', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('33', '11', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('34', '11', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('35', '11', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('36', '11', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('37', '11', '100', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('38', '12', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('39', '12', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('40', '12', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('41', '12', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('42', '12', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('43', '12', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('44', '13', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('45', '13', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('46', '13', '3', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('47', '13', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('48', '13', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('49', '13', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('50', '13', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('51', '13', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('52', '13', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('53', '14', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('54', '14', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('55', '14', '3', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('56', '14', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('57', '14', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('58', '14', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('59', '14', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('60', '14', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('61', '14', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('62', '15', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('63', '15', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('64', '15', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('65', '15', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('66', '15', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('67', '15', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('68', '15', '100', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('69', '16', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('70', '16', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('71', '16', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('72', '16', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('73', '16', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('74', '16', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('75', '16', '100', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('76', '20', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('77', '20', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('78', '20', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('79', '20', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('80', '21', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('81', '21', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('82', '21', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('83', '21', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('84', '21', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('93', '51', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('94', '51', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('95', '51', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('96', '51', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('97', '51', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('98', '52', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('99', '53', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('100', '53', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('101', '54', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('102', '54', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('103', '54', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('104', '54', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('105', '54', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('106', '55', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('107', '55', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('108', '55', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('109', '55', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('110', '55', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('111', '55', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('112', '56', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('113', '56', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('114', '56', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('115', '56', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('116', '56', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('117', '56', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('118', '56', '100', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('119', '57', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('120', '57', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('121', '57', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('122', '57', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('123', '57', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('124', '57', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('125', '58', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('126', '58', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('127', '58', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('128', '58', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('129', '58', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('130', '58', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('131', '58', '100', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('132', '59', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('133', '59', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('134', '59', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('135', '59', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('136', '59', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('137', '59', '20', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('138', '59', '25', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('139', '59', '26', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('140', '61', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('141', '61', '10', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('145', '93', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('146', '93', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('147', '93', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('148', '93', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('256', '106', '2', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('257', '106', '6', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('258', '106', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('259', '106', '1', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('418', '149', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('419', '150', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('420', '151', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('421', '152', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('422', '153', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('423', '154', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('424', '155', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('425', '156', '5', ''); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('441', '165', '1010', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('442', '165', '5', NULL); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('443', '166', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('444', '166', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('445', '167', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('446', '167', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('447', '168', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('448', '168', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('449', '168', '1011', 'cycleX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('450', '168', '1012', 'cycleY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('451', '169', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('452', '169', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('453', '169', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('454', '169', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('455', '170', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('456', '170', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('457', '170', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('458', '170', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('459', '171', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('460', '171', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('461', '172', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('462', '172', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('463', '173', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('464', '173', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('465', '173', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('466', '173', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('467', '173', '1015', 'overdueX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('468', '173', '1016', 'overdueY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('469', '174', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('470', '174', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('471', '174', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('472', '174', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('473', '175', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('474', '175', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('475', '175', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('476', '175', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('477', '175', '1015', 'overdueX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('478', '175', '1016', 'overdueY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('479', '176', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('480', '176', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('481', '177', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('482', '177', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('483', '177', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('484', '177', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('485', '178', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('486', '178', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('487', '178', '1013', 'fromX'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('488', '178', '1014', 'toY'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('489', '181', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('490', '180', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('491', '179', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('492', '181', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('493', '180', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('494', '179', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('495', '181', '1017', 'loanId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('496', '180', '1017', 'loanId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('497', '181', '1018', 'clientId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('498', '180', '1018', 'clientId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('499', '181', '1019', 'groupId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('500', '180', '1019', 'groupId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('501', '181', '1020', 'loanType'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('502', '180', '1020', 'loanType'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('503', '179', '1020', 'loanType'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('504', '182', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('505', '183', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('506', '182', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('507', '183', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('508', '182', '1018', 'clientId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('509', '183', '1018', 'clientId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('510', '184', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('511', '184', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('512', '184', '1021', 'savingsId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('513', '185', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('514', '185', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('515', '185', '1021', 'savingsId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('516', '186', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('517', '186', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('518', '186', '1022', 'savingsTransactionId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('519', '187', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('520', '187', '6', 'loanOfficerId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('521', '187', '1022', 'savingsTransactionId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('522', '193', '1', 'fromDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('523', '193', '5', 'branch'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('524', '193', '2', 'toDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('525', '194', '1008', 'GLAccountNO'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('526', '194', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('527', '194', '2', 'endDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('528', '194', '1', 'startDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('529', '196', '5', 'branch'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('530', '196', '2', 'date'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('531', '195', '5', 'branch'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('532', '195', '1', 'fromDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('533', '195', '2', 'toDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('534', '197', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('535', '197', '2', 'endDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('536', '198', '5', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('537', '198', '2', 'endDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('538', '199', '2', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('539', '199', '5', 'endDate'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('540', '200', '2', 'officeId'); +INSERT INTO public.stretchy_report_parameter (id, report_id, parameter_id, report_parameter_name) VALUES ('541', '200', '5', 'endDate'); + + +-- Data for Name: twofactor_access_token; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Data for Name: twofactor_configuration; Type: TABLE DATA; Schema: public; Owner: - + +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('1', 'otp-delivery-email-enable', 'true'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('2', 'otp-delivery-email-subject', 'Fineract Two-Factor Authentication Token'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('3', 'otp-delivery-email-body', 'Hello {{username}}.\nYour OTP login token is {{token}}.'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('4', 'otp-delivery-sms-enable', 'false'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('5', 'otp-delivery-sms-provider', '1'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('6', 'otp-delivery-sms-text', 'Your authentication token for Fineract is {{token}}.'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('7', 'otp-token-live-time', '300'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('8', 'otp-token-length', '5'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('9', 'access-token-live-time', '86400'); +INSERT INTO public.twofactor_configuration (id, name, value) VALUES ('10', 'access-token-live-time-extended', '604800'); + + +-- Data for Name: x_table_column_code_mappings; Type: TABLE DATA; Schema: public; Owner: - + + + +-- Name: acc_accounting_rule_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_accounting_rule_id_seq', 1, false); + + +-- Name: acc_gl_account_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_gl_account_id_seq', 1, false); + + +-- Name: acc_gl_closure_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_gl_closure_id_seq', 1, false); + + +-- Name: acc_gl_financial_activity_account_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_gl_financial_activity_account_id_seq', 1, false); + + +-- Name: acc_gl_journal_entry_annual_summary_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_gl_journal_entry_annual_summary_id_seq', 1, false); + + +-- Name: acc_gl_journal_entry_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_gl_journal_entry_id_seq', 1, false); + + +-- Name: acc_product_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_product_mapping_id_seq', 1, false); + + +-- Name: acc_rule_tags_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.acc_rule_tags_id_seq', 1, false); + + +-- Name: batch_custom_job_parameters_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.batch_custom_job_parameters_id_seq', 1, false); + + +-- Name: batch_job_execution_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.batch_job_execution_seq', 1, false); + + +-- Name: batch_job_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.batch_job_seq', 1, false); + + +-- Name: batch_step_execution_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.batch_step_execution_seq', 1, false); + + +-- Name: c_account_number_format_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.c_account_number_format_id_seq', 1, false); + + +-- Name: c_cache_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.c_cache_id_seq', 2, false); + + +-- Name: c_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.c_configuration_id_seq', 74, true); + + +-- Name: c_external_service_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.c_external_service_id_seq', 5, false); + + +-- Name: glim_accounts_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.glim_accounts_id_seq', 1, false); + + +-- Name: gsim_accounts_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.gsim_accounts_id_seq', 1, false); + + +-- Name: interop_identifier_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.interop_identifier_id_seq', 1, false); + + +-- Name: job_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.job_id_seq', 41, true); + + +-- Name: job_parameters_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.job_parameters_id_seq', 6, false); + + +-- Name: job_run_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.job_run_history_id_seq', 1, false); + + +-- Name: m_account_transfer_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_account_transfer_details_id_seq', 1, false); + + +-- Name: m_account_transfer_standing_instructions_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_account_transfer_standing_instructions_history_id_seq', 1, false); + + +-- Name: m_account_transfer_standing_instructions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_account_transfer_standing_instructions_id_seq', 1, false); + + +-- Name: m_account_transfer_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_account_transfer_transaction_id_seq', 1, false); + + +-- Name: m_address_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_address_id_seq', 1, false); + + +-- Name: m_adhoc_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_adhoc_id_seq', 1, false); + + +-- Name: m_appuser_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_appuser_id_seq', 4, false); + + +-- Name: m_appuser_previous_password_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_appuser_previous_password_id_seq', 1, false); + + +-- Name: m_batch_business_steps_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_batch_business_steps_id_seq', 6, true); + + +-- Name: m_business_date_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_business_date_id_seq', 1, false); + + +-- Name: m_calendar_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_calendar_history_id_seq', 1, false); + + +-- Name: m_calendar_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_calendar_id_seq', 1, false); + + +-- Name: m_calendar_instance_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_calendar_instance_id_seq', 1, false); + + +-- Name: m_cashier_transactions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_cashier_transactions_id_seq', 1, false); + + +-- Name: m_cashiers_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_cashiers_id_seq', 1, false); + + +-- Name: m_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_charge_id_seq', 1, false); + + +-- Name: m_client_address_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_address_id_seq', 1, false); + + +-- Name: m_client_attendance_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_attendance_id_seq', 1, false); + + +-- Name: m_client_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_charge_id_seq', 1, false); + + +-- Name: m_client_charge_paid_by_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_charge_paid_by_id_seq', 1, false); + + +-- Name: m_client_collateral_management_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_collateral_management_id_seq', 1, false); + + +-- Name: m_client_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_id_seq', 1, false); + + +-- Name: m_client_identifier_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_identifier_id_seq', 1, false); + + +-- Name: m_client_non_person_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_non_person_id_seq', 1, false); + + +-- Name: m_client_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_transaction_id_seq', 1, false); + + +-- Name: m_client_transfer_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_client_transfer_details_id_seq', 1, false); + + +-- Name: m_code_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_code_id_seq', 39, true); + + +-- Name: m_code_value_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_code_value_id_seq', 15, false); + + +-- Name: m_collateral_management_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_collateral_management_id_seq', 1, false); + + +-- Name: m_creditbureau_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_creditbureau_configuration_id_seq', 9, false); + + +-- Name: m_creditbureau_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_creditbureau_id_seq', 2, false); + + +-- Name: m_creditbureau_loanproduct_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_creditbureau_loanproduct_mapping_id_seq', 1, false); + + +-- Name: m_creditbureau_token_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_creditbureau_token_id_seq', 1, false); + + +-- Name: m_creditreport_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_creditreport_id_seq', 1, false); + + +-- Name: m_currency_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_currency_id_seq', 165, false); + + +-- Name: m_delinquency_bucket_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_delinquency_bucket_id_seq', 1, false); + + +-- Name: m_delinquency_bucket_mappings_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_delinquency_bucket_mappings_id_seq', 1, false); + + +-- Name: m_delinquency_range_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_delinquency_range_id_seq', 1, false); + + +-- Name: m_deposit_account_on_hold_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_deposit_account_on_hold_transaction_id_seq', 1, false); + + +-- Name: m_deposit_account_recurring_detail_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_deposit_account_recurring_detail_id_seq', 1, false); + + +-- Name: m_deposit_account_term_and_preclosure_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_deposit_account_term_and_preclosure_id_seq', 1, false); + + +-- Name: m_deposit_product_recurring_detail_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_deposit_product_recurring_detail_id_seq', 1, false); + + +-- Name: m_deposit_product_term_and_preclosure_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_deposit_product_term_and_preclosure_id_seq', 1, false); + + +-- Name: m_document_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_document_id_seq', 1, false); + + +-- Name: m_entity_datatable_check_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_entity_datatable_check_id_seq', 1, false); + + +-- Name: m_entity_relation_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_entity_relation_id_seq', 6, false); + + +-- Name: m_entity_to_entity_access_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_entity_to_entity_access_id_seq', 1, false); + + +-- Name: m_entity_to_entity_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_entity_to_entity_mapping_id_seq', 1, false); + + +-- Name: m_external_event_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_external_event_id_seq', 1, false); + + +-- Name: m_family_members_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_family_members_id_seq', 1, false); + + +-- Name: m_field_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_field_configuration_id_seq', 19, false); + + +-- Name: m_floating_rates_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_floating_rates_id_seq', 1, false); + + +-- Name: m_floating_rates_periods_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_floating_rates_periods_id_seq', 1, false); + + +-- Name: m_fund_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_fund_id_seq', 1, false); + + +-- Name: m_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_group_id_seq', 1, false); + + +-- Name: m_group_level_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_group_level_id_seq', 3, false); + + +-- Name: m_group_roles_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_group_roles_id_seq', 1, false); + + +-- Name: m_guarantor_funding_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_guarantor_funding_details_id_seq', 1, false); + + +-- Name: m_guarantor_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_guarantor_id_seq', 1, false); + + +-- Name: m_guarantor_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_guarantor_transaction_id_seq', 1, false); + + +-- Name: m_holiday_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_holiday_id_seq', 1, false); + + +-- Name: m_hook_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_hook_configuration_id_seq', 1, false); + + +-- Name: m_hook_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_hook_id_seq', 1, false); + + +-- Name: m_hook_registered_events_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_hook_registered_events_id_seq', 1, false); + + +-- Name: m_hook_schema_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_hook_schema_id_seq', 12, false); + + +-- Name: m_hook_templates_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_hook_templates_id_seq', 5, false); + + +-- Name: m_image_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_image_id_seq', 1, false); + + +-- Name: m_import_document_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_import_document_id_seq', 1, false); + + +-- Name: m_interest_incentives_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_interest_incentives_id_seq', 1, false); + + +-- Name: m_interest_rate_chart_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_interest_rate_chart_id_seq', 1, false); + + +-- Name: m_interest_rate_slab_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_interest_rate_slab_id_seq', 1, false); + + +-- Name: m_journal_entry_aggregation_summary_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_journal_entry_aggregation_summary_id_seq', 1, false); + + +-- Name: m_journal_entry_aggregation_tracking_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_journal_entry_aggregation_tracking_id_seq', 1, false); + + +-- Name: m_loan_amortization_allocation_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_amortization_allocation_mapping_id_seq', 1, false); + + +-- Name: m_loan_approved_amount_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_approved_amount_history_id_seq', 1, false); + + +-- Name: m_loan_arrears_aging_loan_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_arrears_aging_loan_id_seq', 1, false); + + +-- Name: m_loan_buy_down_fee_balance_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_buy_down_fee_balance_id_seq', 1, false); + + +-- Name: m_loan_capitalized_income_balance_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_capitalized_income_balance_id_seq', 1, false); + + +-- Name: m_loan_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_charge_id_seq', 1, false); + + +-- Name: m_loan_charge_paid_by_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_charge_paid_by_id_seq', 1, false); + + +-- Name: m_loan_collateral_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_collateral_id_seq', 1, false); + + +-- Name: m_loan_collateral_management_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_collateral_management_id_seq', 1, false); + + +-- Name: m_loan_delinquency_tag_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_delinquency_tag_history_id_seq', 1, false); + + +-- Name: m_loan_disbursement_detail_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_disbursement_detail_id_seq', 1, false); + + +-- Name: m_loan_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_id_seq', 1, false); + + +-- Name: m_loan_installment_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_installment_charge_id_seq', 1, false); + + +-- Name: m_loan_interest_recalculation_additional_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_interest_recalculation_additional_details_id_seq', 1, false); + + +-- Name: m_loan_officer_assignment_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_officer_assignment_history_id_seq', 1, false); + + +-- Name: m_loan_overdue_installment_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_overdue_installment_charge_id_seq', 1, false); + + +-- Name: m_loan_reage_parameter_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_reage_parameter_id_seq', 1, false); + + +-- Name: m_loan_recalculation_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_recalculation_details_id_seq', 1, false); + + +-- Name: m_loan_repayment_schedule_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_repayment_schedule_history_id_seq', 1, false); + + +-- Name: m_loan_repayment_schedule_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_repayment_schedule_id_seq', 1, false); + + +-- Name: m_loan_reschedule_request_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_reschedule_request_id_seq', 1, false); + + +-- Name: m_loan_reschedule_request_term_variations_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_reschedule_request_term_variations_mapping_id_seq', 1, false); + + +-- Name: m_loan_term_variations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_term_variations_id_seq', 1, false); + + +-- Name: m_loan_topup_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_topup_id_seq', 1, false); + + +-- Name: m_loan_tranche_charges_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_tranche_charges_id_seq', 1, false); + + +-- Name: m_loan_tranche_disbursement_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_tranche_disbursement_charge_id_seq', 1, false); + + +-- Name: m_loan_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_transaction_id_seq', 1, false); + + +-- Name: m_loan_transaction_relation_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_transaction_relation_id_seq', 1, false); + + +-- Name: m_loan_transaction_repayment_schedule_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loan_transaction_repayment_schedule_mapping_id_seq', 1, false); + + +-- Name: m_loanproduct_provisioning_entry_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loanproduct_provisioning_entry_id_seq', 1, false); + + +-- Name: m_loanproduct_provisioning_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_loanproduct_provisioning_mapping_id_seq', 1, false); + + +-- Name: m_mandatory_savings_schedule_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_mandatory_savings_schedule_id_seq', 1, false); + + +-- Name: m_meeting_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_meeting_id_seq', 1, false); + + +-- Name: m_note_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_note_id_seq', 1, false); + + +-- Name: m_office_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_office_id_seq', 2, false); + + +-- Name: m_office_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_office_transaction_id_seq', 1, false); + + +-- Name: m_organisation_creditbureau_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_organisation_creditbureau_id_seq', 1, false); + + +-- Name: m_organisation_currency_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_organisation_currency_id_seq', 22, false); + + +-- Name: m_password_validation_policy_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_password_validation_policy_id_seq', 3, true); + + +-- Name: m_payment_detail_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_payment_detail_id_seq', 1, false); + + +-- Name: m_payment_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_payment_type_id_seq', 3, true); + + +-- Name: m_permission_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_permission_id_seq', 960, true); + + +-- Name: m_portfolio_account_associations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_portfolio_account_associations_id_seq', 1, false); + + +-- Name: m_portfolio_command_source_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_portfolio_command_source_id_seq', 1, false); + + +-- Name: m_product_loan_configurable_attributes_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_configurable_attributes_id_seq', 1, false); + + +-- Name: m_product_loan_floating_rates_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_floating_rates_id_seq', 1, false); + + +-- Name: m_product_loan_guarantee_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_guarantee_details_id_seq', 1, false); + + +-- Name: m_product_loan_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_id_seq', 1, false); + + +-- Name: m_product_loan_recalculation_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_recalculation_details_id_seq', 1, false); + + +-- Name: m_product_loan_variable_installment_config_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_variable_installment_config_id_seq', 1, false); + + +-- Name: m_product_loan_variations_borrower_cycle_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_loan_variations_borrower_cycle_id_seq', 1, false); + + +-- Name: m_product_mix_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_product_mix_id_seq', 1, false); + + +-- Name: m_provision_category_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_provision_category_id_seq', 5, false); + + +-- Name: m_provisioning_criteria_definition_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_provisioning_criteria_definition_id_seq', 1, false); + + +-- Name: m_provisioning_criteria_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_provisioning_criteria_id_seq', 1, false); + + +-- Name: m_provisioning_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_provisioning_history_id_seq', 1, false); + + +-- Name: m_rate_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_rate_id_seq', 1, false); + + +-- Name: m_repayment_with_post_dated_checks_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_repayment_with_post_dated_checks_id_seq', 1, false); + + +-- Name: m_report_mailing_job_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_report_mailing_job_configuration_id_seq', 5, false); + + +-- Name: m_report_mailing_job_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_report_mailing_job_id_seq', 1, false); + + +-- Name: m_report_mailing_job_run_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_report_mailing_job_run_history_id_seq', 1, false); + + +-- Name: m_role_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_role_id_seq', 3, false); + + +-- Name: m_savings_account_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_charge_id_seq', 1, false); + + +-- Name: m_savings_account_charge_paid_by_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_charge_paid_by_id_seq', 1, false); + + +-- Name: m_savings_account_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_id_seq', 1, false); + + +-- Name: m_savings_account_interest_rate_chart_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_interest_rate_chart_id_seq', 1, false); + + +-- Name: m_savings_account_interest_rate_slab_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_interest_rate_slab_id_seq', 1, false); + + +-- Name: m_savings_account_transaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_transaction_id_seq', 1, false); + + +-- Name: m_savings_account_transaction_tax_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_account_transaction_tax_details_id_seq', 1, false); + + +-- Name: m_savings_interest_incentives_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_interest_incentives_id_seq', 1, false); + + +-- Name: m_savings_officer_assignment_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_officer_assignment_history_id_seq', 1, false); + + +-- Name: m_savings_product_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_savings_product_id_seq', 1, false); + + +-- Name: m_share_account_charge_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_account_charge_id_seq', 1, false); + + +-- Name: m_share_account_charge_paid_by_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_account_charge_paid_by_id_seq', 1, false); + + +-- Name: m_share_account_dividend_details_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_account_dividend_details_id_seq', 1, false); + + +-- Name: m_share_account_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_account_id_seq', 1, false); + + +-- Name: m_share_account_transactions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_account_transactions_id_seq', 1, false); + + +-- Name: m_share_product_dividend_pay_out_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_product_dividend_pay_out_id_seq', 1, false); + + +-- Name: m_share_product_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_product_id_seq', 1, false); + + +-- Name: m_share_product_market_price_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_share_product_market_price_id_seq', 1, false); + + +-- Name: m_staff_assignment_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_staff_assignment_history_id_seq', 1, false); + + +-- Name: m_staff_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_staff_id_seq', 1, false); + + +-- Name: m_survey_components_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_survey_components_id_seq', 1, false); + + +-- Name: m_survey_lookup_tables_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_survey_lookup_tables_id_seq', 1, false); + + +-- Name: m_survey_questions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_survey_questions_id_seq', 1, false); + + +-- Name: m_survey_responses_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_survey_responses_id_seq', 1, false); + + +-- Name: m_survey_scorecards_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_survey_scorecards_id_seq', 1, false); + + +-- Name: m_surveys_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_surveys_id_seq', 1, false); + + +-- Name: m_tax_component_history_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_tax_component_history_id_seq', 1, false); + + +-- Name: m_tax_component_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_tax_component_id_seq', 1, false); + + +-- Name: m_tax_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_tax_group_id_seq', 1, false); + + +-- Name: m_tax_group_mappings_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_tax_group_mappings_id_seq', 1, false); + + +-- Name: m_tellers_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_tellers_id_seq', 1, false); + + +-- Name: m_template_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_template_id_seq', 1, false); + + +-- Name: m_templatemappers_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_templatemappers_id_seq', 1, false); + + +-- Name: m_working_days_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.m_working_days_id_seq', 2, false); + + +-- Name: mix_taxonomy_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.mix_taxonomy_id_seq', 49, false); + + +-- Name: mix_taxonomy_mapping_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.mix_taxonomy_mapping_id_seq', 2, false); + + +-- Name: mix_xbrl_namespace_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.mix_xbrl_namespace_id_seq', 8, false); + + +-- Name: notification_generator_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.notification_generator_id_seq', 1, false); + + +-- Name: notification_mapper_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.notification_mapper_id_seq', 1, false); + + +-- Name: ppi_likelihoods_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.ppi_likelihoods_id_seq', 1, false); + + +-- Name: ppi_likelihoods_ppi_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.ppi_likelihoods_ppi_id_seq', 1, false); + + +-- Name: ppi_scores_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.ppi_scores_id_seq', 21, false); + + +-- Name: ref_loan_transaction_processing_strategy_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.ref_loan_transaction_processing_strategy_id_seq', 8, false); + + +-- Name: request_audit_table_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.request_audit_table_id_seq', 1, false); + + +-- Name: rpt_sequence_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.rpt_sequence_id_seq', 1, false); + + +-- Name: scheduled_email_campaign_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.scheduled_email_campaign_id_seq', 1, false); + + +-- Name: scheduled_email_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.scheduled_email_configuration_id_seq', 5, false); + + +-- Name: scheduled_email_messages_outbound_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.scheduled_email_messages_outbound_id_seq', 1, false); + + +-- Name: scheduler_detail_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.scheduler_detail_id_seq', 2, false); + + +-- Name: sms_campaign_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.sms_campaign_id_seq', 1, false); + + +-- Name: sms_messages_outbound_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.sms_messages_outbound_id_seq', 1, false); + + +-- Name: stretchy_parameter_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.stretchy_parameter_id_seq', 1023, false); + + +-- Name: stretchy_report_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.stretchy_report_id_seq', 200, true); + + +-- Name: stretchy_report_parameter_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.stretchy_report_parameter_id_seq', 541, true); + + +-- Name: twofactor_access_token_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.twofactor_access_token_id_seq', 1, false); + + +-- Name: twofactor_configuration_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - + +SELECT pg_catalog.setval('public.twofactor_configuration_id_seq', 11, false); + + +-- PostgreSQL database dump complete diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0003_postgresql_specific_initial_data.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0003_postgresql_specific_initial_data.xml deleted file mode 100644 index f9b257816eb..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0003_postgresql_specific_initial_data.xml +++ /dev/null @@ -1,1446 +0,0 @@ - - - - - ANY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ANY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT SETVAL('c_cache_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_cache; - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - SELECT SETVAL('c_external_service_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_external_service; - SELECT SETVAL('job_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM job; - SELECT SETVAL('job_parameters_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM job_parameters; - SELECT SETVAL('m_appuser_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_appuser; - SELECT SETVAL('m_code_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_code; - SELECT SETVAL('m_code_value_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_code_value; - SELECT SETVAL('m_creditbureau_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_creditbureau; - SELECT SETVAL('m_creditbureau_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_creditbureau_configuration; - SELECT SETVAL('m_currency_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_currency; - SELECT SETVAL('m_entity_relation_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_entity_relation; - SELECT SETVAL('m_field_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_field_configuration; - SELECT SETVAL('m_group_level_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_group_level; - SELECT SETVAL('m_hook_schema_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_hook_schema; - SELECT SETVAL('m_hook_templates_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_hook_templates; - SELECT SETVAL('m_office_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_office; - SELECT SETVAL('m_organisation_currency_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_organisation_currency; - SELECT SETVAL('m_password_validation_policy_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_password_validation_policy; - SELECT SETVAL('m_payment_type_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_payment_type; - SELECT SETVAL('m_permission_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_permission; - SELECT SETVAL('m_provision_category_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_provision_category; - SELECT SETVAL('m_report_mailing_job_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_report_mailing_job_configuration; - SELECT SETVAL('m_role_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_role; - SELECT SETVAL('m_working_days_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM m_working_days; - SELECT SETVAL('mix_taxonomy_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM mix_taxonomy; - SELECT SETVAL('mix_taxonomy_mapping_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM mix_taxonomy_mapping; - SELECT SETVAL('mix_xbrl_namespace_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM mix_xbrl_namespace; - SELECT SETVAL('ppi_scores_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM ppi_scores; - SELECT SETVAL('ref_loan_transaction_processing_strategy_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM ref_loan_transaction_processing_strategy; - SELECT SETVAL('scheduled_email_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM scheduled_email_configuration; - SELECT SETVAL('scheduler_detail_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM scheduler_detail; - SELECT SETVAL('topic_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM topic; - SELECT SETVAL('topic_subscriber_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM topic_subscriber; - SELECT SETVAL('stretchy_parameter_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM stretchy_parameter; - SELECT SETVAL('stretchy_report_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM stretchy_report; - SELECT SETVAL('stretchy_report_parameter_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM stretchy_report_parameter; - SELECT SETVAL('twofactor_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM twofactor_configuration; - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0004_camelcase_column_renaming.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0004_camelcase_column_renaming.xml deleted file mode 100644 index f67cfa07742..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0004_camelcase_column_renaming.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0005_savings_transaction_reversal.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0005_savings_transaction_reversal.xml deleted file mode 100644 index acb151a929d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0005_savings_transaction_reversal.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0006_product_loan_disallow_expected_disbursements.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0006_product_loan_disallow_expected_disbursements.xml deleted file mode 100644 index 8b044bcc97d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0006_product_loan_disallow_expected_disbursements.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0007_product_loan_higher_than_applied_loan_amount_management.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0007_product_loan_higher_than_applied_loan_amount_management.xml deleted file mode 100644 index fbb98be847c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0007_product_loan_higher_than_applied_loan_amount_management.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0008_loan_charge_add_external_id.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0008_loan_charge_add_external_id.xml deleted file mode 100644 index 3be973788c0..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0008_loan_charge_add_external_id.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0009_hold_reason_savings_account.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0009_hold_reason_savings_account.xml deleted file mode 100644 index d9e2d675510..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0009_hold_reason_savings_account.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0010_lien_allowed_on_savings_account_products.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0010_lien_allowed_on_savings_account_products.xml deleted file mode 100644 index 1630e1e9898..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0010_lien_allowed_on_savings_account_products.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0011_add_credit_balance_refund_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0011_add_credit_balance_refund_permission.xml deleted file mode 100644 index dd626b8d442..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0011_add_credit_balance_refund_permission.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0012_add_merchantissuedrefund_payoutrefund_goodwillcredit_permissions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0012_add_merchantissuedrefund_payoutrefund_goodwillcredit_permissions.xml deleted file mode 100644 index f8706a84493..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0012_add_merchantissuedrefund_payoutrefund_goodwillcredit_permissions.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0013_remove_topics.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0013_remove_topics.xml deleted file mode 100644 index 32a1f6727a7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0013_remove_topics.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0014_remove_unused_jobs.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0014_remove_unused_jobs.xml deleted file mode 100644 index c81da701ec1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0014_remove_unused_jobs.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Drop FK scheduledjobsFK - - - - - name='Update loan Summary' - - - name='Update Loan Paid In Advance' - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml deleted file mode 100644 index e1dc2d1a8ce..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8:f7e5e697680e1e81eca6566f2481b879 - 9:b718cd8075633322b555191f622ea0c4 - - - - - - - - - - - - - - - - - - - - - 8:cb7f67c27941deda1e83d317bd78dabd - 9:35ea9353e59b365b919b9982d16529ae - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0016_changed_unique_constraint_of_ref_no.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0016_changed_unique_constraint_of_ref_no.xml deleted file mode 100644 index ec83a13c7cd..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0016_changed_unique_constraint_of_ref_no.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0017_fix_stretchy_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0017_fix_stretchy_reports.xml deleted file mode 100644 index 331083ce243..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0017_fix_stretchy_reports.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - id='25' AND parameter_name='loanProductIdSelectAll' - - - - - - id='1002' AND parameter_name='FullParameterList' - - - - - - id='190' AND report_name='Loan Approved - Email' - - - - - - id='191' AND report_name='Loan Rejected - Email' - - - - - - id='192' AND report_name='Loan Repayment - Email' - - - - - - id='1001' AND parameter_name='FullReportList' - - - - - - id='1003' AND parameter_name='reportCategoryList' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0018_pentaho_reports_to_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0018_pentaho_reports_to_table.xml deleted file mode 100644 index 7c1e64e6af5..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0018_pentaho_reports_to_table.xml +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - report_name = 'GeneralLedgerReport Table' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0019_refactor_loan_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0019_refactor_loan_transaction.xml deleted file mode 100644 index 373a15845e8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0019_refactor_loan_transaction.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - 8:177f2e2cbac12752ede2182bbbfde6ae - - - - - - - - - - - - - - id='174' AND report_name='Loan payments received (Active Loans)' - - - - id='175' AND report_name='Loan payments received (Overdue Loans)' - - - - - - id='174' AND report_name='Loan payments received (Active Loans)' - - - - id='175' AND report_name='Loan payments received (Overdue Loans)' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0020_add_audit_entries.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0020_add_audit_entries.xml deleted file mode 100644 index 779bd1da230..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0020_add_audit_entries.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - report_name = 'Loan payments received (Active Loans)' - - - - report_name = 'Loan payments received (Overdue Loans)' - - - - - - report_name = 'Loan payments received (Active Loans)' - - - - report_name = 'Loan payments received (Overdue Loans)' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0021_add_spring_batch_db_structure.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0021_add_spring_batch_db_structure.xml deleted file mode 100644 index 935183ac597..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0021_add_spring_batch_db_structure.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - CREATE TABLE BATCH_JOB_INSTANCE ( - JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT , - JOB_NAME VARCHAR(100) NOT NULL, - JOB_KEY VARCHAR(32) NOT NULL, - constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) - ) ; - - CREATE TABLE BATCH_JOB_EXECUTION ( - JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT , - JOB_INSTANCE_ID BIGINT NOT NULL, - CREATE_TIME TIMESTAMP NOT NULL, - START_TIME TIMESTAMP DEFAULT NULL , - END_TIME TIMESTAMP DEFAULT NULL , - STATUS VARCHAR(10) , - EXIT_CODE VARCHAR(2500) , - EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED TIMESTAMP, - JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL, - constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) - references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) - ) ; - - CREATE TABLE BATCH_JOB_EXECUTION_PARAMS ( - JOB_EXECUTION_ID BIGINT NOT NULL , - TYPE_CD VARCHAR(6) NOT NULL , - KEY_NAME VARCHAR(100) NOT NULL , - STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP DEFAULT NULL , - LONG_VAL BIGINT , - DOUBLE_VAL DOUBLE PRECISION , - IDENTIFYING CHAR(1) NOT NULL , - constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ; - - CREATE TABLE BATCH_STEP_EXECUTION ( - STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT NOT NULL, - STEP_NAME VARCHAR(100) NOT NULL, - JOB_EXECUTION_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP DEFAULT NULL , - STATUS VARCHAR(10) , - COMMIT_COUNT BIGINT , - READ_COUNT BIGINT , - FILTER_COUNT BIGINT , - WRITE_COUNT BIGINT , - READ_SKIP_COUNT BIGINT , - WRITE_SKIP_COUNT BIGINT , - PROCESS_SKIP_COUNT BIGINT , - ROLLBACK_COUNT BIGINT , - EXIT_CODE VARCHAR(2500) , - EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED TIMESTAMP, - constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ; - - CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, - SHORT_CONTEXT VARCHAR(2500) NOT NULL, - SERIALIZED_CONTEXT TEXT , - constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) - ) ; - - CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( - JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, - SHORT_CONTEXT VARCHAR(2500) NOT NULL, - SERIALIZED_CONTEXT TEXT , - constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ; - - CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ MAXVALUE 9223372036854775807 NO CYCLE; - CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ MAXVALUE 9223372036854775807 NO CYCLE; - CREATE SEQUENCE BATCH_JOB_SEQ MAXVALUE 9223372036854775807 NO CYCLE; - - - - - - CREATE TABLE BATCH_JOB_INSTANCE ( - JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT , - JOB_NAME VARCHAR(100) NOT NULL, - JOB_KEY VARCHAR(32) NOT NULL, - constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_JOB_EXECUTION ( - JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT , - JOB_INSTANCE_ID BIGINT NOT NULL, - CREATE_TIME DATETIME(6) NOT NULL, - START_TIME DATETIME(6) DEFAULT NULL , - END_TIME DATETIME(6) DEFAULT NULL , - STATUS VARCHAR(10) , - EXIT_CODE VARCHAR(2500) , - EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED DATETIME(6), - JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL, - constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID) - references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_JOB_EXECUTION_PARAMS ( - JOB_EXECUTION_ID BIGINT NOT NULL , - TYPE_CD VARCHAR(6) NOT NULL , - KEY_NAME VARCHAR(100) NOT NULL , - STRING_VAL VARCHAR(250) , - DATE_VAL DATETIME(6) DEFAULT NULL , - LONG_VAL BIGINT , - DOUBLE_VAL DOUBLE PRECISION , - IDENTIFYING CHAR(1) NOT NULL , - constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_STEP_EXECUTION ( - STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY , - VERSION BIGINT NOT NULL, - STEP_NAME VARCHAR(100) NOT NULL, - JOB_EXECUTION_ID BIGINT NOT NULL, - START_TIME DATETIME(6) NOT NULL , - END_TIME DATETIME(6) DEFAULT NULL , - STATUS VARCHAR(10) , - COMMIT_COUNT BIGINT , - READ_COUNT BIGINT , - FILTER_COUNT BIGINT , - WRITE_COUNT BIGINT , - READ_SKIP_COUNT BIGINT , - WRITE_SKIP_COUNT BIGINT , - PROCESS_SKIP_COUNT BIGINT , - ROLLBACK_COUNT BIGINT , - EXIT_CODE VARCHAR(2500) , - EXIT_MESSAGE VARCHAR(2500) , - LAST_UPDATED DATETIME(6), - constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, - SHORT_CONTEXT VARCHAR(2500) NOT NULL, - SERIALIZED_CONTEXT TEXT , - constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT ( - JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY, - SHORT_CONTEXT VARCHAR(2500) NOT NULL, - SERIALIZED_CONTEXT TEXT , - constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID) - references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) - ) ENGINE=InnoDB; - - CREATE TABLE BATCH_STEP_EXECUTION_SEQ ( - ID BIGINT NOT NULL, - UNIQUE_KEY CHAR(1) NOT NULL, - constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) - ) ENGINE=InnoDB; - - INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_STEP_EXECUTION_SEQ); - - CREATE TABLE BATCH_JOB_EXECUTION_SEQ ( - ID BIGINT NOT NULL, - UNIQUE_KEY CHAR(1) NOT NULL, - constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) - ) ENGINE=InnoDB; - - INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_EXECUTION_SEQ); - - CREATE TABLE BATCH_JOB_SEQ ( - ID BIGINT NOT NULL, - UNIQUE_KEY CHAR(1) NOT NULL, - constraint UNIQUE_KEY_UN unique (UNIQUE_KEY) - ) ENGINE=InnoDB; - - INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp where not exists(select * from BATCH_JOB_SEQ); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0022_add_batch_business_step_configuration_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0022_add_batch_business_step_configuration_table.xml deleted file mode 100644 index 97a0987f3a4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0022_add_batch_business_step_configuration_table.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0023_use_the_proper_date_or_datetime_type.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0023_use_the_proper_date_or_datetime_type.xml deleted file mode 100644 index 2a2ea056248..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0023_use_the_proper_date_or_datetime_type.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0024_add_audit_entries.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0024_add_audit_entries.xml deleted file mode 100644 index 739751d047e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0024_add_audit_entries.xml +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - select count(*) from m_client - - - - - - - - - select count(*) from m_client - - - - - - - - - - select count(*) from m_loan - - - - - - - - - select count(*) from m_loan - - - - - - - - - - select count(*) from m_loan_transaction - - - - - - - - - select count(*) from m_loan_transaction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_client_transaction - - - - - - - - - select count(*) from m_client_transaction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_floating_rates - - - - - - - - - select count(*) from m_client_transaction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_floating_rates_periods - - - - - - - - - select count(*) from m_floating_rates_periods - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0025_add_audit_entries_to_journal_entry.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0025_add_audit_entries_to_journal_entry.xml deleted file mode 100644 index 156f83c7a87..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0025_add_audit_entries_to_journal_entry.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from acc_gl_journal_entry - - - - - - - select count(*) from acc_gl_journal_entry - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0026_reversals_for_reversed_transactions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0026_reversals_for_reversed_transactions.xml deleted file mode 100644 index 1fdbf358d7b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0026_reversals_for_reversed_transactions.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0027_add_charge_refund_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0027_add_charge_refund_permission.xml deleted file mode 100644 index 6738728d34b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0027_add_charge_refund_permission.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0028_add_charge_refund_charge_type_to_loan_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0028_add_charge_refund_charge_type_to_loan_transaction.xml deleted file mode 100644 index 5552d4d7365..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0028_add_charge_refund_charge_type_to_loan_transaction.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0029_add_delinquency_buckets.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0029_add_delinquency_buckets.xml deleted file mode 100644 index 5b8a6ccbe43..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0029_add_delinquency_buckets.xml +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml deleted file mode 100644 index 60778212f12..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_business_date - - - - - - - select count(*) from m_business_date - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0031_add_audit_entries_to_client_identifier.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0031_add_audit_entries_to_client_identifier.xml deleted file mode 100644 index fe3aca12086..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0031_add_audit_entries_to_client_identifier.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_client_identifier - - - - - - - select count(*) from m_client_identifier - - - - - - - select count(*) from m_client_identifier where created_by is null or last_modified_by is null - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0032_add_some_missing_indexes.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0032_add_some_missing_indexes.xml deleted file mode 100644 index 0935dea7851..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0032_add_some_missing_indexes.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0033_add_audit_entries_to_loan_repayment_schedule_installment.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0033_add_audit_entries_to_loan_repayment_schedule_installment.xml deleted file mode 100644 index 9144fea6613..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0033_add_audit_entries_to_loan_repayment_schedule_installment.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_loan_repayment_schedule - - - - - - - select count(*) from m_loan_repayment_schedule - - - - - - - select count(*) from m_loan_repayment_schedule where created_by is null or last_modified_by is null - - - - - - - - - - - - - - - - - - - select count(*) from m_loan_repayment_schedule_history - - - - - - - select count(*) from m_loan_repayment_schedule_history - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0034_add_audit_entries_to_note.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0034_add_audit_entries_to_note.xml deleted file mode 100644 index 19f519cdd51..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0034_add_audit_entries_to_note.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_note - - - - - - - select count(*) from m_note - - - - - - - select count(*) from m_note where created_by is null or last_modified_by is null - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0035_add_audit_entries_to_calendar.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0035_add_audit_entries_to_calendar.xml deleted file mode 100644 index 43204ed69e7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0035_add_audit_entries_to_calendar.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_calendar - - - - - - - select count(*) from m_calendar - - - - - - - select count(*) from m_calendar where created_by is null or last_modified_by is null - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0036_add_audit_entries_and_rework_command_source_datetime_fields.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0036_add_audit_entries_and_rework_command_source_datetime_fields.xml deleted file mode 100644 index f8eab38577d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0036_add_audit_entries_and_rework_command_source_datetime_fields.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - select count(*) from m_portfolio_command_source - - - - - - select count(*) from m_portfolio_command_source - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0037_add_loan_cob_job_data.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0037_add_loan_cob_job_data.xml deleted file mode 100644 index 573f5cdbd16..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0037_add_loan_cob_job_data.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - 9:d84ef333c3fa57cea3a6fd2af8f2fda4 - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0038_add_reversal_data_to_loan_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0038_add_reversal_data_to_loan_transaction.xml deleted file mode 100644 index 3b30d4bf594..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0038_add_reversal_data_to_loan_transaction.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0039_add_loan_account_locks.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0039_add_loan_account_locks.xml deleted file mode 100644 index 3d028e47c86..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0039_add_loan_account_locks.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0040_add_delinquency_tags_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0040_add_delinquency_tags_job.xml deleted file mode 100644 index b039f64e024..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0040_add_delinquency_tags_job.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9:408a769cb662027704a2c48170494480 - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0041_add_update_business_step_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0041_add_update_business_step_permission.xml deleted file mode 100644 index 2b0d2565b19..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0041_add_update_business_step_permission.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0042_table_report_query_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0042_table_report_query_fix.xml deleted file mode 100644 index 81447a84040..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0042_table_report_query_fix.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - report_name='GeneralLedgerReport Table' - - - - report_name='Income Statement Table' - - - - report_name='Balance Sheet Table' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0043_add_external_event_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0043_add_external_event_table.xml deleted file mode 100644 index 867eeb37ff9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0043_add_external_event_table.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0044_table_report_query_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0044_table_report_query_fix.xml deleted file mode 100644 index fb410da2f94..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0044_table_report_query_fix.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - report_name='GeneralLedgerReport Table' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0045_external_event_table_data_binary.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0045_external_event_table_data_binary.xml deleted file mode 100644 index 56cdc032da8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0045_external_event_table_data_binary.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0046_external_event_table_schema_info.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0046_external_event_table_schema_info.xml deleted file mode 100644 index 0a10244d05f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0046_external_event_table_schema_info.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0047_add_loan_delinquency_tags_business_step.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0047_add_loan_delinquency_tags_business_step.xml deleted file mode 100644 index aa841663626..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0047_add_loan_delinquency_tags_business_step.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0048_rework_loan_account_locks.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0048_rework_loan_account_locks.xml deleted file mode 100644 index b8540b205e8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0048_rework_loan_account_locks.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0049_add_send_asynchronous_events_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0049_add_send_asynchronous_events_job.xml deleted file mode 100644 index 12212b3de87..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0049_add_send_asynchronous_events_job.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - 9:2d837bbeff195e3f40203bda09a2872d - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0050_add_reverse_flag_disbursement_details.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0050_add_reverse_flag_disbursement_details.xml deleted file mode 100644 index fe24671a9a1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0050_add_reverse_flag_disbursement_details.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0051_external_event_table_category_info.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0051_external_event_table_category_info.xml deleted file mode 100644 index 80b839f803b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0051_external_event_table_category_info.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0052_loan_transaction_chargeback.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0052_loan_transaction_chargeback.xml deleted file mode 100644 index 638f126fe2b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0052_loan_transaction_chargeback.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0053_add_external_events_purge_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0053_add_external_events_purge_job.xml deleted file mode 100644 index 7b21cabd095..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0053_add_external_events_purge_job.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - 9:cc131e03908e195ec202018431087e61 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0054_additional_fields_loan_repayment_schedule.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0054_additional_fields_loan_repayment_schedule.xml deleted file mode 100644 index b5d41b42b03..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0054_additional_fields_loan_repayment_schedule.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0055_add_submitted_on_date_to_loan_charge.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0055_add_submitted_on_date_to_loan_charge.xml deleted file mode 100644 index a27aff8e931..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0055_add_submitted_on_date_to_loan_charge.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0056_add_external_event_default_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0056_add_external_event_default_configuration.xml deleted file mode 100644 index 4683e0c549e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0056_add_external_event_default_configuration.xml +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0057_add_principal_adjustments_to_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0057_add_principal_adjustments_to_loan.xml deleted file mode 100644 index 63ae38916c9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0057_add_principal_adjustments_to_loan.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0058_add_execute_inline_cob_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0058_add_execute_inline_cob_permission.xml deleted file mode 100644 index 69ee925260c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0058_add_execute_inline_cob_permission.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0059_add_spring_batch_loan_id_list_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0059_add_spring_batch_loan_id_list_table.xml deleted file mode 100644 index 49489101893..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0059_add_spring_batch_loan_id_list_table.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0060_add_job_name_to_command_source.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0060_add_job_name_to_command_source.xml deleted file mode 100644 index 245a2daa906..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0060_add_job_name_to_command_source.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0061_add_idempotency_key_to_command_source.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0061_add_idempotency_key_to_command_source.xml deleted file mode 100644 index 1bb48450d34..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0061_add_idempotency_key_to_command_source.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; - - - - - - - - - - idempotency_key is null - - - - - - - - - - - - - - - - ALTER TABLE m_portfolio_command_source MODIFY idempotency_key VARCHAR(50) not NULL - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0062_add_fraud_attribute_to_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0062_add_fraud_attribute_to_loan.xml deleted file mode 100644 index c5b283e2708..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0062_add_fraud_attribute_to_loan.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0063_add_permissions_for_external_event_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0063_add_permissions_for_external_event_configuration.xml deleted file mode 100644 index 0141a15749d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0063_add_permissions_for_external_event_configuration.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0064_refactor_loan_transaction_strategy.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0064_refactor_loan_transaction_strategy.xml deleted file mode 100644 index 14acd66af02..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0064_refactor_loan_transaction_strategy.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - loan_transaction_strategy_id = 1 - - - - - loan_transaction_strategy_id = 2 - - - - - loan_transaction_strategy_id = 3 - - - - - loan_transaction_strategy_id = 4 - - - - - loan_transaction_strategy_id = 5 - - - - - loan_transaction_strategy_id = 6 - - - - - loan_transaction_strategy_id = 7 - - - - - - - - - - - - - - - - - loan_transaction_strategy_id = 1 - - - - - loan_transaction_strategy_id = 2 - - - - - loan_transaction_strategy_id = 3 - - - - - loan_transaction_strategy_id = 4 - - - - - loan_transaction_strategy_id = 5 - - - - - loan_transaction_strategy_id = 6 - - - - - loan_transaction_strategy_id = 7 - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0065_add_bypass_loan_write_transaction_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0065_add_bypass_loan_write_transaction_permission.xml deleted file mode 100644 index c411b5ec453..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0065_add_bypass_loan_write_transaction_permission.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0066_delinquency_classification_chargeback.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0066_delinquency_classification_chargeback.xml deleted file mode 100644 index d7b17251e6d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0066_delinquency_classification_chargeback.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0067_add_configurations_for_repayment_due_business_steps.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0067_add_configurations_for_repayment_due_business_steps.xml deleted file mode 100644 index 21e456af800..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0067_add_configurations_for_repayment_due_business_steps.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0068_loan_charge_adjustment.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0068_loan_charge_adjustment.xml deleted file mode 100644 index 0204b516cd7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0068_loan_charge_adjustment.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0069_add_unique_constraint_for_reversal_external_id_of_loan_transactions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0069_add_unique_constraint_for_reversal_external_id_of_loan_transactions.xml deleted file mode 100644 index a84cf0d53a1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0069_add_unique_constraint_for_reversal_external_id_of_loan_transactions.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0070_add_event_configuration_for_delinquency_range_change_event.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0070_add_event_configuration_for_delinquency_range_change_event.xml deleted file mode 100644 index 7a653df427b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0070_add_event_configuration_for_delinquency_range_change_event.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0071_add_external_id_support_for_loan_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0071_add_external_id_support_for_loan_transaction.xml deleted file mode 100644 index d864e6b7e1b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0071_add_external_id_support_for_loan_transaction.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0072_add_result_and_status_to_command_source.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0072_add_result_and_status_to_command_source.xml deleted file mode 100644 index 3634527dff2..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0072_add_result_and_status_to_command_source.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0073_add_result_status_code_to_command_source.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0073_add_result_status_code_to_command_source.xml deleted file mode 100644 index 8bfe9d9558f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0073_add_result_status_code_to_command_source.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0074_add_last_cob_business_date_column_to_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0074_add_last_cob_business_date_column_to_loan.xml deleted file mode 100644 index 9bf126b79d7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0074_add_last_cob_business_date_column_to_loan.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0075_add_processed_commands_purge_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0075_add_processed_commands_purge_job.xml deleted file mode 100644 index 39fb869b6d8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0075_add_processed_commands_purge_job.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - 9:161fdb8b4eaab8b34dc5239e7546d65f - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0076_add_loan_transaction_enum_values.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0076_add_loan_transaction_enum_values.xml deleted file mode 100644 index 5667a1dfd8e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0076_add_loan_transaction_enum_values.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0077_add_overpaid_date_for_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0077_add_overpaid_date_for_loan.xml deleted file mode 100644 index b40a2b43c00..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0077_add_overpaid_date_for_loan.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0078_add_configuration_cob_bulk_event.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0078_add_configuration_cob_bulk_event.xml deleted file mode 100644 index 9f4a8c2a361..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0078_add_configuration_cob_bulk_event.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0079_add_charge_off_details_to_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0079_add_charge_off_details_to_loan.xml deleted file mode 100644 index 8fb616f3435..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0079_add_charge_off_details_to_loan.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0080_add_external_event_configuration_for_stayed_locked_loans_business_event.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0080_add_external_event_configuration_for_stayed_locked_loans_business_event.xml deleted file mode 100644 index 17dbc174699..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0080_add_external_event_configuration_for_stayed_locked_loans_business_event.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0081_add_configuration_event_producer_batch_size.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0081_add_configuration_event_producer_batch_size.xml deleted file mode 100644 index 52e5cb5b235..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0081_add_configuration_event_producer_batch_size.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0082_add_external_event_default_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0082_add_external_event_default_configuration.xml deleted file mode 100644 index e43dd849cfb..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0082_add_external_event_default_configuration.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0083_add_loan_transaction_enum_values.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0083_add_loan_transaction_enum_values.xml deleted file mode 100644 index d760fe1ef61..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0083_add_loan_transaction_enum_values.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0084_add_general_accounting_table_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0084_add_general_accounting_table_reports.xml deleted file mode 100644 index 07854d7da3e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0084_add_general_accounting_table_reports.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - INSERT INTO stretchy_report_parameter (report_id, parameter_id, report_parameter_name) VALUES - ((SELECT id FROM stretchy_report WHERE report_name = 'Trial Balance Summary Report'), 5, 'officeId'); - - - INSERT INTO stretchy_report_parameter (report_id, parameter_id, report_parameter_name) VALUES - ((SELECT id FROM stretchy_report WHERE report_name = 'Trial Balance Summary Report'), 2, 'endDate'); - - - - - - - - - - - - - - - - - - - INSERT INTO stretchy_report_parameter (report_id, parameter_id, report_parameter_name) VALUES - ((SELECT id FROM stretchy_report WHERE report_name = 'Transaction Summary Report'), 5, 'officeId'); - - - INSERT INTO stretchy_report_parameter (report_id, parameter_id, report_parameter_name) VALUES - ((SELECT id FROM stretchy_report WHERE report_name = 'Transaction Summary Report'), 2, 'endDate'); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0085_add_aggregate_root_id_external_events.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0085_add_aggregate_root_id_external_events.xml deleted file mode 100644 index 906fc50b3cf..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0085_add_aggregate_root_id_external_events.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0086_add_cob_business_date_to_loan_account_locks.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0086_add_cob_business_date_to_loan_account_locks.xml deleted file mode 100644 index 409fc273a05..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0086_add_cob_business_date_to_loan_account_locks.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0087_update_dashboard_table_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0087_update_dashboard_table_reports.xml deleted file mode 100644 index 6ceb0a712f9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0087_update_dashboard_table_reports.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - report_name = 'Disbursal_Vs_Awaitingdisbursal' - - - - report_name = 'Demand_Vs_Collection' - - - - - - - id='149' AND report_name = 'ClientTrendsByDay' - - - - - - - id='150' AND report_name = 'ClientTrendsByWeek' - - - - - - - id='151' AND report_name = 'ClientTrendsByMonth' - - - - - - - id='152' AND report_name = 'LoanTrendsByDay' - - - - - - - id='153' AND report_name = 'LoanTrendsByWeek' - - - - - - - id='154' AND report_name = 'LoanTrendsByMonth' - - - - - - - id='149' AND report_name = 'ClientTrendsByDay' - - - - - - - id='150' AND report_name = 'ClientTrendsByWeek' - - - - - - - id='151' AND report_name = 'ClientTrendsByMonth' - - - - - - - id='152' AND report_name = 'LoanTrendsByDay' - - - - - - - id='153' AND report_name = 'LoanTrendsByWeek' - - - - - - - id='154' AND report_name = 'LoanTrendsByMonth' - - - - - - - id='155' AND report_name = 'Demand Vs Collection' - - - - - - - id='156' AND report_name = 'Disbursal Vs Awaitingdisbursal' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0088_drop_m_loan_transaction_version_column.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0088_drop_m_loan_transaction_version_column.xml deleted file mode 100644 index 19dbb287da3..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0088_drop_m_loan_transaction_version_column.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0089_add_update_loan_arrears_aging_business_step.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0089_add_update_loan_arrears_aging_business_step.xml deleted file mode 100644 index 3ca99f3956f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0089_add_update_loan_arrears_aging_business_step.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0090_add_report_export_s3_folder_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0090_add_report_export_s3_folder_configuration.xml deleted file mode 100644 index 1050bfc44e4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0090_add_report_export_s3_folder_configuration.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0091_modify_parameter_value_type_in_job_parameters_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0091_modify_parameter_value_type_in_job_parameters_table.xml deleted file mode 100644 index 5db7aa4751f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0091_modify_parameter_value_type_in_job_parameters_table.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0092_add_periodic_accrual_entries_business_step.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0092_add_periodic_accrual_entries_business_step.xml deleted file mode 100644 index d161b254cb6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0092_add_periodic_accrual_entries_business_step.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0093_update_general_accounting_table_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0093_update_general_accounting_table_reports.xml deleted file mode 100644 index 3c9f58746b6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0093_update_general_accounting_table_reports.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0094_add_external_event_default_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0094_add_external_event_default_configuration.xml deleted file mode 100644 index 3a9db5f7ce9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0094_add_external_event_default_configuration.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0095_add_delinquency_and_arrears_display_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0095_add_delinquency_and_arrears_display_configuration.xml deleted file mode 100644 index 0adb278e617..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0095_add_delinquency_and_arrears_display_configuration.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0096_modify_created_and_sent_at_date_external_events.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0096_modify_created_and_sent_at_date_external_events.xml deleted file mode 100644 index 771ed9f6aee..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0096_modify_created_and_sent_at_date_external_events.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0097_update_accounting_summary_table_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0097_update_accounting_summary_table_reports.xml deleted file mode 100644 index 791b61cd7f6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0097_update_accounting_summary_table_reports.xml +++ /dev/null @@ -1,915 +0,0 @@ - - - - - - - - report_name='Transaction Summary Report' - - - - - - - report_name='Trial Balance Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0098_update_transaction_summary_table_report.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0098_update_transaction_summary_table_report.xml deleted file mode 100644 index 63814103c94..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0098_update_transaction_summary_table_report.xml +++ /dev/null @@ -1,638 +0,0 @@ - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0099_add_accrual_transaction_external_event_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0099_add_accrual_transaction_external_event_configuration.xml deleted file mode 100644 index 9fffdcaecf6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0099_add_accrual_transaction_external_event_configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0100_new_repayment_strategy.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0100_new_repayment_strategy.xml deleted file mode 100644 index bc48a0c1276..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0100_new_repayment_strategy.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0101_update_transaction_summary_table_report.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0101_update_transaction_summary_table_report.xml deleted file mode 100644 index 1dc0122454a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0101_update_transaction_summary_table_report.xml +++ /dev/null @@ -1,638 +0,0 @@ - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0102_add_external_event_for_loan_reschedule.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0102_add_external_event_for_loan_reschedule.xml deleted file mode 100644 index 4d06a08924b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0102_add_external_event_for_loan_reschedule.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0103_modify_parameter_json_column_custom_job_parameters.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0103_modify_parameter_json_column_custom_job_parameters.xml deleted file mode 100644 index 6b93fee16fa..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0103_modify_parameter_json_column_custom_job_parameters.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - UPDATE batch_custom_job_parameters SET parameter_json = json_build_array(json_build_object('parameterName','LoanIds','parameterValue',parameter_json)) WHERE id IN (SELECT DISTINCT cjp.id FROM (SELECT id,json_array_elements(parameter_json) AS json_data FROM batch_custom_job_parameters cjp1 WHERE json_typeof(cjp1.parameter_json)='array') AS cjp WHERE (json_typeof(cjp.json_data) = 'number')); - UPDATE batch_custom_job_parameters SET parameter_json = json_build_array(json_build_object('parameterName','BusinessDate','parameterValue',parameter_json)) WHERE id IN (SELECT DISTINCT cjp.id FROM batch_custom_job_parameters cjp WHERE json_typeof(parameter_json) IS DISTINCT FROM 'array'); - - - - - UPDATE batch_custom_job_parameters SET parameter_json = JSON_ARRAY(JSON_OBJECT('parameterName','LoanIds','parameterValue',parameter_json)) WHERE id IN (SELECT DISTINCT cjp.id FROM (SELECT * FROM batch_custom_job_parameters) cjp WHERE JSON_TYPE(cjp.parameter_json) = 'ARRAY' AND JSON_TYPE(JSON_EXTRACT(cjp.parameter_json, '$[0]')) = 'INTEGER'); - UPDATE batch_custom_job_parameters SET parameter_json = JSON_ARRAY(JSON_OBJECT('parameterName','BusinessDate','parameterValue',parameter_json)) WHERE id IN (SELECT DISTINCT cjp.id FROM (SELECT * FROM batch_custom_job_parameters) cjp WHERE JSON_TYPE(cjp.parameter_json) != 'ARRAY'); - - - - - - KEY_NAME='IS_CATCH_UP' - - - - - - parameter_name='IS_CATCH_UP' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0104_loan_product_add_repayment_overdue_days_config.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0104_loan_product_add_repayment_overdue_days_config.xml deleted file mode 100644 index 845e83cb6f1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0104_loan_product_add_repayment_overdue_days_config.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0105_add_indices_loan_table.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0105_add_indices_loan_table.xml deleted file mode 100644 index fc0f163b56c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0105_add_indices_loan_table.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0106_new_repayment_strategy.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0106_new_repayment_strategy.xml deleted file mode 100644 index 77e5e537fcf..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0106_new_repayment_strategy.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0107_add_configuration_charges_accrual_date.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0107_add_configuration_charges_accrual_date.xml deleted file mode 100644 index 453d2608d01..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0107_add_configuration_charges_accrual_date.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0108_precondition_check_cob_loan_account_lock.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0108_precondition_check_cob_loan_account_lock.xml deleted file mode 100644 index 70a8709216d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0108_precondition_check_cob_loan_account_lock.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - select count(*) from m_loan_account_locks where lock_owner = 'LOAN_COB_PARTITIONING' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0109_spring_batch_5_upgrade.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0109_spring_batch_5_upgrade.xml deleted file mode 100644 index 75ccb821014..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0109_spring_batch_5_upgrade.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = DATE_FORMAT(DATE_VAL, 'YYYY-MM-DDTHH:MM:SSZ') - WHERE TYPE_CD = 'DATE' - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = CAST(LONG_VAL AS CHAR) - WHERE TYPE_CD = 'LONG' - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = CAST(DOUBLE_VAL AS CHAR) - WHERE TYPE_CD = 'DOUBLE' - - - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = TO_CHAR(DATE_VAL, 'YYYY-MM-DDTHH:MM:SSZ') - WHERE TYPE_CD = 'DATE' - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = LONG_VAL::text - WHERE TYPE_CD = 'LONG' - - - UPDATE BATCH_JOB_EXECUTION_PARAMS - SET STRING_VAL = DOUBLE_VAL::text - WHERE TYPE_CD = 'DOUBLE' - - - - - - ALTER TABLE BATCH_STEP_EXECUTION ADD CREATE_TIME TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:00'; - - ALTER TABLE BATCH_STEP_EXECUTION ALTER COLUMN START_TIME DROP NOT NULL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DATE_VAL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN LONG_VAL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DOUBLE_VAL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN TYPE_CD TYPE VARCHAR(100); - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME TYPE_CD TO PARAMETER_TYPE; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN KEY_NAME TYPE VARCHAR(100); - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME KEY_NAME TO PARAMETER_NAME; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ALTER COLUMN STRING_VAL TYPE VARCHAR(2500); - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS RENAME STRING_VAL TO PARAMETER_VALUE; - - - - - - - ALTER TABLE BATCH_STEP_EXECUTION ADD CREATE_TIME DATETIME(6) NOT NULL DEFAULT '1970-01-01 00:00:00'; - ALTER TABLE BATCH_STEP_EXECUTION MODIFY START_TIME DATETIME(6) NULL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DATE_VAL; - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN LONG_VAL; - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS DROP COLUMN DOUBLE_VAL; - - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS CHANGE COLUMN TYPE_CD PARAMETER_TYPE VARCHAR(100); - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS CHANGE COLUMN KEY_NAME PARAMETER_NAME VARCHAR(100); - ALTER TABLE BATCH_JOB_EXECUTION_PARAMS CHANGE COLUMN STRING_VAL PARAMETER_VALUE VARCHAR(2500); - - - - - - PARAMETER_TYPE='LONG' - - - - PARAMETER_TYPE='STRING' - - - - PARAMETER_TYPE='DOUBLE' - - - - PARAMETER_TYPE='DATE' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0110_trial_balance_summary_with_asset_owner.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0110_trial_balance_summary_with_asset_owner.xml deleted file mode 100644 index f5f64b2f9da..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0110_trial_balance_summary_with_asset_owner.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0111_transaction_summary_with_asset_owner.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0111_transaction_summary_with_asset_owner.xml deleted file mode 100644 index 21295f096df..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0111_transaction_summary_with_asset_owner.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0112_transaction_summary_with_asset_owner_change_report_sql.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0112_transaction_summary_with_asset_owner_change_report_sql.xml deleted file mode 100644 index 2cf6de1daf8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0112_transaction_summary_with_asset_owner_change_report_sql.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0113_transaction_summary_with_asset_owner_report_sql_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0113_transaction_summary_with_asset_owner_report_sql_fix.xml deleted file mode 100644 index aa8d1e6e31c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0113_transaction_summary_with_asset_owner_report_sql_fix.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0114_create_cob_indices.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0114_create_cob_indices.xml deleted file mode 100644 index 0e59750d4ac..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0114_create_cob_indices.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - create index concurrently idx_batch_step_execution_step_name_job_execution_id on batch_step_execution(job_execution_id, step_name, start_time); - - - - - - - - - - - create index concurrently idx_batch_job_execution_job_execution_id on batch_job_execution(job_execution_id); - - - - - - - - - - - create index concurrently idx_batch_job_execution_job_instance_id on batch_job_execution(job_instance_id); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0115_create_index_from_loan_transaction_id.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0115_create_index_from_loan_transaction_id.xml deleted file mode 100644 index 22508580664..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0115_create_index_from_loan_transaction_id.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0116_add_configuration_asset_externalization_of_non_active_loans.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0116_add_configuration_asset_externalization_of_non_active_loans.xml deleted file mode 100644 index 1035713170e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0116_add_configuration_asset_externalization_of_non_active_loans.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0117_set_datetime_precision.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0117_set_datetime_precision.xml deleted file mode 100644 index 75f961b0de0..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0117_set_datetime_precision.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0118_add_submitted_on_date_to_savings_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0118_add_submitted_on_date_to_savings_transaction.xml deleted file mode 100644 index b88dfbf8259..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0118_add_submitted_on_date_to_savings_transaction.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0119_add_loan_product_down_payment_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0119_add_loan_product_down_payment_configuration.xml deleted file mode 100644 index 6d722d83ce7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0119_add_loan_product_down_payment_configuration.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0120_transaction_summary_with_asset_owner_report_typo_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0120_transaction_summary_with_asset_owner_report_typo_fix.xml deleted file mode 100644 index a6cd83a7257..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0120_transaction_summary_with_asset_owner_report_typo_fix.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0121_transaction_summary_with_asset_owner_report_typo_fix_2.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0121_transaction_summary_with_asset_owner_report_typo_fix_2.xml deleted file mode 100644 index 3fd596c7b23..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0121_transaction_summary_with_asset_owner_report_typo_fix_2.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0122_add_batch_job_execution_params_index.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0122_add_batch_job_execution_params_index.xml deleted file mode 100644 index 13a81995778..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0122_add_batch_job_execution_params_index.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0123_add_is_down_payment_to_repayment_schedule.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0123_add_is_down_payment_to_repayment_schedule.xml deleted file mode 100644 index 1d2d9169521..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0123_add_is_down_payment_to_repayment_schedule.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0124_transaction_summary_with_asset_owner_report_typo_fix_3.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0124_transaction_summary_with_asset_owner_report_typo_fix_3.xml deleted file mode 100644 index 173e6c3666c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0124_transaction_summary_with_asset_owner_report_typo_fix_3.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0125_transaction_summary_with_asset_owner_report_chargeoff_reason.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0125_transaction_summary_with_asset_owner_report_chargeoff_reason.xml deleted file mode 100644 index f11d4973694..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0125_transaction_summary_with_asset_owner_report_chargeoff_reason.xml +++ /dev/null @@ -1,856 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0126_add_loan_product_installment_level_delinquency.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0126_add_loan_product_installment_level_delinquency.xml deleted file mode 100644 index 6a21a5b411b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0126_add_loan_product_installment_level_delinquency.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0127_client_name_length.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0127_client_name_length.xml deleted file mode 100644 index c432f78d202..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0127_client_name_length.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0128_savings_audit.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0128_savings_audit.xml deleted file mode 100644 index 89a7e7b4ab9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0128_savings_audit.xml +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select count(*) from m_savings_account - - - - - - - - - select count(*) from m_savings_account - - - - - - - - - select count(*) from m_savings_account_transaction - - - - - - - - - select count(*) from m_savings_account_transaction - - - - - - - - - select count(*) from m_deposit_account_on_hold_transaction - - - - - - - - - select count(*) from m_deposit_account_on_hold_transaction - - - - - - - - - select count(*) from m_savings_account_charge - - - - - - - - - select count(*) from m_savings_account_charge - - - - - - - - - select count(*) from m_savings_officer_assignment_history - - - - - - - - - select count(*) from m_savings_officer_assignment_history - - - - - - - - - select count(*) from m_mandatory_savings_schedule - - - - - - - - - select count(*) from m_mandatory_savings_schedule - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0129_transaction_summary_with_asset_owner_report_overpaid_amount.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0129_transaction_summary_with_asset_owner_report_overpaid_amount.xml deleted file mode 100644 index 9201887f62a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0129_transaction_summary_with_asset_owner_report_overpaid_amount.xml +++ /dev/null @@ -1,898 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0130_add_create_delinquency_action_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0130_add_create_delinquency_action_permission.xml deleted file mode 100644 index f478c6392c2..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0130_add_create_delinquency_action_permission.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0131_add_configuration_maker_checker.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0131_add_configuration_maker_checker.xml deleted file mode 100644 index a400511b8b5..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0131_add_configuration_maker_checker.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0132_add_configuration_loan_next_repayment_date_calculation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0132_add_configuration_loan_next_repayment_date_calculation.xml deleted file mode 100644 index 000a1ebcbf4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0132_add_configuration_loan_next_repayment_date_calculation.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0133_transaction_summary_with_asset_owner_report_recovery_repayments_chargeoff_reason.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0133_transaction_summary_with_asset_owner_report_recovery_repayments_chargeoff_reason.xml deleted file mode 100644 index c40dfee7bdc..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0133_transaction_summary_with_asset_owner_report_recovery_repayments_chargeoff_reason.xml +++ /dev/null @@ -1,898 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_transaction_summary_with_asset_owner_report_down_payment_amount_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_transaction_summary_with_asset_owner_report_down_payment_amount_fix.xml deleted file mode 100644 index f7dd703933d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_transaction_summary_with_asset_owner_report_down_payment_amount_fix.xml +++ /dev/null @@ -1,898 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0135_add_external_event_for_loan_reaging.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0135_add_external_event_for_loan_reaging.xml deleted file mode 100644 index b501842a3df..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0135_add_external_event_for_loan_reaging.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0136_loan_reaging_parameters.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0136_loan_reaging_parameters.xml deleted file mode 100644 index 381165ab9bc..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0136_loan_reaging_parameters.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0137_add_external_event_for_loan_reamortization.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0137_add_external_event_for_loan_reamortization.xml deleted file mode 100644 index 15791895e91..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0137_add_external_event_for_loan_reamortization.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0138_add_external_event_for_loan_reaging_reamortization_2.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0138_add_external_event_for_loan_reaging_reamortization_2.xml deleted file mode 100644 index a0950ee3546..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0138_add_external_event_for_loan_reaging_reamortization_2.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0139_add_disburse_without_auto_payment_command.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0139_add_disburse_without_auto_payment_command.xml deleted file mode 100644 index 630272ac33d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0139_add_disburse_without_auto_payment_command.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0140_trial_balance_with_asset_transfer_update.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0140_trial_balance_with_asset_transfer_update.xml deleted file mode 100644 index 0453f49e1b8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0140_trial_balance_with_asset_transfer_update.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0141_add_interest_payment_waiver_transaction_type.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0141_add_interest_payment_waiver_transaction_type.xml deleted file mode 100644 index c1bd5374ff5..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0141_add_interest_payment_waiver_transaction_type.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0142_add_accrual_activity_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0142_add_accrual_activity_transaction.xml deleted file mode 100644 index 2544dfff99d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0142_add_accrual_activity_transaction.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0143_add_accrual_activity_posting_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0143_add_accrual_activity_posting_job.xml deleted file mode 100644 index b9063b7660f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0143_add_accrual_activity_posting_job.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - 9:7e5d899e1fb2620db5c145145679f1a9 - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0144_transaction_summary_with_asset_owner_report_unc_allocation_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0144_transaction_summary_with_asset_owner_report_unc_allocation_fix.xml deleted file mode 100644 index 8e912d7d9f0..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0144_transaction_summary_with_asset_owner_report_unc_allocation_fix.xml +++ /dev/null @@ -1,908 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0145_job_short_name.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0145_job_short_name.xml deleted file mode 100644 index 5f1f87472b4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0145_job_short_name.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - - - - - name='Update loan Summary' - - - - name='Update Loan Arrears Ageing' - - - - name='Update Loan Paid In Advance' - - - - name='Apply Holidays To Loans' - - - - name='Transfer Fee For Loans From Savings' - - - - name='Apply penalty to overdue loans' - - - - name='Update Non Performing Assets' - - - - name='Recalculate Interest For Loans' - - - - name='Generate Loan Loss Provisioning' - - - - name='Add Accrual Transactions For Loans With Income Posted As Transactions' - - - - name='Loan COB' - - - - name='Loan Delinquency Classification' - - - - name='Apply Annual Fee For Savings' - - - - name='Post Interest For Savings' - - - - name='Pay Due Savings Charges' - - - - name='Transfer Interest To Savings' - - - - name='Update Deposit Accounts Maturity details' - - - - name='Generate Mandatory Savings Schedule' - - - - name='Update Savings Dormant Accounts' - - - - name='Post Dividends For Shares' - - - - name='Update Accounting Running Balances' - - - - name='Add Accrual Transactions' - - - - name='Add Periodic Accrual Transactions' - - - - name='Execute Standing Instruction' - - - - name='Execute Report Mailing Jobs' - - - - name='Execute Email' - - - - name='Update Email Outbound with campaign message' - - - - name='Update SMS Outbound with Campaign Message' - - - - name='Send Messages to SMS Gateway' - - - - name='Get Delivery Reports from SMS Gateway' - - - - name='Generate AdhocClient Schedule' - - - - name='Update Trial Balance Details' - - - - name='Execute All Dirty Jobs' - - - - name='Increase Business Date by 1 day' - - - - name='Increase Business Date by 1 day' - - - - name='Increase COB Date by 1 day' - - - - name='Send Asynchronous Events' - - - - name='Purge External Events' - - - - name='Purge Processed Commands' - - - - - - name='Accrual Activity Posting' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0146_add_final_constraints.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0146_add_final_constraints.xml deleted file mode 100644 index e2f21abaa0f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0146_add_final_constraints.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0147_enable_payment_hub_integration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0147_enable_payment_hub_integration.xml deleted file mode 100644 index 38c4a9be108..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0147_enable_payment_hub_integration.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - 9:64863870bbd61795b1a8ced20a6dd7a3 - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0148_transaction_summary_with_asset_owner_report_performance_improvement.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0148_transaction_summary_with_asset_owner_report_performance_improvement.xml deleted file mode 100644 index 1972a127512..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0148_transaction_summary_with_asset_owner_report_performance_improvement.xml +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0149_update_global_configuration_names.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0149_update_global_configuration_names.xml deleted file mode 100644 index 62303063204..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0149_update_global_configuration_names.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - UPDATE c_configuration SET name = REPLACE(REPLACE(LOWER(name), '_', '-'), ' ', '-'); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0150_transaction_summary_with_asset_owner_report_interest_waiver_interest_refund_added.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0150_transaction_summary_with_asset_owner_report_interest_waiver_interest_refund_added.xml deleted file mode 100644 index b9b18359896..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0150_transaction_summary_with_asset_owner_report_interest_waiver_interest_refund_added.xml +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0151_interest_refund_business_events.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0151_interest_refund_business_events.xml deleted file mode 100644 index 6cab64e728c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0151_interest_refund_business_events.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0152_update_password_validation_policy.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0152_update_password_validation_policy.xml deleted file mode 100644 index 0bd2608415e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0152_update_password_validation_policy.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE `key` = 'strong' - - - - - - - - - - - - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE key = 'strong' - - - - - - - - - - - - - - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE `key` = 'simple' AND active = 1; - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE `key` = 'strong' AND active = 1; - - - - - - - `key` = 'simple' AND active = true - - - - `key` = 'strong' AND active = false - - - - - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE key = 'simple' AND active = TRUE; - - - SELECT COUNT(*) FROM m_password_validation_policy WHERE key = 'strong' AND active = TRUE; - - - - - - - key = 'simple' AND active = TRUE - - - - key = 'strong' AND active = FALSE - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0153_add_charge_off_reason_id_to_acc_product_mapping.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0153_add_charge_off_reason_id_to_acc_product_mapping.xml deleted file mode 100644 index 5002a38bbc0..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0153_add_charge_off_reason_id_to_acc_product_mapping.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0154_add_interest_refund_to_r_enum_value.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0154_add_interest_refund_to_r_enum_value.xml deleted file mode 100644 index ced87173038..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0154_add_interest_refund_to_r_enum_value.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0155_add_configuration_enable_immediate_charge_accrual_post_maturity.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0155_add_configuration_enable_immediate_charge_accrual_post_maturity.xml deleted file mode 100644 index 3080942d9d8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0155_add_configuration_enable_immediate_charge_accrual_post_maturity.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0156_add_disallow_interest_calc_on_past_due_field.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0156_add_disallow_interest_calc_on_past_due_field.xml deleted file mode 100644 index c078794d221..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0156_add_disallow_interest_calc_on_past_due_field.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0157_create_index_m_loan_transaction_relation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0157_create_index_m_loan_transaction_relation.xml deleted file mode 100644 index 82a73f1c992..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0157_create_index_m_loan_transaction_relation.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - create index concurrently IDX_M_LOAN_TRANSACTION_RELATION_TO_LOAN_TRANSACTION_ID on m_loan_transaction_relation(to_loan_transaction_id); - - - - - - - - - - create index concurrently IDX_M_LOAN_TRANSACTION_RELATION_TO_LOAN_CHARGE_ID on m_loan_transaction_relation(to_loan_charge_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0158_create_acc_gl_journal_entry_annual_summary.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0158_create_acc_gl_journal_entry_annual_summary.xml deleted file mode 100644 index 8c097ef5e6f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0158_create_acc_gl_journal_entry_annual_summary.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create index concurrently if not exists acc_gl_journal_entry_annual_summary_idx_1 on acc_gl_journal_entry_annual_summary(gl_code,product_id); - - - - - create index acc_gl_journal_entry_annual_summary_idx_1 on acc_gl_journal_entry_annual_summary(gl_code,product_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0159_trial_balance_summary_with_asset_owner_year_end_summary.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0159_trial_balance_summary_with_asset_owner_year_end_summary.xml deleted file mode 100644 index 5168419891d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0159_trial_balance_summary_with_asset_owner_year_end_summary.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0160_add_acc_product_mapping_product_id_index.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0160_add_acc_product_mapping_product_id_index.xml deleted file mode 100644 index 86675c406b1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0160_add_acc_product_mapping_product_id_index.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0161_add_loan_external_id_to_commands.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0161_add_loan_external_id_to_commands.xml deleted file mode 100644 index bc38212121e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0161_add_loan_external_id_to_commands.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml deleted file mode 100644 index 4c9b7c1aff6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0163_transaction_summary_with_asset_owner_report_accrual_adj_merged_with_accrual.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0163_transaction_summary_with_asset_owner_report_accrual_adj_merged_with_accrual.xml deleted file mode 100644 index dddc93a07ef..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0163_transaction_summary_with_asset_owner_report_accrual_adj_merged_with_accrual.xml +++ /dev/null @@ -1,1174 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0164_transaction_summary_with_asset_owner_report_accrual_adj_report_separately_and_exclude_accrual_activity.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0164_transaction_summary_with_asset_owner_report_accrual_adj_report_separately_and_exclude_accrual_activity.xml deleted file mode 100644 index 2e028d61ba5..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0164_transaction_summary_with_asset_owner_report_accrual_adj_report_separately_and_exclude_accrual_activity.xml +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0165_add_credited_interest_to_instalment.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0165_add_credited_interest_to_instalment.xml deleted file mode 100644 index cfcc13147e7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0165_add_credited_interest_to_instalment.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0166_transaction_summary_with_asset_owner_report_charge_adjustment_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0166_transaction_summary_with_asset_owner_report_charge_adjustment_fix.xml deleted file mode 100644 index 252b5ea6362..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0166_transaction_summary_with_asset_owner_report_charge_adjustment_fix.xml +++ /dev/null @@ -1,1120 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0167_create_m_calendar_instance_index.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0167_create_m_calendar_instance_index.xml deleted file mode 100644 index 125432aca65..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0167_create_m_calendar_instance_index.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - create index concurrently idx_m_calendar_instance_entity_id_entity_type on m_calendar_instance(entity_id, entity_type_enum); - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0168_transaction_summary_with_asset_owner_report_add_active_intermediate_filtering.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0168_transaction_summary_with_asset_owner_report_add_active_intermediate_filtering.xml deleted file mode 100644 index e5387c2aca4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0168_transaction_summary_with_asset_owner_report_add_active_intermediate_filtering.xml +++ /dev/null @@ -1,1120 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0169_add_missing_permissions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0169_add_missing_permissions.xml deleted file mode 100644 index 83ef0a7712d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0169_add_missing_permissions.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0170_days_in_year_custom_strategy.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0170_days_in_year_custom_strategy.xml deleted file mode 100644 index c4c01a8d5b2..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0170_days_in_year_custom_strategy.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0171_loan_capitalized_income.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0171_loan_capitalized_income.xml deleted file mode 100644 index 3ac0cf5a20d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0171_loan_capitalized_income.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0172_create_loan_capitalized_income_balance.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0172_create_loan_capitalized_income_balance.xml deleted file mode 100644 index f305e0c5386..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0172_create_loan_capitalized_income_balance.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create unique index concurrently if not exists m_loan_capitalized_income_balance_idx_1 on m_loan_capitalized_income_balance(loan_id,loan_transaction_id); - create index concurrently if not exists m_loan_capitalized_income_balance_idx_2 on m_loan_capitalized_income_balance(loan_id); - - - - - create unique index m_loan_capitalized_income_balance_idx_1 on m_loan_capitalized_income_balance(loan_id,loan_transaction_id); - create index m_loan_capitalized_income_balance_idx_2 on m_loan_capitalized_income_balance(loan_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0173_user_change_pwd.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0173_user_change_pwd.xml deleted file mode 100644 index 5897a43c28d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0173_user_change_pwd.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - INSERT INTO m_role_permission (role_id, permission_id) - SELECT mrp.role_id, mp_changepwd.id - FROM m_role_permission mrp - LEFT JOIN m_permission mp_update ON mp_update.id = mrp.permission_id - LEFT JOIN m_permission mp_changepwd ON mp_changepwd.action_name = 'CHANGEPWD' - AND mp_changepwd.entity_name = 'USER' - WHERE mp_update.action_name = 'UPDATE' - AND mp_update.entity_name = 'USER'; - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0174_loan_product_add_capitalized_income_type.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0174_loan_product_add_capitalized_income_type.xml deleted file mode 100644 index e3e3d204270..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0174_loan_product_add_capitalized_income_type.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0175_add_fk_acc_product_mapping.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0175_add_fk_acc_product_mapping.xml deleted file mode 100644 index 2297ade56da..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0175_add_fk_acc_product_mapping.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0176_add_capitalized_income_amortization_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0176_add_capitalized_income_amortization_transaction.xml deleted file mode 100644 index 7b00050710d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0176_add_capitalized_income_amortization_transaction.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0177_acc_journal_entry_index.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0177_acc_journal_entry_index.xml deleted file mode 100644 index 398a2b8f46e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0177_acc_journal_entry_index.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - SELECT COUNT(*) FROM pg_indexes WHERE tablename='acc_gl_journal_entry' and indexname='idx_acc_gl_journal_entry_transaction_id'; - - - - CREATE INDEX CONCURRENTLY idx_acc_gl_journal_entry_transaction_id ON acc_gl_journal_entry(transaction_id); - - - - - - SELECT COUNT(*) FROM information_schema.statistics - WHERE table_schema = DATABASE() - AND table_name = 'acc_gl_journal_entry' - AND index_name = 'idx_acc_gl_journal_entry_transaction_id'; - - - - CREATE INDEX idx_acc_gl_journal_entry_transaction_id ON acc_gl_journal_entry(transaction_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0178_add_principal_from_capitalized_income_to_loan_summary.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0178_add_principal_from_capitalized_income_to_loan_summary.xml deleted file mode 100644 index d461121b6ac..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0178_add_principal_from_capitalized_income_to_loan_summary.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0179_add_capitalized_income_adjustment_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0179_add_capitalized_income_adjustment_transaction.xml deleted file mode 100644 index 60055677571..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0179_add_capitalized_income_adjustment_transaction.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0180_add_version_field_to_loan_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0180_add_version_field_to_loan_transaction.xml deleted file mode 100644 index ca6d811049d..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0180_add_version_field_to_loan_transaction.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0181_add_capitalized_income_amortization_adjustment_transaction.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0181_add_capitalized_income_amortization_adjustment_transaction.xml deleted file mode 100644 index a1ee73b4791..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0181_add_capitalized_income_amortization_adjustment_transaction.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0182_transaction_summary_with_asset_owner_report_fix_charge_reason_and_add_buyback_intermediate.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0182_transaction_summary_with_asset_owner_report_fix_charge_reason_and_add_buyback_intermediate.xml deleted file mode 100644 index 9d91a8eeca5..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0182_transaction_summary_with_asset_owner_report_fix_charge_reason_and_add_buyback_intermediate.xml +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0183_add_LoanCapitalizedIncomeTransactionCreatedBusinessEvent.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0183_add_LoanCapitalizedIncomeTransactionCreatedBusinessEvent.xml deleted file mode 100644 index 66a28bab0ca..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0183_add_LoanCapitalizedIncomeTransactionCreatedBusinessEvent.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0184_add_document_event_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0184_add_document_event_configuration.xml deleted file mode 100644 index 096b4032828..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0184_add_document_event_configuration.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0185_loan_buy_down_fee.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0185_loan_buy_down_fee.xml deleted file mode 100644 index 00700f5eaf2..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0185_loan_buy_down_fee.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0186_add_buy_down_fee_to_loan_product.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0186_add_buy_down_fee_to_loan_product.xml deleted file mode 100644 index e845a9975a7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0186_add_buy_down_fee_to_loan_product.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0187_add_Loan_modified_and_withdrawn_event_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0187_add_Loan_modified_and_withdrawn_event_configuration.xml deleted file mode 100644 index 386e4e5ff22..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0187_add_Loan_modified_and_withdrawn_event_configuration.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0188_create_loan_buy_down_fee_balance.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0188_create_loan_buy_down_fee_balance.xml deleted file mode 100644 index f320ee2ee12..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0188_create_loan_buy_down_fee_balance.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create unique index concurrently if not exists m_loan_buy_down_fee_balance_idx_1 on m_loan_buy_down_fee_balance(loan_id,loan_transaction_id); - create index concurrently if not exists m_loan_buy_down_fee_balance_idx_2 on m_loan_buy_down_fee_balance(loan_id); - - - - - create unique index m_loan_buy_down_fee_balance_idx_1 on m_loan_buy_down_fee_balance(loan_id,loan_transaction_id); - create index m_loan_buy_down_fee_balance_idx_2 on m_loan_buy_down_fee_balance(loan_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0189_add_loan_buydown_fee_event.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0189_add_loan_buydown_fee_event.xml deleted file mode 100644 index b21f7869054..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0189_add_loan_buydown_fee_event.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0190_buy_down_fee_amortization.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0190_buy_down_fee_amortization.xml deleted file mode 100644 index d9f53156b43..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0190_buy_down_fee_amortization.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0191_add_LoanApprovedAmountChangedBusinessEvent.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0191_add_LoanApprovedAmountChangedBusinessEvent.xml deleted file mode 100644 index d58c2255b2e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0191_add_LoanApprovedAmountChangedBusinessEvent.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0192_create_loan_approved_amount_history.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0192_create_loan_approved_amount_history.xml deleted file mode 100644 index 1f0d1b284ed..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0192_create_loan_approved_amount_history.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0193_add_column_ip.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0193_add_column_ip.xml deleted file mode 100644 index 95e47c8200b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0193_add_column_ip.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0194_fix_missing_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0194_fix_missing_permission.xml deleted file mode 100644 index 7319ff99f74..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0194_fix_missing_permission.xml +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CLOSE_CLIENT_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CLOSE_GROUP_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CLOSE_CENTER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'REMOVESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATESAVINGSOFFICER_SAVINGSACCOUNT_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CREATE_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATE_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'ALLOCATECASHIER_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATECASHIERALLOCATION_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'DELETECASHIERALLOCATION_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'ALLOCATECASHTOCASHIER_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'SETTLECASHFROMCASHIER_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'DEFINEOPENINGBALANCE_JOURNALENTRY_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'DELETE_TELLER_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'READ_RATE_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CREATE_RATE_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATE_RATE_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATEOPENINGBALANCE_JOURNALENTRY' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATEOPENINGBALANCE_JOURNALENTRY_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CREATE_STANDINGINSTRUCTION' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATE_STANDINGINSTRUCTION' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'DELETE_STANDINGINSTRUCTION' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATE_COLLECTIONSHEET' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'POSTINTERESTASONDATE_SAVINGSACCOUNT' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'POSTINTERESTASONDATE_SAVINGSACCOUNT_CHECKER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'ALLOCATECASHIER_TELLER' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CAPITALIZEDINCOME_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CAPITALIZEDINCOMEADJUSTMENT_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'BUYDOWNFEEADJUSTMENT_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'BUYDOWNFEE_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'CONTRACT_TERMINATION_UNDO_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'UPDATE_APPROVED_AMOUNT_LOAN' - - - - - - - - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'MANUAL_INTEREST_REFUND_TRANSACTION_LOAN' - - - - - - - - - - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'CREATE_ADDRESS_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'CREATE_ADDRESS_CHECKER'; - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'UPDATE_ADDRESS_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'UPDATE_ADDRESS_CHECKER'; - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'DELETE_ADDRESS_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'DELETE_ADDRESS_CHECKER'; - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'UNDOREJECT_CLIENT_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'UNDOREJECT_CLIENT_CHECKER'; - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'UNDOWITHDRAWAL_CLIENT_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'UNDOWITHDRAWAL_CLIENT_CHECKER'; - - - - - - SELECT COUNT(*) FROM m_permission - WHERE code = 'UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT_CHECKER' AND can_maker_checker = 'true' - - - - UPDATE m_permission - SET can_maker_checker = 'false' - WHERE code = 'UPDATEDEPOSITAMOUNT_RECURRINGDEPOSITACCOUNT_CHECKER'; - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0195_create_loan_amortization_allocation_mapping.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0195_create_loan_amortization_allocation_mapping.xml deleted file mode 100644 index 1c1dc747040..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0195_create_loan_amortization_allocation_mapping.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create index concurrently idx_m_loan_am_all_map_base_loan_id on m_loan_amortization_allocation_mapping(loan_id); - - - - - - - - - - create index idx_m_loan_am_all_map_base_loan_id on batch_step_execution(loan_id); - - - - - - - - - - create index concurrently idx_m_loan_am_all_map_base_loan_txn_id on m_loan_amortization_allocation_mapping(base_loan_transaction_id); - - - - - - - - - - create index idx_m_loan_am_all_map_base_loan_txn_id on batch_step_execution(base_loan_transaction_id); - - - - - - - - - - create index concurrently idx_m_loan_am_all_map_amort_loan_txn_id on m_loan_amortization_allocation_mapping(amortization_loan_transaction_id); - - - - - - - - - - create index idx_m_loan_am_all_map_amort_loan_txn_id on batch_step_execution(amortization_loan_transaction_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0196_add_deleted_and_closed_to_buy_down_fee_balance.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0196_add_deleted_and_closed_to_buy_down_fee_balance.xml deleted file mode 100644 index 70b9f0d4561..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0196_add_deleted_and_closed_to_buy_down_fee_balance.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0197_add_deleted_and_closed_to_capitalized_income_balance.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0197_add_deleted_and_closed_to_capitalized_income_balance.xml deleted file mode 100644 index 298fdb8a0ed..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0197_add_deleted_and_closed_to_capitalized_income_balance.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0198_add_classification_id_to_acc_product_mapping.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0198_add_classification_id_to_acc_product_mapping.xml deleted file mode 100644 index 8eb87510c83..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0198_add_classification_id_to_acc_product_mapping.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0199_write_off_reason_mapping_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0199_write_off_reason_mapping_loan.xml deleted file mode 100644 index 74cdd5aea4e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0199_write_off_reason_mapping_loan.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0200_add_journal_entry_aggregation_tables.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0200_add_journal_entry_aggregation_tables.xml deleted file mode 100644 index f31806412e4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0200_add_journal_entry_aggregation_tables.xml +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create index concurrently idx_journal_entry_aggregation_summary on m_journal_entry_aggregation_summary(submitted_on_date,gl_account_id); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create index idx_journal_entry_aggregation_summary on m_journal_entry_aggregation_summary(submitted_on_date,gl_account_id); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - create index concurrently idx_m_journal_entry_aggregation_tracking on m_journal_entry_aggregation_tracking(submitted_on_date); - - - - - - - - - - create unique index concurrently idx2_m_journal_entry_aggregation_tracking on m_journal_entry_aggregation_tracking(aggregated_on_date_to); - - - - - - - - - - create index idx_m_journal_entry_aggregation_tracking on m_journal_entry_aggregation_tracking(submitted_on_date); - - - - - - - - - - create unique index idx2_m_journal_entry_aggregation_tracking on m_journal_entry_aggregation_tracking(aggregated_on_date_to); - - - - - - - - - - create index concurrently idx_m_jour_ent_aggr_trac_job_exec_id on m_journal_entry_aggregation_tracking(job_execution_id); - - - - - - - - - - create index idx_m_jour_ent_aggr_trac_job_exec_id on m_journal_entry_aggregation_tracking(job_execution_id); - - - - - - - - - - create index concurrently idx_m_jour_ent_aggr_sum_job_exec_id on m_journal_entry_aggregation_summary(job_execution_id); - - - - - - - - - - create index idx_m_jour_ent_aggr_sum_job_exec_id on m_journal_entry_aggregation_summary(job_execution_id); - - - - - - - - - - create index concurrently idx_m_jour_ent_aggr_sum_prod_id_entity_type on m_journal_entry_aggregation_summary(product_id, entity_type_enum); - - - - - - - - - - create index idx_m_jour_ent_aggr_sum_prod_id_entity_type on m_journal_entry_aggregation_summary(product_id, entity_type_enum); - - - - - - - - - - create index concurrently idx_m_jour_ent_aggr_sum_aggr_date on m_journal_entry_aggregation_summary(aggregated_on_date); - - - - - - - - - - create index idx_m_jour_ent_aggr_sum_aggr_date on m_journal_entry_aggregation_summary(aggregated_on_date); - - - - - - - - - - create index concurrently idx_m_jour_ent_aggr_sum_office_id on m_journal_entry_aggregation_summary(office_id); - - - - - - - - - - create index idx_m_jour_ent_aggr_sum_office_id on m_journal_entry_aggregation_summary(office_id); - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0201_add_journal_entry_aggregation_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0201_add_journal_entry_aggregation_job.xml deleted file mode 100644 index f2828527363..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0201_add_journal_entry_aggregation_job.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - 9:232e6a0baf425531c3dc2723179d458b - - select count(1) from job where short_name = 'JRNL_ENTRY_AGG' - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0202_trial_balance_summary_with_asset_owner_journal_entry_aggregation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0202_trial_balance_summary_with_asset_owner_journal_entry_aggregation.xml deleted file mode 100644 index b0e126f15a9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0202_trial_balance_summary_with_asset_owner_journal_entry_aggregation.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0203_transaction_summary_with_asset_owner_report_with_capitalized_income.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0203_transaction_summary_with_asset_owner_report_with_capitalized_income.xml deleted file mode 100644 index 5e69ead0341..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0203_transaction_summary_with_asset_owner_report_with_capitalized_income.xml +++ /dev/null @@ -1,1523 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0204_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_buybacks.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0204_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_buybacks.xml deleted file mode 100644 index 31dcd97604c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0204_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_buybacks.xml +++ /dev/null @@ -1,3120 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0205_add_read_familymembers_permission.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0205_add_read_familymembers_permission.xml deleted file mode 100644 index 65d019fe52e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0205_add_read_familymembers_permission.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - SELECT COUNT(1) FROM m_permission WHERE code = 'READ_FAMILYMEMBERS' - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0206_transaction_summary_with_asset_owner_classification_name_bug_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0206_transaction_summary_with_asset_owner_classification_name_bug_fix.xml deleted file mode 100644 index 41cb1ba47f9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0206_transaction_summary_with_asset_owner_classification_name_bug_fix.xml +++ /dev/null @@ -1,3119 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0207_add_allow_full_term_for_tranche.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0207_add_allow_full_term_for_tranche.xml deleted file mode 100644 index 80b0041d838..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0207_add_allow_full_term_for_tranche.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0208_trial_balance_summary_with_asset_owner_journal_entry_aggregation_fix.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0208_trial_balance_summary_with_asset_owner_journal_entry_aggregation_fix.xml deleted file mode 100644 index 2937925a0ac..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0208_trial_balance_summary_with_asset_owner_journal_entry_aggregation_fix.xml +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner -), - -/* - * merged_historical_data: - * Replaces FULL OUTER JOIN with: - * baseline LEFT JOIN delta - * UNION ALL - * delta LEFT JOIN baseline (anti-join) - */ -merged_historical_data AS ( - SELECT - COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT - p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL -), -current_cob_data AS ( - SELECT - lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw ON aw.journal_entry_id = acc_gl_journal_entry.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner -) - -SELECT * -FROM ( - SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT - txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance - FROM ( - SELECT * - FROM ( - SELECT DISTINCT - '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance - FROM ( - /* - * This replaces: - * g LEFT JOIN merged_historical_data - * FULL OUTER JOIN current_cob_data - * with a UNION ALL of: - * (1) g LEFT JOIN mh LEFT JOIN c - * (2) c-only rows (anti-join against g) - */ - SELECT DISTINCT - g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount - FROM ( - SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id - ) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND COALESCE(mh.assetowner, 0) = COALESCE(c.assetowner, 0) - - UNION ALL - - SELECT DISTINCT - c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount - FROM current_cob_data c - LEFT JOIN ( - SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id - ) g2 - ON g2.gl_code = c.glcode - AND g2.pname = c.productname - LEFT JOIN merged_historical_data mh - ON mh.glcode = c.glcode - AND mh.productname = c.productname - AND COALESCE(mh.assetowner, 0) = COALESCE(c.assetowner, 0) - WHERE g2.gl_code IS NULL - ) loan - ) a - ) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product -) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0209_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_asset_sales.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0209_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_asset_sales.xml deleted file mode 100644 index db2db12d25f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0209_transaction_summary_with_asset_owner_and_from_asset_owner_id_for_asset_sales.xml +++ /dev/null @@ -1,3120 +0,0 @@ - - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - - - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0210_add_configuration_password_reuse_check_history_count.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0210_add_configuration_password_reuse_check_history_count.xml deleted file mode 100644 index 3ade2313a4a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0210_add_configuration_password_reuse_check_history_count.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0211_trial_balance_summary_fix_external_owners_and_aggregation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0211_trial_balance_summary_fix_external_owners_and_aggregation.xml deleted file mode 100644 index 94bca487ebc..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0211_trial_balance_summary_fix_external_owners_and_aggregation.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner -), -merged_historical_data AS ( - SELECT - COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT - p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL -), -current_cob_data AS ( - SELECT - lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw ON aw.journal_entry_id = acc_gl_journal_entry.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner -) - -SELECT * -FROM ( - SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT - txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance - FROM ( - SELECT * - FROM ( - SELECT DISTINCT - '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance - FROM ( - SELECT DISTINCT - g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount - FROM ( - SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id - ) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - - UNION ALL - - SELECT DISTINCT - c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount - FROM current_cob_data c - LEFT JOIN ( - SELECT g3.gl_code, g3.pname, mh.assetowner - FROM ( - SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id - ) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname - ) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - WHERE matched.gl_code IS NULL - ) loan - ) a - ) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product -) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0212_add_force_password_reset_config.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0212_add_force_password_reset_config.xml deleted file mode 100644 index 16354740ef1..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0212_add_force_password_reset_config.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0213_transaction_summary_adding_originators.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0213_transaction_summary_adding_originators.xml deleted file mode 100644 index 30db1335a2f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0213_transaction_summary_adding_originators.xml +++ /dev/null @@ -1,2649 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39) 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, 28, 31, 33, 34, 37, 39) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39) 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, 28, 31, 33, 34, 37, 39) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0214_trial_balance_summary_adding_originators.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0214_trial_balance_summary_adding_originators.xml deleted file mode 100644 index 10507229f0b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0214_trial_balance_summary_adding_originators.xml +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originators), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - p.originators AS originators - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - p.originators AS originators - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - lo.originator_external_ids AS originators - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originators) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originators AS originators - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originators AS originators - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originators, c.originators) AS originators - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originators, c.originators) AS originators - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originators - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originators), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - p.originators AS originators - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - p.originators AS originators - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - lo.originator_external_ids AS originators - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originators) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originators AS originators - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originators AS originators - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originators, c.originators) AS originators - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originators, c.originators) AS originators - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originators - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0215_transaction_summary_reports_add_buydown_fee_types.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0215_transaction_summary_reports_add_buydown_fee_types.xml deleted file mode 100644 index ac81793cc1c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0215_transaction_summary_reports_add_buydown_fee_types.xml +++ /dev/null @@ -1,3263 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0216_add_unique_constraint_sms_campaign_name.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0216_add_unique_constraint_sms_campaign_name.xml deleted file mode 100644 index 50f7a573378..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0216_add_unique_constraint_sms_campaign_name.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0217_force_withdrawal_configs.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0217_force_withdrawal_configs.xml deleted file mode 100644 index 575ca65cb81..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0217_force_withdrawal_configs.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO m_role_permission (role_id, permission_id) - SELECT 1, p.id FROM m_permission p - WHERE p.code IN ('FORCE_WITHDRAWAL_SAVINGSACCOUNT', 'FORCE_WITHDRAWAL_SAVINGSACCOUNT_CHECKER') - AND NOT EXISTS (SELECT 1 FROM m_role_permission rp WHERE rp.role_id = 1 AND rp.permission_id = p.id); - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0218_standardize_character_set_and_collation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0218_standardize_character_set_and_collation.xml deleted file mode 100644 index 9b995bc8639..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0218_standardize_character_set_and_collation.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - ALTER DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0219_remove_self_service_feature.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0219_remove_self_service_feature.xml deleted file mode 100644 index 1b059c1551b..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0219_remove_self_service_feature.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - id='1001' AND parameter_name='FullReportList' - - - - id='1002' AND parameter_name='FullParameterList' - - - - id='1003' AND parameter_name='reportCategoryList' - - - - - - id='1002' AND parameter_name='FullParameterList' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0220_add_login_retry_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0220_add_login_retry_configuration.xml deleted file mode 100644 index 5c80dc73af6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0220_add_login_retry_configuration.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0221_transaction_summary_reports_fix_after_originator_details.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0221_transaction_summary_reports_fix_after_originator_details.xml deleted file mode 100644 index dceaa9e577c..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0221_transaction_summary_reports_fix_after_originator_details.xml +++ /dev/null @@ -1,3264 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - t.originator_external_ids AS from_asset_owner_id - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids AS from_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0222_transaction_summary_reports_fix_after_originator_details.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0222_transaction_summary_reports_fix_after_originator_details.xml deleted file mode 100644 index f282d729fd7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0222_transaction_summary_reports_fix_after_originator_details.xml +++ /dev/null @@ -1,3264 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' AS chargetype, - true AS reversal_indicator, - 'Principal' AS Allocation_Type, - CASE - WHEN t.transaction_type_enum in (1, 40, 41) THEN (CASE - WHEN t.amount is null THEN 0 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0223_trial_balance_summary_rename_originators_column.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0223_trial_balance_summary_rename_originators_column.xml deleted file mode 100644 index e3d5efeed7a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0223_trial_balance_summary_rename_originators_column.xml +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - p.originator_external_ids AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - p.originator_external_ids AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - lo.originator_external_ids AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - p.originator_external_ids AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - p.originator_external_ids AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - lo.originator_external_ids AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0224_add_allow_cash_and_non_cash_accrual_config.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0224_add_allow_cash_and_non_cash_accrual_config.xml deleted file mode 100644 index 0c9d7aa5a9e..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0224_add_allow_cash_and_non_cash_accrual_config.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - SELECT SETVAL('c_configuration_id_seq', COALESCE(MAX(id), 0)+1, false ) FROM c_configuration; - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0225_add_originator_external_ids_to_aggregation_summary.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0225_add_originator_external_ids_to_aggregation_summary.xml deleted file mode 100644 index 0d9cb3f75f4..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0225_add_originator_external_ids_to_aggregation_summary.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0226_trial_balance_summary_fix_originator_join_conditions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0226_trial_balance_summary_fix_originator_join_conditions.xml deleted file mode 100644 index 25a26b713f7..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0226_trial_balance_summary_fix_originator_join_conditions.xml +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, ' ') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, ' ') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE(lo.originator_external_ids, ' ') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, ' ') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, ' ') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE(lo.originator_external_ids, ' ') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0227_postgresql_client_and_loan_trends_reports.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0227_postgresql_client_and_loan_trends_reports.xml deleted file mode 100644 index dd49ae8a127..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0227_postgresql_client_and_loan_trends_reports.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - report_name = 'ClientTrendsByWeek' - - - - - - - report_name = 'ClientTrendsByMonth' - - - - - - - report_name = 'LoanTrendsByWeek' - - - - - - - report_name = 'LoanTrendsByMonth' - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0228_add_configuration_block_transactions_on_closed_overpaid_loans.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0228_add_configuration_block_transactions_on_closed_overpaid_loans.xml deleted file mode 100644 index aea648110d9..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0228_add_configuration_block_transactions_on_closed_overpaid_loans.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0229_trial_balance_summary_fix_empty_space.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0229_trial_balance_summary_fix_empty_space.xml deleted file mode 100644 index e44c4890356..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0229_trial_balance_summary_fix_empty_space.xml +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE(lo.originator_external_ids, '') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE(lo.originator_external_ids, '') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - LEFT JOIN loan_originators lo ON lo.loan_id = m.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0230_add_forgot_password.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0230_add_forgot_password.xml deleted file mode 100644 index a5d4fe88c25..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0230_add_forgot_password.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0231_remove_clientcharge_inactivate_permissions.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0231_remove_clientcharge_inactivate_permissions.xml deleted file mode 100644 index 40146f2068a..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0231_remove_clientcharge_inactivate_permissions.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - Remove INACTIVATE_CLIENTCHARGE permissions - command was never implemented and the client-charge inactivate write path is being removed. - - permission_id=(SELECT id FROM m_permission WHERE code='INACTIVATE_CLIENTCHARGE') - - - permission_id=(SELECT id FROM m_permission WHERE code='INACTIVATE_CLIENTCHARGE_CHECKER') - - - code='INACTIVATE_CLIENTCHARGE' - - - code='INACTIVATE_CLIENTCHARGE_CHECKER' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0232_add_repayment_start_date_to_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0232_add_repayment_start_date_to_loan.xml deleted file mode 100644 index e8b42ba38d8..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0232_add_repayment_start_date_to_loan.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0233_backfill_repayment_start_date_type_on_loan.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0233_backfill_repayment_start_date_type_on_loan.xml deleted file mode 100644 index 4913d7b8afc..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0233_backfill_repayment_start_date_type_on_loan.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - DROP PROCEDURE IF EXISTS backfill_repayment_start_date_type_on_loan; - - CREATE PROCEDURE backfill_repayment_start_date_type_on_loan() - BEGIN - DECLARE v_rows_updated INT DEFAULT 1; - - WHILE v_rows_updated > 0 DO - UPDATE m_loan l - INNER JOIN ( - SELECT l2.id, lp2.repayment_start_date_type_enum - FROM m_loan l2 - INNER JOIN m_product_loan lp2 ON lp2.id = l2.product_id - WHERE l2.repayment_start_date_type_enum IS NULL - AND lp2.repayment_start_date_type_enum IS NOT NULL - ORDER BY l2.id - LIMIT 10000 - ) batch ON batch.id = l.id - SET l.repayment_start_date_type_enum = batch.repayment_start_date_type_enum; - - SET v_rows_updated = ROW_COUNT(); - COMMIT; - END WHILE; - END; - - CALL backfill_repayment_start_date_type_on_loan(); - DROP PROCEDURE backfill_repayment_start_date_type_on_loan; - - - - - - - - - - - - - DO $$ - DECLARE - v_rows_updated INTEGER; - v_batch_count INTEGER := 0; - v_total_updated BIGINT := 0; - v_start_time TIMESTAMP := NOW(); - v_duration NUMERIC; - BEGIN - RAISE NOTICE 'Starting repaymentStartDateType backfill at % with batch size: 10000', v_start_time; - - LOOP - WITH batch AS ( - SELECT l.id, lp.repayment_start_date_type_enum - FROM m_loan l - INNER JOIN m_product_loan lp ON lp.id = l.product_id - WHERE l.repayment_start_date_type_enum IS NULL - AND lp.repayment_start_date_type_enum IS NOT NULL - ORDER BY l.id - LIMIT 10000 - FOR UPDATE OF l SKIP LOCKED - ) - UPDATE m_loan - SET repayment_start_date_type_enum = batch.repayment_start_date_type_enum - FROM batch - WHERE m_loan.id = batch.id; - - GET DIAGNOSTICS v_rows_updated = ROW_COUNT; - v_batch_count := v_batch_count + 1; - v_total_updated := v_total_updated + v_rows_updated; - - RAISE NOTICE 'Batch %: Updated % rows. Total updated: %', v_batch_count, v_rows_updated, v_total_updated; - - EXIT WHEN v_rows_updated = 0; - COMMIT; - END LOOP; - - v_duration := EXTRACT(EPOCH FROM (NOW() - v_start_time)); - RAISE NOTICE 'Completed repaymentStartDateType backfill at %. Total rows updated: %. Duration: % seconds', - NOW(), v_total_updated, v_duration; - END $$; - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0234_add_missing_processing_result_enum_values.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0234_add_missing_processing_result_enum_values.xml deleted file mode 100644 index 0af71878157..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0234_add_missing_processing_result_enum_values.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0235_transaction_summary_reports_buydown_fee_allocation.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0235_transaction_summary_reports_buydown_fee_allocation.xml deleted file mode 100644 index d9efc283804..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0235_transaction_summary_reports_buydown_fee_allocation.xml +++ /dev/null @@ -1,3264 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0236_transaction_summary_reports_fix_for_cap_income_amortization_duplicates.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0236_transaction_summary_reports_fix_for_cap_income_amortization_duplicates.xml deleted file mode 100644 index eba2ca1c6d2..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0236_transaction_summary_reports_fix_for_cap_income_amortization_duplicates.xml +++ /dev/null @@ -1,2710 +0,0 @@ - - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.transaction_type_enum = 26 - AND (t.office_id = ${officeId})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.reversed_on_date = '${endDate}' - AND t.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - lo.originator_external_ids - 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 - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.status in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - lo.originator_external_ids - 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}' - LEFT JOIN loan_originators lo ON lo.loan_id = t.loan_id - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0237_trial_balance_summary_report_update_originator_inline_join.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0237_trial_balance_summary_report_update_originator_inline_join.xml deleted file mode 100644 index 72740bdd56f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0237_trial_balance_summary_report_update_originator_inline_join.xml +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, s.originator_external_ids, '') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE((SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') - FROM m_loan_originator_mapping mlom - JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id - WHERE mlom.loan_id = m.id), '') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - - - (SELECT latest FROM aggregated_date) - ) - AND acc_gl_journal_entry.submitted_on_date < '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, glcode, glname, assetowner, originator_external_ids), - merged_historical_data AS (SELECT COALESCE(s.productname, p.productname) AS productname, - COALESCE(s.glcode, p.glcode) AS glcode, - COALESCE(s.glname, p.glname) AS glname, - COALESCE(s.assetowner, p.assetowner, 0) AS assetowner, - COALESCE(s.debitamount, 0) + COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(s.creditamount, 0) + COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, s.originator_external_ids, '') AS originator_external_ids - FROM summary_snapshot_baseline_data s - LEFT JOIN post_snapshot_delta_data p - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - - UNION ALL - - SELECT p.productname AS productname, - p.glcode AS glcode, - p.glname AS glname, - COALESCE(p.assetowner, 0) AS assetowner, - COALESCE(p.debitamount, 0) AS debitamount, - COALESCE(p.creditamount, 0) AS creditamount, - COALESCE(p.originator_external_ids, '') AS originator_external_ids - FROM post_snapshot_delta_data p - LEFT JOIN summary_snapshot_baseline_data s - ON s.glcode = p.glcode - AND s.productname = p.productname - AND s.assetowner = p.assetowner - AND s.originator_external_ids = p.originator_external_ids - WHERE s.glcode IS NULL), - current_cob_data AS (SELECT lp.name AS productname, - account_id, - acc_gl_account.gl_code AS glcode, - acc_gl_account.name AS glname, - CASE WHEN aw.owner_id IS NULL THEN 0 ELSE aw.owner_id END AS assetowner, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 2 THEN amount ELSE 0 END) AS debitamount, - SUM(CASE WHEN acc_gl_journal_entry.type_enum = 1 THEN amount ELSE 0 END) AS creditamount, - COALESCE((SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) - FROM m_loan_originator_mapping mlom - JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id - WHERE mlom.loan_id = m.id), '') AS originator_external_ids - FROM acc_gl_journal_entry - JOIN acc_gl_account ON acc_gl_account.id = acc_gl_journal_entry.account_id - JOIN m_loan m ON m.id = acc_gl_journal_entry.entity_id - JOIN m_product_loan lp ON lp.id = m.product_id - LEFT JOIN m_external_asset_owner_journal_entry_mapping aw - ON aw.journal_entry_id = acc_gl_journal_entry.id - WHERE acc_gl_journal_entry.entity_type_enum = 1 - AND acc_gl_journal_entry.manual_entry = FALSE - AND acc_gl_journal_entry.submitted_on_date = '${endDate}' - AND (acc_gl_journal_entry.office_id = ${officeId}) - GROUP BY productname, account_id, glcode, glname, assetowner, originator_external_ids) - -SELECT * -FROM (SELECT * - FROM retained_earning - WHERE glacct = (SELECT gl_code FROM acc_gl_account WHERE name = 'Retained Earnings Prior Year') - - UNION - - SELECT txnreport.postingdate, - txnreport.product, - txnreport.glacct, - txnreport.description, - txnreport.assetowner, - (COALESCE(txnreport.beginningbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS beginningbalance, - txnreport.debitmovement AS debitmovement, - txnreport.creditmovement AS creditmovement, - (COALESCE(txnreport.endingbalance, 0) + COALESCE(summary.beginningbalance, 0)) AS endingbalance, - txnreport.originator_external_ids AS originator_external_ids - FROM (SELECT * - FROM (SELECT DISTINCT '${endDate}' AS postingdate, - loan.pname AS product, - loan.gl_code AS glacct, - loan.glname AS description, - COALESCE((SELECT external_id FROM m_external_asset_owner WHERE id = loan.assetowner), - 'self') AS assetowner, - loan.openingbalance AS beginningbalance, - (loan.debitamount * 1) AS debitmovement, - (loan.creditamount * -1) AS creditmovement, - (loan.openingbalance + loan.debitamount - loan.creditamount) AS endingbalance, - loan.originator_external_ids AS originator_external_ids - FROM (SELECT DISTINCT g.pname AS pname, - g.gl_code AS gl_code, - g.glname AS glname, - COALESCE(mh.assetowner, c.assetowner, 0) AS assetowner, - COALESCE(mh.debitamount, 0) - COALESCE(mh.creditamount, 0) AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(mh.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, ag.id, pl.NAME AS pname, ag.NAME AS glname - FROM acc_gl_account ag - JOIN acc_product_mapping am ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g - LEFT JOIN merged_historical_data mh - ON g.gl_code = mh.glcode - AND mh.productname = g.pname - LEFT JOIN current_cob_data c - ON g.gl_code = c.glcode - AND c.productname = g.pname - AND mh.assetowner = c.assetowner - AND mh.originator_external_ids = c.originator_external_ids - - UNION ALL - - SELECT DISTINCT c.productname AS pname, - c.glcode AS gl_code, - c.glname AS glname, - COALESCE(c.assetowner, 0) AS assetowner, - 0 AS openingbalance, - COALESCE(c.debitamount, 0) AS debitamount, - COALESCE(c.creditamount, 0) AS creditamount, - COALESCE(matched.originator_external_ids, c.originator_external_ids) AS originator_external_ids - FROM current_cob_data c - LEFT JOIN (SELECT g3.gl_code, g3.pname, mh.assetowner, mh.originator_external_ids - FROM (SELECT DISTINCT ag.gl_code, pl.NAME AS pname - FROM acc_gl_account ag - JOIN acc_product_mapping am - ON am.gl_account_id = ag.id AND am.product_type = 1 - JOIN m_product_loan pl ON pl.id = am.product_id) g3 - LEFT JOIN merged_historical_data mh - ON g3.gl_code = mh.glcode - AND mh.productname = g3.pname) matched - ON matched.gl_code = c.glcode - AND matched.pname = c.productname - AND matched.assetowner = c.assetowner - AND matched.originator_external_ids = c.originator_external_ids - WHERE matched.gl_code IS NULL) loan) a) AS txnreport - LEFT JOIN retained_earning summary - ON txnreport.glacct = summary.glacct - AND txnreport.assetowner = summary.assetowner - AND summary.product = txnreport.product - AND summary.originator_external_ids = txnreport.originator_external_ids) report -WHERE report.endingbalance != 0 - OR report.debitmovement != 0 - OR report.creditmovement != 0 -ORDER BY glacct - ]]> - - report_name='Trial Balance Summary Report with Asset Owner' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0238_transaction_summary_report_update_originator_inline_join.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0238_transaction_summary_report_update_originator_inline_join.xml deleted file mode 100644 index fdbb525b591..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0238_transaction_summary_report_update_originator_inline_join.xml +++ /dev/null @@ -1,3285 +0,0 @@ - - - - - - = '${endDate}' - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - (SELECT STRING_AGG(DISTINCT mlo.external_id, ', ' ORDER BY mlo.external_id) FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null::bigint AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - = '${endDate}' - WHERE t.submitted_on_date = '${endDate}' - AND t.transaction_type_enum not in (10, 26, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - slt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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})), - rlt_except_charge_adj_and_accrual AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND t.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = t.classification_cv_id) - ELSE NULL END AS classification_name, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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, 32, 34, 36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_charge_adj AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - t.overpayment_portion_derived, - t.principal_portion_derived, - t.interest_portion_derived, - t.fee_charges_portion_derived, - t.penalty_charges_portion_derived, - t.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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})), - slt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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.is_reversed = false - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - rlt_cap_income_amortization AS (SELECT '${endDate}' AS transactiondate, - t.id, - l.name, - t.transaction_type_enum, - d.payment_type_id, - CASE - WHEN d.payment_type_id IS NULL AND bt.classification_cv_id IS NOT NULL - THEN (SELECT code_value FROM m_code_value WHERE id = bt.classification_cv_id) - ELSE NULL END AS classification_name, - CASE - WHEN t.overpayment_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS overpayment_portion_derived, - CASE - WHEN t.principal_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS principal_portion_derived, - CASE - WHEN t.interest_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS interest_portion_derived, - CASE - WHEN t.fee_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS fee_charges_portion_derived, - CASE - WHEN t.penalty_charges_portion_derived IS NOT NULL - THEN map.amount - ELSE NULL END AS penalty_charges_portion_derived, - map.amount, - e.status, - e.settlement_date, - e.owner_id, - m.charged_off_on_date, - t.transaction_date, - m.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 - JOIN m_loan_amortization_allocation_mapping map - ON map.amortization_loan_transaction_id = t.id - JOIN m_loan_transaction bt ON bt.id = map.base_loan_transaction_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.is_reversed = true - AND t.transaction_type_enum IN (36, 39, 42, 43) - AND (t.office_id = ${officeId})), - active_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - t.owner_id, - t.previous_owner_id, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}'), - buyback_external_asset_owner_transfers AS (SELECT '${endDate}' AS transactiondate, - t.id, - p.name, - dt.principal_outstanding_derived, - dt.interest_outstanding_derived, - dt.fee_charges_outstanding_derived, - dt.penalty_charges_outstanding_derived, - dt.total_overpaid_derived, - l.charged_off_on_date, - t.settlement_date, - l.charge_off_reason_cv_id, - t.owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in ('BUYBACK', 'BUYBACK_INTERMEDIATE') - AND c.office_id = ${officeId} - AND t.settlement_date = '${endDate}') -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, - COALESCE((SELECT value FROM m_payment_type WHERE id = a.payment_type_id), - a.classification_name) AS PaymentType_Name, - a.chargetype AS chargetype, - a.reversal_indicator AS Reversed, - a.Allocation_Type AS Allocation_Type, - (SELECT code_value FROM m_code_value WHERE id = a.charge_off_reason_id) 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, 28, 31, 33, 34, 37, 39, 41, 43) 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, 28, 31, 33, 34, 37, 39, 41, 43) AND - a.reversal_indicator = true THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) AND a.reversal_indicator = false THEN sum(a.amount) * + 1 - WHEN a.transaction_type IN (1, 10, 25, 20, 35, 36, 40, 42) 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, - (SELECT external_id - FROM m_external_asset_owner - WHERE id = a.from_asset_owner_id) AS From_asset_owner_id, - a.originator_external_ids AS Originator_External_Ids -FROM (SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.transaction_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_cap_income_amortization AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 in (10, 34) - AND t.is_reversed = false - AND (t.office_id = ${officeId}) - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM slt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 - WHEN t.overpayment_portion_derived is null THEN t.amount - WHEN t.overpayment_portion_derived is not null - THEN t.amount - t.overpayment_portion_derived - 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - t.classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_except_charge_adj_and_accrual AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - l.name AS product, - t.transaction_type_enum AS transaction_type, - null AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 AS payment_type_id, - null AS classification_name, - mc.name AS chargetype, - 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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 payment_type_id, - null AS classification_name, - '' 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 in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND e.settlement_date < '${endDate}' - THEN e.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (m.charged_off_on_date <= t.transaction_date) - THEN m.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - (SELECT GROUP_CONCAT(DISTINCT mlo.external_id ORDER BY mlo.external_id SEPARATOR ', ') FROM m_loan_originator_mapping mlom JOIN m_loan_originator mlo ON mlo.id = mlom.originator_id WHERE mlom.loan_id = t.loan_id) AS originator_external_ids - 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, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - t.transaction_type_enum AS transaction_type, - t.payment_type_id, - null AS classification_name, - '' 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 t.status in ('ACTIVE', 'ACTIVE_INTERMEDIATE') AND t.settlement_date < '${endDate}' - THEN t.owner_id END AS asset_owner_id, - CASE - WHEN t.transaction_type_enum = 27 OR (t.charged_off_on_date <= t.transaction_date) - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - null AS from_asset_owner_id, - t.originator_external_ids - FROM rlt_charge_adj AS t - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT t.transactiondate, - t.id, - t.name AS product, - 9999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived AS amount, - t.owner_id AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.previous_owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM active_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Principal' AS Allocation_type, - t.principal_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.principal_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Interest' AS Allocation_type, - t.interest_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.interest_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Fees' AS Allocation_type, - t.fee_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.fee_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Penalty' AS Allocation_type, - t.penalty_charges_outstanding_derived AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.penalty_charges_outstanding_derived > 0 - UNION ALL - SELECT '${endDate}' AS transactiondate, - t.id, - t.name AS product, - 99999 AS transaction_type, - null AS payment_type_id, - null AS classification_name, - '' AS chargetype, - false AS reversal_indicator, - 'Unallocated Credit (UNC)' AS Allocation_type, - t.total_overpaid_derived * -1 AS amount, - null AS asset_owner_id, - CASE - WHEN t.charged_off_on_date <= t.settlement_date - THEN t.charge_off_reason_cv_id END AS charge_off_reason_id, - t.owner_id AS from_asset_owner_id, - t.originator_external_ids - FROM buyback_external_asset_owner_transfers AS t - WHERE t.total_overpaid_derived > 0) a -GROUP BY a.transactiondate, a.product, a.transaction_type, a.payment_type_id, a.classification_name, a.chargetype, - a.reversal_indicator, a.Allocation_Type, a.asset_owner_id, a.charge_off_reason_id, a.from_asset_owner_id, - a.originator_external_ids -ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 - ]]> - - report_name='Transaction Summary Report with Asset Owner' - - - - - - - - report_name='Transaction Summary Report' - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0239_add_retained_earning_job.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0239_add_retained_earning_job.xml deleted file mode 100644 index 11e4283068f..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0239_add_retained_earning_job.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - select count(1) from job where short_name = 'RE_ERNG' - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0240_add_retained_earning_global_configuration.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0240_add_retained_earning_global_configuration.xml deleted file mode 100644 index b34d70a02f6..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0240_add_retained_earning_global_configuration.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - select count(1) from c_configuration where name = 'last-day-of-financial-year' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0241_set_datetime_precision.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0241_set_datetime_precision.xml deleted file mode 100644 index eb64e1cdaaf..00000000000 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0241_set_datetime_precision.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -