diff --git a/CHANGELOG.md b/CHANGELOG.md index b7d697d23..3b0cc3fb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ See VERSIONING (https://github.com/openMF/mifosx/blob/master/VERSIONING.md) for Releases =============== +1. 12 Jan 2016 - 16.01.1.RELEASE 1. 17 Dec 2015 - 15.12.2.RELEASE 1. 02 Dec 2015 - 15.12.1.RELEASE 1. 18 Nov 2015 - 15.11.2.RELEASE @@ -82,6 +83,60 @@ Releases 1. 05 April 2013 - 0.11.1.beta 1. 05 April 2013 - 0.11.0.beta +16.01.1.RELEASE +============= + +This release includes Variable Installments Feature. +This release also includes many bug fixes as mentioned below. + +Platform & API + +New Features & Improvements +Following stories of Variable Installments Epic + - [MIFOSX-2254] - Capture data at product level + - [MIFOSX-2255] - Allow installment due dates to be modified + - [MIFOSX-2257] - Add additional installments + - [MIFOSX-2419] - Add "consider partial period interest" option to loan + - [MIFOSX-2256] - Allow installment amounts to be modified (either total installment or principal portion can be modified) + +Bugs + + - [MIFOSX-2207] - After Client transfer if loan repayment is done loan balance is displaying as negative in Transactions page + - [MIFOSX-2139] - Overdue Charges Not getting updated in repayment schedule after second tranche disbursement + - [MIFOSX-2160] - Not able to waive Charge displays internal server error + - [MIFOSX-2181] - Add Savings Fee Not working + - [MIFOSX-2189] - If %Approved amount Charge defined for multi tranche loan is calculating for %Disbursed amount + - [MIFOSX-2283] - Installment fee - Flat is not working as expected for multi tranche loans + - [MIFOSX-2284] - Not able to make loan repayment with the installment fees attached + - [MIFOSX-2285] - Overdue Charge with % Approved amount is not working as expected + - [MIFOSX-2286] - Overdue charge - Flat is not getting applied properly + - [MIFOSX-2290] - Penalties receivable is not displaying in Loan Transactions page for overdue loans. + - [MIFOSX-2292] - In Modify loan application not able to add any charges displayed internal server error + - [MIFOSX-2296] - Overdue charge applied as % Approved amount is collcting as % of Principal due in Loans + - [MIFOSX-2304] - Overdue charge is not getting applied properly + - [MIFOSX-2355] - For Floating interest - If expected disbursement date is modified during Loan approval then after disbursement interest is getting calculated wrt submitted date + - [MIFOSX-2356] - If the Expected disbursement date is modified during loan approval and the Loan is disbursed on the same date as modifed during approval then installment date is not getting updated as per disbursed date + - [MIFOSX-2358] - fix for last installment overdue charge + - [MIFOSX-2367] - For Yearly repayment if the Days in year is defined as 365 the interest is not getting calculated properly for loan with interest recalculation + - Retrofitted SPM API to ease the usage + - [CC-38] - adding client account no in client data + - [CC-32] - undo last tranche disbursal feature + - [CC-42] - adding new transaction date in collection sheet + - [CC-61] - validate holiday only once while doing repayment through collection + +Community-App + +New Features & Improvements +Variable Installments Feature + +Bugs + + - [CC-48] - enabling code values based on active or inactive status + - [MIFOSX-2412] - Floating Rate UI Enhancements + - [MIFOSX-2413] - Adding tooltip for floating interest rate screens + - [MIFOSX-2419] - UI Chages to add partial period interest calcualtion + - [MIFOSX-2282] - Some times after fetching the latest code interest type is missing out while creating the loan product + 15.12.2.RELEASE ============= This release introduces Customer Self Service APIs. diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index ddd71b071..9f5115bc3 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -90,7 +90,7 @@
- +

Overview

diff --git a/mifosng-provider/gradle.properties b/mifosng-provider/gradle.properties index 232fdd81a..b4f779566 100644 --- a/mifosng-provider/gradle.properties +++ b/mifosng-provider/gradle.properties @@ -1,3 +1,3 @@ -releaseVersion=15.12.2.RELEASE +releaseVersion=16.01.1.RELEASE diff --git a/mifosng-provider/src/main/resources/sql/migrations/sample_data/barebones_db.sql b/mifosng-provider/src/main/resources/sql/migrations/sample_data/barebones_db.sql index 2a8b37908..00b5bceac 100644 --- a/mifosng-provider/src/main/resources/sql/migrations/sample_data/barebones_db.sql +++ b/mifosng-provider/src/main/resources/sql/migrations/sample_data/barebones_db.sql @@ -1,6 +1,6 @@ -- -------------------------------------------------------- -- Host: 127.0.0.1 --- Server version: 5.5.34 - MySQL Community Server (GPL) +-- Server version: 5.6.21-log - MySQL Community Server (GPL) -- Server OS: Win64 -- HeidiSQL Version: 9.3.0.4984 -- -------------------------------------------------------- @@ -228,7 +228,7 @@ CREATE TABLE IF NOT EXISTS `c_cache` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.c_cache: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.c_cache: ~0 rows (approximately) /*!40000 ALTER TABLE `c_cache` DISABLE KEYS */; INSERT INTO `c_cache` (`id`, `cache_type_enum`) VALUES (1, 1); @@ -340,25 +340,25 @@ CREATE TABLE IF NOT EXISTS `job` ( -- Dumping data for table mifostenant-default.job: ~19 rows (approximately) /*!40000 ALTER TABLE `job` DISABLE KEYS */; INSERT INTO `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`) VALUES - (1, 'Update loan Summary', 'Update loan Summary', '0 0 22 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2015-12-17 22:00:00', 'Update loan SummaryJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (2, 'Update Loan Arrears Ageing', 'Update Loan Arrears Ageing', '0 1 0 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2015-12-18 00:01:00', 'Update Loan Arrears AgeingJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (3, 'Update Loan Paid In Advance', 'Update Loan Paid In Advance', '0 5 0 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2015-12-18 00:05:00', 'Update Loan Paid In AdvanceJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (4, 'Apply Annual Fee For Savings', 'Apply Annual Fee For Savings', '0 20 22 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2015-12-17 22:20:00', 'Apply Annual Fee For SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (5, 'Apply Holidays To Loans', 'Apply Holidays To Loans', '0 0 12 * * ?', '2015-06-03 02:56:57', 5, NULL, NULL, '2015-12-17 12:00:00', 'Apply Holidays To LoansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (6, 'Post Interest For Savings', 'Post Interest For Savings', '0 0 0 1/1 * ? *', '2015-06-03 02:56:58', 5, NULL, NULL, '2015-12-18 00:00:00', 'Post Interest For SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 1, 0), - (7, 'Transfer Fee For Loans From Savings', 'Transfer Fee For Loans From Savings', '0 1 0 1/1 * ? *', '2015-06-03 02:57:00', 5, NULL, NULL, '2015-12-18 00:01:00', 'Transfer Fee For Loans From SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (8, 'Pay Due Savings Charges', 'Pay Due Savings Charges', '0 0 12 * * ?', '2013-09-23 00:00:00', 5, NULL, NULL, '2015-12-17 12:00:00', 'Pay Due Savings ChargesJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (9, 'Update Accounting Running Balances', 'Update Accounting Running Balances', '0 1 0 1/1 * ? *', '2015-06-03 02:57:00', 5, NULL, NULL, '2015-12-18 00:01:00', 'Update Accounting Running BalancesJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (10, 'Execute Standing Instruction', 'Execute Standing Instruction', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2015-12-18 00:00:00', 'Execute Standing InstructionJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (11, 'Add Accrual Transactions', 'Add Accrual Transactions', '0 1 0 1/1 * ? *', '2015-06-03 02:57:04', 3, NULL, NULL, '2015-12-18 00:01:00', 'Add Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (12, 'Apply penalty to overdue loans', 'Apply penalty to overdue loans', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2015-12-18 00:00:00', 'Apply penalty to overdue loansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (13, 'Update Non Performing Assets', 'Update Non Performing Assets', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2015-12-18 00:00:00', 'Update Non Performing AssetsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (14, 'Transfer Interest To Savings', 'Transfer Interest To Savings', '0 2 0 1/1 * ? *', '2015-06-03 02:57:05', 4, NULL, NULL, '2015-12-18 00:02:00', 'Transfer Interest To SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 1, 0), - (15, 'Update Deposit Accounts Maturity details', 'Update Deposit Accounts Maturity details', '0 0 0 1/1 * ? *', '2015-06-03 02:57:05', 5, NULL, NULL, '2015-12-18 00:00:00', 'Update Deposit Accounts Maturity detailsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (16, 'Add Periodic Accrual Transactions', 'Add Periodic Accrual Transactions', '0 2 0 1/1 * ? *', '2015-06-03 02:57:06', 2, NULL, NULL, '2015-12-18 00:02:00', 'Add Periodic Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (17, 'Recalculate Interest For Loans', 'Recalculate Interest For Loans', '0 1 0 1/1 * ? *', '2015-06-03 02:57:07', 4, NULL, NULL, '2015-12-18 00:01:00', 'Recalculate Interest For LoansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (18, 'Generate Mandatory Savings Schedule', 'Generate Mandatory Savings Schedule', '0 5 0 1/1 * ? *', '2015-06-03 02:57:12', 5, NULL, NULL, '2015-12-18 00:05:00', 'Generate Mandatory Savings ScheduleJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (19, 'Generate Loan Loss Provisioning', 'Generate Loan Loss Provisioning', '0 0 0 1/1 * ? *', '2015-10-20 19:57:53', 5, NULL, NULL, '2015-12-18 00:00:00', 'Generate Loan Loss ProvisioningJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0); + (1, 'Update loan Summary', 'Update loan Summary', '0 0 22 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2016-01-12 22:00:00', 'Update loan SummaryJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (2, 'Update Loan Arrears Ageing', 'Update Loan Arrears Ageing', '0 1 0 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2016-01-13 00:01:00', 'Update Loan Arrears AgeingJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (3, 'Update Loan Paid In Advance', 'Update Loan Paid In Advance', '0 5 0 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2016-01-13 00:05:00', 'Update Loan Paid In AdvanceJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (4, 'Apply Annual Fee For Savings', 'Apply Annual Fee For Savings', '0 20 22 1/1 * ? *', '2015-06-03 02:56:57', 5, NULL, NULL, '2016-01-12 22:20:00', 'Apply Annual Fee For SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (5, 'Apply Holidays To Loans', 'Apply Holidays To Loans', '0 0 12 * * ?', '2015-06-03 02:56:57', 5, NULL, NULL, '2016-01-13 12:00:00', 'Apply Holidays To LoansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (6, 'Post Interest For Savings', 'Post Interest For Savings', '0 0 0 1/1 * ? *', '2015-06-03 02:56:58', 5, NULL, NULL, '2016-01-13 00:00:00', 'Post Interest For SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 1, 0), + (7, 'Transfer Fee For Loans From Savings', 'Transfer Fee For Loans From Savings', '0 1 0 1/1 * ? *', '2015-06-03 02:57:00', 5, NULL, NULL, '2016-01-13 00:01:00', 'Transfer Fee For Loans From SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (8, 'Pay Due Savings Charges', 'Pay Due Savings Charges', '0 0 12 * * ?', '2013-09-23 00:00:00', 5, NULL, NULL, '2016-01-13 12:00:00', 'Pay Due Savings ChargesJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (9, 'Update Accounting Running Balances', 'Update Accounting Running Balances', '0 1 0 1/1 * ? *', '2015-06-03 02:57:00', 5, NULL, NULL, '2016-01-13 00:01:00', 'Update Accounting Running BalancesJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (10, 'Execute Standing Instruction', 'Execute Standing Instruction', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2016-01-13 00:00:00', 'Execute Standing InstructionJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (11, 'Add Accrual Transactions', 'Add Accrual Transactions', '0 1 0 1/1 * ? *', '2015-06-03 02:57:04', 3, NULL, NULL, '2016-01-13 00:01:00', 'Add Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (12, 'Apply penalty to overdue loans', 'Apply penalty to overdue loans', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2016-01-13 00:00:00', 'Apply penalty to overdue loansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (13, 'Update Non Performing Assets', 'Update Non Performing Assets', '0 0 0 1/1 * ? *', '2015-06-03 02:57:04', 5, NULL, NULL, '2016-01-13 00:00:00', 'Update Non Performing AssetsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (14, 'Transfer Interest To Savings', 'Transfer Interest To Savings', '0 2 0 1/1 * ? *', '2015-06-03 02:57:05', 4, NULL, NULL, '2016-01-13 00:02:00', 'Transfer Interest To SavingsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 1, 0), + (15, 'Update Deposit Accounts Maturity details', 'Update Deposit Accounts Maturity details', '0 0 0 1/1 * ? *', '2015-06-03 02:57:05', 5, NULL, NULL, '2016-01-13 00:00:00', 'Update Deposit Accounts Maturity detailsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (16, 'Add Periodic Accrual Transactions', 'Add Periodic Accrual Transactions', '0 2 0 1/1 * ? *', '2015-06-03 02:57:06', 2, NULL, NULL, '2016-01-13 00:02:00', 'Add Periodic Accrual TransactionsJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (17, 'Recalculate Interest For Loans', 'Recalculate Interest For Loans', '0 1 0 1/1 * ? *', '2015-06-03 02:57:07', 4, NULL, NULL, '2016-01-13 00:01:00', 'Recalculate Interest For LoansJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (18, 'Generate Mandatory Savings Schedule', 'Generate Mandatory Savings Schedule', '0 5 0 1/1 * ? *', '2015-06-03 02:57:12', 5, NULL, NULL, '2016-01-13 00:05:00', 'Generate Mandatory Savings ScheduleJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (19, 'Generate Loan Loss Provisioning', 'Generate Loan Loss Provisioning', '0 0 0 1/1 * ? *', '2015-10-20 19:57:53', 5, NULL, NULL, '2016-01-13 00:00:00', 'Generate Loan Loss ProvisioningJobDetail1 _ DEFAULT', NULL, 1, 0, 1, 0, 0); /*!40000 ALTER TABLE `job` ENABLE KEYS */; @@ -462,7 +462,7 @@ CREATE TABLE IF NOT EXISTS `mix_taxonomy_mapping` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.mix_taxonomy_mapping: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.mix_taxonomy_mapping: ~0 rows (approximately) /*!40000 ALTER TABLE `mix_taxonomy_mapping` DISABLE KEYS */; INSERT INTO `mix_taxonomy_mapping` (`id`, `identifier`, `config`, `last_update_date`, `currency`) VALUES (1, 'default', NULL, NULL, ''); @@ -677,7 +677,7 @@ CREATE TABLE IF NOT EXISTS `m_appuser_role` ( CONSTRAINT `FK7662CE59B4100309` FOREIGN KEY (`appuser_id`) REFERENCES `m_appuser` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_appuser_role: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_appuser_role: ~0 rows (approximately) /*!40000 ALTER TABLE `m_appuser_role` DISABLE KEYS */; INSERT INTO `m_appuser_role` (`appuser_id`, `role_id`) VALUES (1, 1); @@ -1084,6 +1084,7 @@ CREATE TABLE IF NOT EXISTS `m_code_value` ( `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', PRIMARY KEY (`id`), UNIQUE KEY `code_value` (`code_id`,`code_value`), KEY `FKCFCEA42640BE071Z` (`code_id`), @@ -1092,19 +1093,19 @@ CREATE TABLE IF NOT EXISTS `m_code_value` ( -- Dumping data for table mifostenant-default.m_code_value: ~12 rows (approximately) /*!40000 ALTER TABLE `m_code_value` DISABLE KEYS */; -INSERT INTO `m_code_value` (`id`, `code_id`, `code_value`, `code_description`, `order_position`, `code_score`) VALUES - (1, 1, 'Passport', NULL, 1, NULL), - (2, 1, 'Id', NULL, 2, NULL), - (3, 1, 'Drivers License', NULL, 3, NULL), - (4, 1, 'Any Other Id Type', NULL, 4, NULL), - (5, 6, 'Spouse', NULL, 0, NULL), - (6, 6, 'Parent', NULL, 0, NULL), - (7, 6, 'Sibling', NULL, 0, NULL), - (8, 6, 'Business Associate', NULL, 0, NULL), - (9, 6, 'Other', NULL, 0, NULL), - (10, 21, 'Office Access to Loan Products', NULL, 0, NULL), - (11, 21, 'Office Access to Savings Products', NULL, 0, NULL), - (12, 21, 'Office Access to Fees/Charges', NULL, 0, NULL); +INSERT INTO `m_code_value` (`id`, `code_id`, `code_value`, `code_description`, `order_position`, `code_score`, `is_active`) VALUES + (1, 1, 'Passport', NULL, 1, NULL, 1), + (2, 1, 'Id', NULL, 2, NULL, 1), + (3, 1, 'Drivers License', NULL, 3, NULL, 1), + (4, 1, 'Any Other Id Type', NULL, 4, NULL, 1), + (5, 6, 'Spouse', NULL, 0, NULL, 1), + (6, 6, 'Parent', NULL, 0, NULL, 1), + (7, 6, 'Sibling', NULL, 0, NULL, 1), + (8, 6, 'Business Associate', NULL, 0, NULL, 1), + (9, 6, 'Other', NULL, 0, NULL, 1), + (10, 21, 'Office Access to Loan Products', NULL, 0, NULL, 1), + (11, 21, 'Office Access to Savings Products', NULL, 0, NULL, 1), + (12, 21, 'Office Access to Fees/Charges', NULL, 0, NULL, 1); /*!40000 ALTER TABLE `m_code_value` ENABLE KEYS */; @@ -1988,6 +1989,7 @@ CREATE TABLE IF NOT EXISTS `m_loan` ( `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, `interest_method_enum` smallint(5) NOT NULL, `interest_calculated_in_period_enum` smallint(5) NOT NULL DEFAULT '1', + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT '0', `term_frequency` smallint(5) NOT NULL DEFAULT '0', `term_period_frequency_enum` smallint(5) NOT NULL DEFAULT '2', `repay_every` smallint(5) NOT NULL, @@ -2088,8 +2090,8 @@ CREATE TABLE IF NOT EXISTS `m_loan` ( 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_loan_ltp_strategy` FOREIGN KEY (`loan_transaction_strategy_id`) REFERENCES `ref_loan_transaction_processing_strategy` (`id`), - CONSTRAINT `FK_m_loanpurpose_codevalue` FOREIGN KEY (`loanpurpose_cv_id`) REFERENCES `m_code_value` (`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_submittedon_userid` FOREIGN KEY (`submittedon_userid`) REFERENCES `m_appuser` (`id`), CONSTRAINT `FK_withdrawnon_userid` FOREIGN KEY (`withdrawnon_userid`) REFERENCES `m_appuser` (`id`), @@ -2502,8 +2504,11 @@ CREATE TABLE IF NOT EXISTS `m_loan_term_variations` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `loan_id` bigint(20) NOT NULL, `term_type` smallint(2) NOT NULL, - `applicable_from` date NOT NULL, - `term_value` decimal(19,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(4) NOT NULL DEFAULT '0', + `applied_on_loan_status` smallint(5) NOT NULL, PRIMARY KEY (`id`), KEY `FK_loan_id_m_loan_id` (`loan_id`), CONSTRAINT `FK_loan_id_m_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) @@ -2709,7 +2714,7 @@ CREATE TABLE IF NOT EXISTS `m_office` ( CONSTRAINT `FK2291C477E2551DCC` FOREIGN KEY (`parent_id`) REFERENCES `m_office` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_office: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_office: ~0 rows (approximately) /*!40000 ALTER TABLE `m_office` DISABLE KEYS */; INSERT INTO `m_office` (`id`, `parent_id`, `hierarchy`, `external_id`, `name`, `opening_date`) VALUES (1, NULL, '.', '1', 'Head Office', '2009-01-01'); @@ -2752,7 +2757,7 @@ CREATE TABLE IF NOT EXISTS `m_organisation_currency` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_organisation_currency: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_organisation_currency: ~0 rows (approximately) /*!40000 ALTER TABLE `m_organisation_currency` DISABLE KEYS */; INSERT INTO `m_organisation_currency` (`id`, `code`, `decimal_places`, `currency_multiplesof`, `name`, `display_symbol`, `internationalized_name_code`) VALUES (21, 'USD', 2, NULL, 'US Dollar', '$', 'currency.USD'); @@ -2825,9 +2830,9 @@ CREATE TABLE IF NOT EXISTS `m_permission` ( `can_maker_checker` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=695 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=701 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_permission: ~776 rows (approximately) +-- Dumping data for table mifostenant-default.m_permission: ~678 rows (approximately) /*!40000 ALTER TABLE `m_permission` DISABLE KEYS */; INSERT INTO `m_permission` (`id`, `grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`) VALUES (1, 'special', 'ALL_FUNCTIONS', NULL, NULL, 0), @@ -3501,7 +3506,13 @@ INSERT INTO `m_permission` (`id`, `grouping`, `code`, `entity_name`, `action_nam (691, 'portfolio', 'CREATE_FLOATINGRATE', 'FLOATINGRATE', 'CREATE', 1), (692, 'portfolio', 'CREATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'CREATE_CHECKER', 0), (693, 'portfolio', 'UPDATE_FLOATINGRATE', 'FLOATINGRATE', 'UPDATE', 1), - (694, 'portfolio', 'UPDATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'UPDATE_CHECKER', 0); + (694, 'portfolio', 'UPDATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'UPDATE_CHECKER', 0), + (695, 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'CREATESCHEDULEEXCEPTIONS', 0), + (696, 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'CREATESCHEDULEEXCEPTIONS_CHECKER', 0), + (697, 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'DELETESCHEDULEEXCEPTIONS', 0), + (698, 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'DELETESCHEDULEEXCEPTIONS_CHECKER', 0), + (699, 'transaction_loan', 'DISBURSALLASTUNDO_LOAN', 'LOAN', 'DISBURSALLASTUNDO', 0), + (700, 'transaction_loan', 'DISBURSALLASTUNDO_LOAN_CHECKER', 'LOAN', 'DISBURSALLASTUNDO_CHECKER', 0); /*!40000 ALTER TABLE `m_permission` ENABLE KEYS */; @@ -3590,6 +3601,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan` ( `description` varchar(500) DEFAULT NULL, `fund_id` bigint(20) DEFAULT NULL, `is_linked_to_floating_interest_rates` bit(1) NOT NULL DEFAULT b'0', + `allow_variabe_installments` bit(1) NOT NULL DEFAULT b'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, @@ -3597,6 +3609,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan` ( `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, `interest_method_enum` smallint(5) NOT NULL, `interest_calculated_in_period_enum` smallint(5) NOT NULL DEFAULT '1', + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT '0', `repay_every` smallint(5) NOT NULL, `repayment_period_frequency_enum` smallint(5) NOT NULL, `number_of_repayments` smallint(5) NOT NULL, @@ -3695,8 +3708,8 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_floating_rates` ( PRIMARY KEY (`id`), KEY `FK_mappings_m_product_loan_id` (`loan_product_id`), KEY `FK_mappings_m_floating_rates_id` (`floating_rates_id`), - CONSTRAINT `FK_mappings_m_product_loan_id` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`), - CONSTRAINT `FK_mappings_m_floating_rates_id` FOREIGN KEY (`floating_rates_id`) REFERENCES `m_floating_rates` (`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=utf8; -- Dumping data for table mifostenant-default.m_product_loan_floating_rates: ~0 rows (approximately) @@ -3747,6 +3760,23 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_recalculation_details` ( /*!40000 ALTER TABLE `m_product_loan_recalculation_details` ENABLE KEYS */; +-- Dumping structure for table mifostenant-default.m_product_loan_variable_installment_config +DROP TABLE IF EXISTS `m_product_loan_variable_installment_config`; +CREATE TABLE IF NOT EXISTS `m_product_loan_variable_installment_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `minimum_gap` int(4) NOT NULL, + `maximum_gap` int(4) 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=utf8; + +-- Dumping data for table mifostenant-default.m_product_loan_variable_installment_config: ~0 rows (approximately) +/*!40000 ALTER TABLE `m_product_loan_variable_installment_config` DISABLE KEYS */; +/*!40000 ALTER TABLE `m_product_loan_variable_installment_config` ENABLE KEYS */; + + -- Dumping structure for table mifostenant-default.m_product_loan_variations_borrower_cycle DROP TABLE IF EXISTS `m_product_loan_variations_borrower_cycle`; CREATE TABLE IF NOT EXISTS `m_product_loan_variations_borrower_cycle` ( @@ -3887,7 +3917,7 @@ CREATE TABLE IF NOT EXISTS `m_role` ( UNIQUE KEY `unq_name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_role: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_role: ~0 rows (approximately) /*!40000 ALTER TABLE `m_role` DISABLE KEYS */; INSERT INTO `m_role` (`id`, `name`, `description`, `is_disabled`) VALUES (1, 'Super user', 'This role provides all application permissions.', 0); @@ -3906,7 +3936,7 @@ CREATE TABLE IF NOT EXISTS `m_role_permission` ( CONSTRAINT `FK8DEDB04815CEC7AB` FOREIGN KEY (`role_id`) REFERENCES `m_role` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_role_permission: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_role_permission: ~0 rows (approximately) /*!40000 ALTER TABLE `m_role_permission` DISABLE KEYS */; INSERT INTO `m_role_permission` (`role_id`, `permission_id`) VALUES (1, 1); @@ -4493,7 +4523,7 @@ CREATE TABLE IF NOT EXISTS `m_working_days` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.m_working_days: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.m_working_days: ~0 rows (approximately) /*!40000 ALTER TABLE `m_working_days` DISABLE KEYS */; INSERT INTO `m_working_days` (`id`, `recurrence`, `repayment_rescheduling_enum`, `extend_term_daily_repayments`) VALUES (1, 'FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU', 2, 0); @@ -4534,7 +4564,7 @@ CREATE TABLE IF NOT EXISTS `oauth_client_details` ( PRIMARY KEY (`client_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.oauth_client_details: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.oauth_client_details: ~0 rows (approximately) /*!40000 ALTER TABLE `oauth_client_details` DISABLE KEYS */; INSERT INTO `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, '123', 'all', 'password,refresh_token', NULL, NULL, NULL, NULL, NULL, NULL); @@ -4747,7 +4777,7 @@ CREATE TABLE IF NOT EXISTS `scheduler_detail` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.scheduler_detail: ~1 rows (approximately) +-- Dumping data for table mifostenant-default.scheduler_detail: ~0 rows (approximately) /*!40000 ALTER TABLE `scheduler_detail` DISABLE KEYS */; INSERT INTO `scheduler_detail` (`id`, `is_suspended`, `execute_misfired_jobs`, `reset_scheduler_on_bootup`) VALUES (1, 0, 1, 1); @@ -4774,7 +4804,7 @@ CREATE TABLE IF NOT EXISTS `schema_version` ( KEY `schema_version_s_idx` (`success`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.schema_version: ~373 rows (approximately) +-- Dumping data for table mifostenant-default.schema_version: ~299 rows (approximately) /*!40000 ALTER TABLE `schema_version` DISABLE KEYS */; INSERT INTO `schema_version` (`version_rank`, `installed_rank`, `version`, `description`, `type`, `script`, `checksum`, `installed_by`, `installed_on`, `execution_time`, `success`) VALUES (1, 1, '1', 'mifosplatform-core-ddl-latest', 'SQL', 'V1__mifosplatform-core-ddl-latest.sql', 1800446512, 'root', '2015-06-03 15:26:50', 919, 1), @@ -4994,6 +5024,10 @@ INSERT INTO `schema_version` (`version_rank`, `installed_rank`, `version`, `desc (293, 293, '280', 'spm framework initial tables', 'SQL', 'V280__spm_framework_initial_tables.sql', -1638980235, 'root', '2015-12-02 16:07:43', 509, 1), (294, 294, '281', 'add configuration param backdate-penalties', 'SQL', 'V281__add_configuration_param_backdate-penalties.sql', -45520299, 'root', '2015-12-02 16:07:44', 39, 1), (295, 295, '282', 'CustomerSelfService', 'SQL', 'V282__CustomerSelfService.sql', -51763400, 'root', '2015-12-17 10:17:33', 440, 1), + (296, 296, '283', 'Variable Installments', 'SQL', 'V283__Variable_Installments.sql', -1104936867, 'root', '2016-01-12 17:39:15', 2067, 1), + (297, 297, '284', 'update codevalue', 'SQL', 'V284__update_codevalue.sql', 442711672, 'root', '2016-01-12 17:39:16', 982, 1), + (298, 298, '285', 'undo last tranche script', 'SQL', 'V285__undo_last_tranche_script.sql', 1551040289, 'root', '2016-01-12 17:39:17', 56, 1), + (299, 299, '286', 'partial period interest calcualtion', 'SQL', 'V286__partial_period_interest_calcualtion.sql', -1701869481, 'root', '2016-01-12 17:39:19', 1898, 1), (29, 29, '29', 'add-support-for-annual-fees-on-savings', 'SQL', 'V29__add-support-for-annual-fees-on-savings.sql', -1595233842, 'root', '2015-06-03 15:26:53', 157, 1), (3, 3, '3', 'mifosx-permissions-and-authorisation-utf8', 'SQL', 'V3__mifosx-permissions-and-authorisation-utf8.sql', 914436650, 'root', '2015-06-03 15:26:50', 14, 1), (30, 30, '30', 'add-referenceNumber-to-acc gl journal entry', 'SQL', 'V30__add-referenceNumber-to-acc_gl_journal_entry.sql', 255130282, 'root', '2015-06-03 15:26:53', 59, 1), @@ -5161,7 +5195,7 @@ CREATE TABLE IF NOT EXISTS `stretchy_report` ( UNIQUE KEY `report_name_UNIQUE` (`report_name`) ) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-default.stretchy_report: ~125 rows (approximately) +-- Dumping data for table mifostenant-default.stretchy_report: ~92 rows (approximately) /*!40000 ALTER TABLE `stretchy_report` DISABLE KEYS */; INSERT INTO `stretchy_report` (`id`, `report_name`, `report_type`, `report_subtype`, `report_category`, `report_sql`, `description`, `core_report`, `use_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), diff --git a/mifosng-provider/src/main/resources/sql/migrations/sample_data/load_sample_data.sql b/mifosng-provider/src/main/resources/sql/migrations/sample_data/load_sample_data.sql index f52a6f4e2..e95edf34f 100644 --- a/mifosng-provider/src/main/resources/sql/migrations/sample_data/load_sample_data.sql +++ b/mifosng-provider/src/main/resources/sql/migrations/sample_data/load_sample_data.sql @@ -1,6 +1,6 @@ -- -------------------------------------------------------- -- Host: 127.0.0.1 --- Server version: 5.5.34 - MySQL Community Server (GPL) +-- Server version: 5.6.21-log - MySQL Community Server (GPL) -- Server OS: Win64 -- HeidiSQL Version: 9.3.0.4984 -- -------------------------------------------------------- @@ -159,7 +159,7 @@ CREATE TABLE IF NOT EXISTS `acc_gl_financial_activity_account` ( CONSTRAINT `FK_office_mapping_acc_gl_account` FOREIGN KEY (`gl_account_id`) REFERENCES `acc_gl_account` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.acc_gl_financial_activity_account: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.acc_gl_financial_activity_account: ~0 rows (approximately) /*!40000 ALTER TABLE `acc_gl_financial_activity_account` DISABLE KEYS */; INSERT INTO `acc_gl_financial_activity_account` (`id`, `gl_account_id`, `financial_activity_type`) VALUES (1, 55, 200); @@ -305,7 +305,7 @@ CREATE TABLE IF NOT EXISTS `c_cache` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.c_cache: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.c_cache: ~0 rows (approximately) /*!40000 ALTER TABLE `c_cache` DISABLE KEYS */; INSERT INTO `c_cache` (`id`, `cache_type_enum`) VALUES (1, 1); @@ -417,25 +417,25 @@ CREATE TABLE IF NOT EXISTS `job` ( -- Dumping data for table mifostenant-reference.job: ~19 rows (approximately) /*!40000 ALTER TABLE `job` DISABLE KEYS */; INSERT INTO `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`) VALUES - (1, 'Update loan Summary', 'Update loan Summary', '0 0 22 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, '2014-06-11 09:30:00', '2015-12-17 22:00:00', 'Update loan SummaryJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (2, 'Update Loan Arrears Ageing', 'Update Loan Arrears Ageing', '0 1 0 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, NULL, '2015-12-18 00:01:00', 'Update Loan Arrears AgeingJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (3, 'Update Loan Paid In Advance', 'Update Loan Paid In Advance', '0 5 0 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, NULL, '2015-12-18 00:05:00', 'Update Loan Paid In AdvanceJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (4, 'Apply Annual Fee For Savings', 'Apply Annual Fee For Savings', '0 20 22 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, '2014-06-11 09:50:00', '2015-12-17 22:20:00', 'Apply Annual Fee For SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (5, 'Apply Holidays To Loans', 'Apply Holidays To Loans', '0 0 12 * * ?', '2014-03-07 18:29:14', 5, NULL, '2014-03-24 12:00:04', '2015-12-17 12:00:00', 'Apply Holidays To LoansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (6, 'Post Interest For Savings', 'Post Interest For Savings', '0 0 0 1/1 * ? *', '2014-03-07 18:29:21', 5, NULL, NULL, '2015-12-18 00:00:00', 'Post Interest For SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 1, 0), - (7, 'Transfer Fee For Loans From Savings', 'Transfer Fee For Loans From Savings', '0 1 0 1/1 * ? *', '2014-03-07 18:29:32', 5, NULL, NULL, '2015-12-18 00:01:00', 'Transfer Fee For Loans From SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (8, 'Pay Due Savings Charges', 'Pay Due Savings Charges', '0 0 12 * * ?', '2013-09-23 00:00:00', 5, NULL, '2014-03-24 12:00:04', '2015-12-17 12:00:00', 'Pay Due Savings ChargesJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (9, 'Update Accounting Running Balances', 'Update Accounting Running Balances', '0 1 0 1/1 * ? *', '2014-03-07 18:29:37', 5, NULL, NULL, '2015-12-18 00:01:00', 'Update Accounting Running BalancesJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (10, 'Execute Standing Instruction', 'Execute Standing Instruction', '0 0 0 1/1 * ? *', '2014-05-01 16:10:35', 5, NULL, NULL, '2015-12-18 00:00:00', 'Execute Standing InstructionJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (11, 'Add Accrual Transactions', 'Add Accrual Transactions', '0 1 0 1/1 * ? *', '2014-05-01 16:10:36', 3, NULL, NULL, '2015-12-18 00:01:00', 'Add Accrual TransactionsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (12, 'Apply penalty to overdue loans', 'Apply penalty to overdue loans', '0 0 0 1/1 * ? *', '2014-05-01 16:10:36', 5, NULL, NULL, '2015-12-18 00:00:00', 'Apply penalty to overdue loansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (13, 'Update Non Performing Assets', 'Update Non Performing Assets', '0 0 0 1/1 * ? *', '2014-05-01 16:10:41', 5, NULL, NULL, '2015-12-18 00:00:00', 'Update Non Performing AssetsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (14, 'Transfer Interest To Savings', 'Transfer Interest To Savings', '0 2 0 1/1 * ? *', '2014-06-11 09:09:15', 4, NULL, NULL, '2015-12-18 00:02:00', 'Transfer Interest To SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 1, 0), - (15, 'Update Deposit Accounts Maturity details', 'Update Deposit Accounts Maturity details', '0 0 0 1/1 * ? *', '2014-06-11 09:09:15', 5, NULL, NULL, '2015-12-18 00:00:00', 'Update Deposit Accounts Maturity detailsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (16, 'Add Periodic Accrual Transactions', 'Add Periodic Accrual Transactions', '0 2 0 1/1 * ? *', '2014-10-14 16:19:45', 2, NULL, NULL, '2015-12-18 00:02:00', 'Add Periodic Accrual TransactionsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (17, 'Recalculate Interest For Loans', 'Recalculate Interest For Loans', '0 1 0 1/1 * ? *', '2014-10-14 16:19:55', 4, NULL, NULL, '2015-12-18 00:01:00', 'Recalculate Interest For LoansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), - (18, 'Generate Mandatory Savings Schedule', 'Generate Mandatory Savings Schedule', '0 5 0 1/1 * ? *', '2015-04-16 02:28:43', 5, NULL, NULL, '2015-12-18 00:05:00', 'Generate Mandatory Savings ScheduleJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), - (19, 'Generate Loan Loss Provisioning', 'Generate Loan Loss Provisioning', '0 0 0 1/1 * ? *', '2015-10-20 19:57:58', 5, NULL, NULL, '2015-12-18 00:00:00', 'Generate Loan Loss ProvisioningJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0); + (1, 'Update loan Summary', 'Update loan Summary', '0 0 22 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, '2014-06-11 09:30:00', '2016-01-12 22:00:00', 'Update loan SummaryJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (2, 'Update Loan Arrears Ageing', 'Update Loan Arrears Ageing', '0 1 0 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, NULL, '2016-01-13 00:01:00', 'Update Loan Arrears AgeingJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (3, 'Update Loan Paid In Advance', 'Update Loan Paid In Advance', '0 5 0 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, NULL, '2016-01-13 00:05:00', 'Update Loan Paid In AdvanceJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (4, 'Apply Annual Fee For Savings', 'Apply Annual Fee For Savings', '0 20 22 1/1 * ? *', '2014-03-07 18:29:14', 5, NULL, '2014-06-11 09:50:00', '2016-01-12 22:20:00', 'Apply Annual Fee For SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (5, 'Apply Holidays To Loans', 'Apply Holidays To Loans', '0 0 12 * * ?', '2014-03-07 18:29:14', 5, NULL, '2014-03-24 12:00:04', '2016-01-13 12:00:00', 'Apply Holidays To LoansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (6, 'Post Interest For Savings', 'Post Interest For Savings', '0 0 0 1/1 * ? *', '2014-03-07 18:29:21', 5, NULL, NULL, '2016-01-13 00:00:00', 'Post Interest For SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 1, 0), + (7, 'Transfer Fee For Loans From Savings', 'Transfer Fee For Loans From Savings', '0 1 0 1/1 * ? *', '2014-03-07 18:29:32', 5, NULL, NULL, '2016-01-13 00:01:00', 'Transfer Fee For Loans From SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (8, 'Pay Due Savings Charges', 'Pay Due Savings Charges', '0 0 12 * * ?', '2013-09-23 00:00:00', 5, NULL, '2014-03-24 12:00:04', '2016-01-13 12:00:00', 'Pay Due Savings ChargesJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (9, 'Update Accounting Running Balances', 'Update Accounting Running Balances', '0 1 0 1/1 * ? *', '2014-03-07 18:29:37', 5, NULL, NULL, '2016-01-13 00:01:00', 'Update Accounting Running BalancesJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (10, 'Execute Standing Instruction', 'Execute Standing Instruction', '0 0 0 1/1 * ? *', '2014-05-01 16:10:35', 5, NULL, NULL, '2016-01-13 00:00:00', 'Execute Standing InstructionJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (11, 'Add Accrual Transactions', 'Add Accrual Transactions', '0 1 0 1/1 * ? *', '2014-05-01 16:10:36', 3, NULL, NULL, '2016-01-13 00:01:00', 'Add Accrual TransactionsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (12, 'Apply penalty to overdue loans', 'Apply penalty to overdue loans', '0 0 0 1/1 * ? *', '2014-05-01 16:10:36', 5, NULL, NULL, '2016-01-13 00:00:00', 'Apply penalty to overdue loansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (13, 'Update Non Performing Assets', 'Update Non Performing Assets', '0 0 0 1/1 * ? *', '2014-05-01 16:10:41', 5, NULL, NULL, '2016-01-13 00:00:00', 'Update Non Performing AssetsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (14, 'Transfer Interest To Savings', 'Transfer Interest To Savings', '0 2 0 1/1 * ? *', '2014-06-11 09:09:15', 4, NULL, NULL, '2016-01-13 00:02:00', 'Transfer Interest To SavingsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 1, 0), + (15, 'Update Deposit Accounts Maturity details', 'Update Deposit Accounts Maturity details', '0 0 0 1/1 * ? *', '2014-06-11 09:09:15', 5, NULL, NULL, '2016-01-13 00:00:00', 'Update Deposit Accounts Maturity detailsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (16, 'Add Periodic Accrual Transactions', 'Add Periodic Accrual Transactions', '0 2 0 1/1 * ? *', '2014-10-14 16:19:45', 2, NULL, NULL, '2016-01-13 00:02:00', 'Add Periodic Accrual TransactionsJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (17, 'Recalculate Interest For Loans', 'Recalculate Interest For Loans', '0 1 0 1/1 * ? *', '2014-10-14 16:19:55', 4, NULL, NULL, '2016-01-13 00:01:00', 'Recalculate Interest For LoansJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 3, 0), + (18, 'Generate Mandatory Savings Schedule', 'Generate Mandatory Savings Schedule', '0 5 0 1/1 * ? *', '2015-04-16 02:28:43', 5, NULL, NULL, '2016-01-13 00:05:00', 'Generate Mandatory Savings ScheduleJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0), + (19, 'Generate Loan Loss Provisioning', 'Generate Loan Loss Provisioning', '0 0 0 1/1 * ? *', '2015-10-20 19:57:58', 5, NULL, NULL, '2016-01-13 00:00:00', 'Generate Loan Loss ProvisioningJobDetail2 _ DEFAULT', NULL, 1, 0, 1, 0, 0); /*!40000 ALTER TABLE `job` ENABLE KEYS */; @@ -558,7 +558,7 @@ CREATE TABLE IF NOT EXISTS `mix_taxonomy_mapping` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.mix_taxonomy_mapping: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.mix_taxonomy_mapping: ~0 rows (approximately) /*!40000 ALTER TABLE `mix_taxonomy_mapping` DISABLE KEYS */; INSERT INTO `mix_taxonomy_mapping` (`id`, `identifier`, `config`, `last_update_date`, `currency`) VALUES (1, 'default', NULL, NULL, ''); @@ -932,7 +932,7 @@ CREATE TABLE IF NOT EXISTS `m_charge` ( CONSTRAINT `FK_m_charge_acc_gl_account` FOREIGN KEY (`income_or_liability_account_id`) REFERENCES `acc_gl_account` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_charge: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_charge: ~0 rows (approximately) /*!40000 ALTER TABLE `m_charge` DISABLE KEYS */; INSERT INTO `m_charge` (`id`, `name`, `currency_code`, `charge_applies_to_enum`, `charge_time_enum`, `charge_calculation_enum`, `charge_payment_mode_enum`, `amount`, `fee_on_day`, `fee_interval`, `fee_on_month`, `is_penalty`, `is_active`, `is_deleted`, `min_cap`, `max_cap`, `fee_frequency`, `income_or_liability_account_id`) VALUES (1, 'Processing Fee', 'USD', 1, 1, 1, 0, 500.000000, NULL, NULL, NULL, 0, 1, 0, NULL, NULL, NULL, NULL); @@ -1196,6 +1196,7 @@ CREATE TABLE IF NOT EXISTS `m_code_value` ( `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', PRIMARY KEY (`id`), UNIQUE KEY `code_value` (`code_id`,`code_value`), KEY `FKCFCEA42640BE071Z` (`code_id`), @@ -1204,33 +1205,33 @@ CREATE TABLE IF NOT EXISTS `m_code_value` ( -- Dumping data for table mifostenant-reference.m_code_value: ~26 rows (approximately) /*!40000 ALTER TABLE `m_code_value` DISABLE KEYS */; -INSERT INTO `m_code_value` (`id`, `code_id`, `code_value`, `code_description`, `order_position`, `code_score`) VALUES - (1, 1, 'Passport Id', NULL, 1, NULL), - (2, 1, 'Government Id', NULL, 2, NULL), - (3, 1, 'Drivers License', NULL, 3, NULL), - (4, 1, 'Any Other Id Type', NULL, 4, NULL), - (5, 6, 'Spouse', NULL, 0, NULL), - (6, 6, 'Parent', NULL, 0, NULL), - (7, 6, 'Sibling', NULL, 0, NULL), - (8, 6, 'Business Associate', NULL, 0, NULL), - (9, 6, 'Other', NULL, 0, NULL), - (10, 3, 'Cattle Rearing', NULL, 104, NULL), - (11, 3, 'Others', NULL, 105, NULL), - (12, 3, 'Tailoring Shop', NULL, 101, NULL), - (13, 3, 'Small Provisions Store', NULL, 102, NULL), - (14, 3, 'Agriculture', NULL, 103, NULL), - (15, 14, 'Blacklisted', NULL, 1, NULL), - (16, 14, 'Deceased', NULL, 2, NULL), - (17, 14, 'Transferred', NULL, 3, NULL), - (18, 14, 'Left', NULL, 4, NULL), - (19, 14, 'others', NULL, 5, NULL), - (20, 1, 'Voter ID', NULL, 6, NULL), - (21, 1, 'Ration Card', NULL, 5, NULL), - (22, 4, 'Male', NULL, 1, NULL), - (24, 4, 'Female', NULL, 2, NULL), - (25, 21, 'Office Access to Loan Products', NULL, 0, NULL), - (26, 21, 'Office Access to Savings Products', NULL, 0, NULL), - (27, 21, 'Office Access to Fees/Charges', NULL, 0, NULL); +INSERT INTO `m_code_value` (`id`, `code_id`, `code_value`, `code_description`, `order_position`, `code_score`, `is_active`) VALUES + (1, 1, 'Passport Id', NULL, 1, NULL, 1), + (2, 1, 'Government Id', NULL, 2, NULL, 1), + (3, 1, 'Drivers License', NULL, 3, NULL, 1), + (4, 1, 'Any Other Id Type', NULL, 4, NULL, 1), + (5, 6, 'Spouse', NULL, 0, NULL, 1), + (6, 6, 'Parent', NULL, 0, NULL, 1), + (7, 6, 'Sibling', NULL, 0, NULL, 1), + (8, 6, 'Business Associate', NULL, 0, NULL, 1), + (9, 6, 'Other', NULL, 0, NULL, 1), + (10, 3, 'Cattle Rearing', NULL, 104, NULL, 1), + (11, 3, 'Others', NULL, 105, NULL, 1), + (12, 3, 'Tailoring Shop', NULL, 101, NULL, 1), + (13, 3, 'Small Provisions Store', NULL, 102, NULL, 1), + (14, 3, 'Agriculture', NULL, 103, NULL, 1), + (15, 14, 'Blacklisted', NULL, 1, NULL, 1), + (16, 14, 'Deceased', NULL, 2, NULL, 1), + (17, 14, 'Transferred', NULL, 3, NULL, 1), + (18, 14, 'Left', NULL, 4, NULL, 1), + (19, 14, 'others', NULL, 5, NULL, 1), + (20, 1, 'Voter ID', NULL, 6, NULL, 1), + (21, 1, 'Ration Card', NULL, 5, NULL, 1), + (22, 4, 'Male', NULL, 1, NULL, 1), + (24, 4, 'Female', NULL, 2, NULL, 1), + (25, 21, 'Office Access to Loan Products', NULL, 0, NULL, 1), + (26, 21, 'Office Access to Savings Products', NULL, 0, NULL, 1), + (27, 21, 'Office Access to Fees/Charges', NULL, 0, NULL, 1); /*!40000 ALTER TABLE `m_code_value` ENABLE KEYS */; @@ -1689,7 +1690,7 @@ CREATE TABLE IF NOT EXISTS `m_fund` ( UNIQUE KEY `fund_externalid_org` (`external_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_fund: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_fund: ~0 rows (approximately) /*!40000 ALTER TABLE `m_fund` DISABLE KEYS */; INSERT INTO `m_fund` (`id`, `name`, `external_id`) VALUES (1, 'Loan from Central Bank', NULL); @@ -2128,6 +2129,7 @@ CREATE TABLE IF NOT EXISTS `m_loan` ( `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, `interest_method_enum` smallint(5) NOT NULL, `interest_calculated_in_period_enum` smallint(5) NOT NULL DEFAULT '1', + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT '0', `term_frequency` smallint(5) NOT NULL DEFAULT '0', `term_period_frequency_enum` smallint(5) NOT NULL DEFAULT '2', `repay_every` smallint(5) NOT NULL, @@ -2228,8 +2230,8 @@ CREATE TABLE IF NOT EXISTS `m_loan` ( 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_loan_ltp_strategy` FOREIGN KEY (`loan_transaction_strategy_id`) REFERENCES `ref_loan_transaction_processing_strategy` (`id`), - CONSTRAINT `FK_m_loanpurpose_codevalue` FOREIGN KEY (`loanpurpose_cv_id`) REFERENCES `m_code_value` (`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_submittedon_userid` FOREIGN KEY (`submittedon_userid`) REFERENCES `m_appuser` (`id`), CONSTRAINT `FK_withdrawnon_userid` FOREIGN KEY (`withdrawnon_userid`) REFERENCES `m_appuser` (`id`), @@ -2238,8 +2240,8 @@ CREATE TABLE IF NOT EXISTS `m_loan` ( -- Dumping data for table mifostenant-reference.m_loan: ~1 rows (approximately) /*!40000 ALTER TABLE `m_loan` DISABLE KEYS */; -INSERT INTO `m_loan` (`id`, `account_no`, `external_id`, `client_id`, `group_id`, `product_id`, `fund_id`, `loan_officer_id`, `loanpurpose_cv_id`, `loan_status_id`, `loan_type_enum`, `currency_code`, `currency_digits`, `currency_multiplesof`, `principal_amount_proposed`, `principal_amount`, `approved_principal`, `arrearstolerance_amount`, `is_floating_interest_rate`, `interest_rate_differential`, `nominal_interest_rate_per_period`, `interest_period_frequency_enum`, `annual_nominal_interest_rate`, `interest_method_enum`, `interest_calculated_in_period_enum`, `term_frequency`, `term_period_frequency_enum`, `repay_every`, `repayment_period_frequency_enum`, `repayment_frequency_nth_day_enum`, `repayment_frequency_day_of_week_enum`, `number_of_repayments`, `grace_on_principal_periods`, `grace_on_interest_periods`, `grace_interest_free_periods`, `amortization_method_enum`, `submittedon_date`, `submittedon_userid`, `approvedon_date`, `approvedon_userid`, `expected_disbursedon_date`, `expected_firstrepaymenton_date`, `interest_calculated_from_date`, `disbursedon_date`, `disbursedon_userid`, `expected_maturedon_date`, `maturedon_date`, `closedon_date`, `closedon_userid`, `total_charges_due_at_disbursement_derived`, `principal_disbursed_derived`, `principal_repaid_derived`, `principal_writtenoff_derived`, `principal_outstanding_derived`, `interest_charged_derived`, `interest_repaid_derived`, `interest_waived_derived`, `interest_writtenoff_derived`, `interest_outstanding_derived`, `fee_charges_charged_derived`, `fee_charges_repaid_derived`, `fee_charges_waived_derived`, `fee_charges_writtenoff_derived`, `fee_charges_outstanding_derived`, `penalty_charges_charged_derived`, `penalty_charges_repaid_derived`, `penalty_charges_waived_derived`, `penalty_charges_writtenoff_derived`, `penalty_charges_outstanding_derived`, `total_expected_repayment_derived`, `total_repayment_derived`, `total_expected_costofloan_derived`, `total_costofloan_derived`, `total_waived_derived`, `total_writtenoff_derived`, `total_outstanding_derived`, `total_overpaid_derived`, `rejectedon_date`, `rejectedon_userid`, `rescheduledon_date`, `rescheduledon_userid`, `withdrawnon_date`, `withdrawnon_userid`, `writtenoffon_date`, `loan_transaction_strategy_id`, `sync_disbursement_with_meeting`, `loan_counter`, `loan_product_counter`, `fixed_emi_amount`, `max_outstanding_loan_balance`, `grace_on_arrears_ageing`, `is_npa`, `total_recovered_derived`, `accrued_till`, `interest_recalcualated_on`, `days_in_month_enum`, `days_in_year_enum`, `interest_recalculation_enabled`, `guarantee_amount_derived`, `create_standing_instruction_at_disbursement`, `version`) VALUES - (1, '000000001', NULL, 8, NULL, 1, 1, NULL, NULL, 200, 1, 'USD', 2, 0, 10000.000000, 10000.000000, 10000.000000, NULL, b'0', 0.000000, 26.000000, 3, 26.000000, 1, 1, 25, 1, 1, 1, 0, 0, 25, NULL, NULL, NULL, 1, '2014-06-02', 1, '2014-06-11', 1, '2014-06-16', NULL, NULL, NULL, NULL, '2014-12-08', '2014-12-08', NULL, NULL, 500.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, 1, 0, NULL, NULL, 1); +INSERT INTO `m_loan` (`id`, `account_no`, `external_id`, `client_id`, `group_id`, `product_id`, `fund_id`, `loan_officer_id`, `loanpurpose_cv_id`, `loan_status_id`, `loan_type_enum`, `currency_code`, `currency_digits`, `currency_multiplesof`, `principal_amount_proposed`, `principal_amount`, `approved_principal`, `arrearstolerance_amount`, `is_floating_interest_rate`, `interest_rate_differential`, `nominal_interest_rate_per_period`, `interest_period_frequency_enum`, `annual_nominal_interest_rate`, `interest_method_enum`, `interest_calculated_in_period_enum`, `allow_partial_period_interest_calcualtion`, `term_frequency`, `term_period_frequency_enum`, `repay_every`, `repayment_period_frequency_enum`, `repayment_frequency_nth_day_enum`, `repayment_frequency_day_of_week_enum`, `number_of_repayments`, `grace_on_principal_periods`, `grace_on_interest_periods`, `grace_interest_free_periods`, `amortization_method_enum`, `submittedon_date`, `submittedon_userid`, `approvedon_date`, `approvedon_userid`, `expected_disbursedon_date`, `expected_firstrepaymenton_date`, `interest_calculated_from_date`, `disbursedon_date`, `disbursedon_userid`, `expected_maturedon_date`, `maturedon_date`, `closedon_date`, `closedon_userid`, `total_charges_due_at_disbursement_derived`, `principal_disbursed_derived`, `principal_repaid_derived`, `principal_writtenoff_derived`, `principal_outstanding_derived`, `interest_charged_derived`, `interest_repaid_derived`, `interest_waived_derived`, `interest_writtenoff_derived`, `interest_outstanding_derived`, `fee_charges_charged_derived`, `fee_charges_repaid_derived`, `fee_charges_waived_derived`, `fee_charges_writtenoff_derived`, `fee_charges_outstanding_derived`, `penalty_charges_charged_derived`, `penalty_charges_repaid_derived`, `penalty_charges_waived_derived`, `penalty_charges_writtenoff_derived`, `penalty_charges_outstanding_derived`, `total_expected_repayment_derived`, `total_repayment_derived`, `total_expected_costofloan_derived`, `total_costofloan_derived`, `total_waived_derived`, `total_writtenoff_derived`, `total_outstanding_derived`, `total_overpaid_derived`, `rejectedon_date`, `rejectedon_userid`, `rescheduledon_date`, `rescheduledon_userid`, `withdrawnon_date`, `withdrawnon_userid`, `writtenoffon_date`, `loan_transaction_strategy_id`, `sync_disbursement_with_meeting`, `loan_counter`, `loan_product_counter`, `fixed_emi_amount`, `max_outstanding_loan_balance`, `grace_on_arrears_ageing`, `is_npa`, `total_recovered_derived`, `accrued_till`, `interest_recalcualated_on`, `days_in_month_enum`, `days_in_year_enum`, `interest_recalculation_enabled`, `guarantee_amount_derived`, `create_standing_instruction_at_disbursement`, `version`) VALUES + (1, '000000001', NULL, 8, NULL, 1, 1, NULL, NULL, 200, 1, 'USD', 2, 0, 10000.000000, 10000.000000, 10000.000000, NULL, b'0', 0.000000, 26.000000, 3, 26.000000, 1, 1, 0, 25, 1, 1, 1, 0, 0, 25, NULL, NULL, NULL, 1, '2014-06-02', 1, '2014-06-11', 1, '2014-06-16', NULL, NULL, NULL, NULL, '2014-12-08', '2014-12-08', NULL, NULL, 500.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, 1, 1, 0, NULL, NULL, 1); /*!40000 ALTER TABLE `m_loan` ENABLE KEYS */; @@ -2349,7 +2351,7 @@ CREATE TABLE IF NOT EXISTS `m_loan_charge` ( CONSTRAINT `m_loan_charge_ibfk_2` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_loan_charge: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_loan_charge: ~0 rows (approximately) /*!40000 ALTER TABLE `m_loan_charge` DISABLE KEYS */; INSERT INTO `m_loan_charge` (`id`, `loan_id`, `charge_id`, `is_penalty`, `charge_time_enum`, `due_for_collection_as_of_date`, `charge_calculation_enum`, `charge_payment_mode_enum`, `calculation_percentage`, `calculation_on_amount`, `charge_amount_or_percentage`, `amount`, `amount_paid_derived`, `amount_waived_derived`, `amount_writtenoff_derived`, `amount_outstanding_derived`, `is_paid_derived`, `waived`, `min_cap`, `max_cap`, `is_active`) VALUES (1, 1, 1, 0, 1, NULL, 1, 0, NULL, NULL, 500.000000, 500.000000, NULL, NULL, NULL, 500.000000, 0, 0, NULL, NULL, 1); @@ -2672,8 +2674,11 @@ CREATE TABLE IF NOT EXISTS `m_loan_term_variations` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `loan_id` bigint(20) NOT NULL, `term_type` smallint(2) NOT NULL, - `applicable_from` date NOT NULL, - `term_value` decimal(19,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(4) NOT NULL DEFAULT '0', + `applied_on_loan_status` smallint(5) NOT NULL, PRIMARY KEY (`id`), KEY `FK_loan_id_m_loan_id` (`loan_id`), CONSTRAINT `FK_loan_id_m_loan_id` FOREIGN KEY (`loan_id`) REFERENCES `m_loan` (`id`) @@ -2924,7 +2929,7 @@ CREATE TABLE IF NOT EXISTS `m_organisation_currency` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_organisation_currency: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_organisation_currency: ~0 rows (approximately) /*!40000 ALTER TABLE `m_organisation_currency` DISABLE KEYS */; INSERT INTO `m_organisation_currency` (`id`, `code`, `decimal_places`, `currency_multiplesof`, `name`, `display_symbol`, `internationalized_name_code`) VALUES (21, 'USD', 2, NULL, 'US Dollar', '$', 'currency.USD'); @@ -2997,9 +3002,9 @@ CREATE TABLE IF NOT EXISTS `m_permission` ( `can_maker_checker` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=695 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=701 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_permission: ~773 rows (approximately) +-- Dumping data for table mifostenant-reference.m_permission: ~678 rows (approximately) /*!40000 ALTER TABLE `m_permission` DISABLE KEYS */; INSERT INTO `m_permission` (`id`, `grouping`, `code`, `entity_name`, `action_name`, `can_maker_checker`) VALUES (1, 'special', 'ALL_FUNCTIONS', NULL, NULL, 0), @@ -3673,7 +3678,13 @@ INSERT INTO `m_permission` (`id`, `grouping`, `code`, `entity_name`, `action_nam (691, 'portfolio', 'CREATE_FLOATINGRATE', 'FLOATINGRATE', 'CREATE', 1), (692, 'portfolio', 'CREATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'CREATE_CHECKER', 0), (693, 'portfolio', 'UPDATE_FLOATINGRATE', 'FLOATINGRATE', 'UPDATE', 1), - (694, 'portfolio', 'UPDATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'UPDATE_CHECKER', 0); + (694, 'portfolio', 'UPDATE_FLOATINGRATE_CHECKER', 'FLOATINGRATE', 'UPDATE_CHECKER', 0), + (695, 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'CREATESCHEDULEEXCEPTIONS', 0), + (696, 'portfolio', 'CREATESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'CREATESCHEDULEEXCEPTIONS_CHECKER', 0), + (697, 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN', 'LOAN', 'DELETESCHEDULEEXCEPTIONS', 0), + (698, 'portfolio', 'DELETESCHEDULEEXCEPTIONS_LOAN_CHECKER', 'LOAN', 'DELETESCHEDULEEXCEPTIONS_CHECKER', 0), + (699, 'transaction_loan', 'DISBURSALLASTUNDO_LOAN', 'LOAN', 'DISBURSALLASTUNDO', 0), + (700, 'transaction_loan', 'DISBURSALLASTUNDO_LOAN_CHECKER', 'LOAN', 'DISBURSALLASTUNDO_CHECKER', 0); /*!40000 ALTER TABLE `m_permission` ENABLE KEYS */; @@ -3741,7 +3752,7 @@ CREATE TABLE IF NOT EXISTS `m_portfolio_command_source` ( CONSTRAINT `FK_m_maker_m_appuser` FOREIGN KEY (`maker_id`) REFERENCES `m_appuser` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_portfolio_command_source: ~71 rows (approximately) +-- Dumping data for table mifostenant-reference.m_portfolio_command_source: ~72 rows (approximately) /*!40000 ALTER TABLE `m_portfolio_command_source` DISABLE KEYS */; INSERT INTO `m_portfolio_command_source` (`id`, `action_name`, `entity_name`, `office_id`, `group_id`, `client_id`, `loan_id`, `savings_account_id`, `api_get_url`, `resource_id`, `subresource_id`, `command_as_json`, `maker_id`, `made_on_date`, `checker_id`, `checked_on_date`, `processing_result_enum`, `product_id`, `transaction_id`) VALUES (1, 'CREATE', 'STAFF', 1, NULL, NULL, NULL, NULL, '/staff/template', 1, NULL, '{"isLoanOfficer":true,"officeId":1,"firstname":"Aliya","lastname":"A"}', 1, '2014-03-07 19:10:05', NULL, NULL, 1, NULL, NULL), @@ -3835,6 +3846,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan` ( `description` varchar(500) DEFAULT NULL, `fund_id` bigint(20) DEFAULT NULL, `is_linked_to_floating_interest_rates` bit(1) NOT NULL DEFAULT b'0', + `allow_variabe_installments` bit(1) NOT NULL DEFAULT b'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, @@ -3842,6 +3854,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan` ( `annual_nominal_interest_rate` decimal(19,6) DEFAULT NULL, `interest_method_enum` smallint(5) NOT NULL, `interest_calculated_in_period_enum` smallint(5) NOT NULL DEFAULT '1', + `allow_partial_period_interest_calcualtion` tinyint(1) NOT NULL DEFAULT '0', `repay_every` smallint(5) NOT NULL, `repayment_period_frequency_enum` smallint(5) NOT NULL, `number_of_repayments` smallint(5) NOT NULL, @@ -3884,8 +3897,8 @@ CREATE TABLE IF NOT EXISTS `m_product_loan` ( -- Dumping data for table mifostenant-reference.m_product_loan: ~1 rows (approximately) /*!40000 ALTER TABLE `m_product_loan` DISABLE KEYS */; -INSERT INTO `m_product_loan` (`id`, `short_name`, `currency_code`, `currency_digits`, `currency_multiplesof`, `principal_amount`, `min_principal_amount`, `max_principal_amount`, `arrearstolerance_amount`, `name`, `description`, `fund_id`, `is_linked_to_floating_interest_rates`, `nominal_interest_rate_per_period`, `min_nominal_interest_rate_per_period`, `max_nominal_interest_rate_per_period`, `interest_period_frequency_enum`, `annual_nominal_interest_rate`, `interest_method_enum`, `interest_calculated_in_period_enum`, `repay_every`, `repayment_period_frequency_enum`, `number_of_repayments`, `min_number_of_repayments`, `max_number_of_repayments`, `grace_on_principal_periods`, `grace_on_interest_periods`, `grace_interest_free_periods`, `amortization_method_enum`, `accounting_type`, `loan_transaction_strategy_id`, `external_id`, `include_in_borrower_cycle`, `use_borrower_cycle`, `start_date`, `close_date`, `allow_multiple_disbursals`, `max_disbursals`, `max_outstanding_loan_balance`, `grace_on_arrears_ageing`, `overdue_days_for_npa`, `days_in_month_enum`, `days_in_year_enum`, `interest_recalculation_enabled`, `min_days_between_disbursal_and_first_repayment`, `hold_guarantee_funds`, `principal_threshold_for_last_installment`, `account_moves_out_of_npa_only_on_arrears_completion`, `can_define_fixed_emi_amount`, `instalment_amount_in_multiples_of`) VALUES - (1, 'IGL', 'USD', 2, 0, 10000.000000, 10000.000000, 10000.000000, NULL, 'Income Generating Loan', NULL, 1, b'0', 26.000000, 26.000000, 26.000000, 3, 26.000000, 1, 1, 1, 1, 25, 25, 25, NULL, NULL, NULL, 1, 2, 1, NULL, 0, 0, '2010-01-01', NULL, 0, NULL, NULL, NULL, NULL, 1, 1, 0, NULL, 0, 0.00, 0, 0, NULL); +INSERT INTO `m_product_loan` (`id`, `short_name`, `currency_code`, `currency_digits`, `currency_multiplesof`, `principal_amount`, `min_principal_amount`, `max_principal_amount`, `arrearstolerance_amount`, `name`, `description`, `fund_id`, `is_linked_to_floating_interest_rates`, `allow_variabe_installments`, `nominal_interest_rate_per_period`, `min_nominal_interest_rate_per_period`, `max_nominal_interest_rate_per_period`, `interest_period_frequency_enum`, `annual_nominal_interest_rate`, `interest_method_enum`, `interest_calculated_in_period_enum`, `allow_partial_period_interest_calcualtion`, `repay_every`, `repayment_period_frequency_enum`, `number_of_repayments`, `min_number_of_repayments`, `max_number_of_repayments`, `grace_on_principal_periods`, `grace_on_interest_periods`, `grace_interest_free_periods`, `amortization_method_enum`, `accounting_type`, `loan_transaction_strategy_id`, `external_id`, `include_in_borrower_cycle`, `use_borrower_cycle`, `start_date`, `close_date`, `allow_multiple_disbursals`, `max_disbursals`, `max_outstanding_loan_balance`, `grace_on_arrears_ageing`, `overdue_days_for_npa`, `days_in_month_enum`, `days_in_year_enum`, `interest_recalculation_enabled`, `min_days_between_disbursal_and_first_repayment`, `hold_guarantee_funds`, `principal_threshold_for_last_installment`, `account_moves_out_of_npa_only_on_arrears_completion`, `can_define_fixed_emi_amount`, `instalment_amount_in_multiples_of`) VALUES + (1, 'IGL', 'USD', 2, 0, 10000.000000, 10000.000000, 10000.000000, NULL, 'Income Generating Loan', NULL, 1, b'0', b'0', 26.000000, 26.000000, 26.000000, 3, 26.000000, 1, 1, 0, 1, 1, 25, 25, 25, NULL, NULL, NULL, 1, 2, 1, NULL, 0, 0, '2010-01-01', NULL, 0, NULL, NULL, NULL, NULL, 1, 1, 0, NULL, 0, 0.00, 0, 0, NULL); /*!40000 ALTER TABLE `m_product_loan` ENABLE KEYS */; @@ -3900,7 +3913,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_charge` ( CONSTRAINT `m_product_loan_charge_ibfk_2` FOREIGN KEY (`product_loan_id`) REFERENCES `m_product_loan` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_product_loan_charge: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_product_loan_charge: ~0 rows (approximately) /*!40000 ALTER TABLE `m_product_loan_charge` DISABLE KEYS */; INSERT INTO `m_product_loan_charge` (`product_loan_id`, `charge_id`) VALUES (1, 1); @@ -3925,7 +3938,7 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_configurable_attributes` ( CONSTRAINT `fk_m_product_loan_configurable_attributes_0001` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_product_loan_configurable_attributes: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_product_loan_configurable_attributes: ~0 rows (approximately) /*!40000 ALTER TABLE `m_product_loan_configurable_attributes` DISABLE KEYS */; INSERT INTO `m_product_loan_configurable_attributes` (`id`, `loan_product_id`, `amortization_method_enum`, `interest_method_enum`, `loan_transaction_strategy_id`, `interest_calculated_in_period_enum`, `arrearstolerance_amount`, `repay_every`, `moratorium`, `grace_on_arrears_ageing`) VALUES (1, 1, 1, 1, 1, 1, 1, 1, 1, 1); @@ -3946,8 +3959,8 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_floating_rates` ( PRIMARY KEY (`id`), KEY `FK_mappings_m_product_loan_id` (`loan_product_id`), KEY `FK_mappings_m_floating_rates_id` (`floating_rates_id`), - CONSTRAINT `FK_mappings_m_product_loan_id` FOREIGN KEY (`loan_product_id`) REFERENCES `m_product_loan` (`id`), - CONSTRAINT `FK_mappings_m_floating_rates_id` FOREIGN KEY (`floating_rates_id`) REFERENCES `m_floating_rates` (`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=utf8; -- Dumping data for table mifostenant-reference.m_product_loan_floating_rates: ~0 rows (approximately) @@ -3998,6 +4011,23 @@ CREATE TABLE IF NOT EXISTS `m_product_loan_recalculation_details` ( /*!40000 ALTER TABLE `m_product_loan_recalculation_details` ENABLE KEYS */; +-- Dumping structure for table mifostenant-reference.m_product_loan_variable_installment_config +DROP TABLE IF EXISTS `m_product_loan_variable_installment_config`; +CREATE TABLE IF NOT EXISTS `m_product_loan_variable_installment_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `loan_product_id` bigint(20) NOT NULL, + `minimum_gap` int(4) NOT NULL, + `maximum_gap` int(4) 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=utf8; + +-- Dumping data for table mifostenant-reference.m_product_loan_variable_installment_config: ~0 rows (approximately) +/*!40000 ALTER TABLE `m_product_loan_variable_installment_config` DISABLE KEYS */; +/*!40000 ALTER TABLE `m_product_loan_variable_installment_config` ENABLE KEYS */; + + -- Dumping structure for table mifostenant-reference.m_product_loan_variations_borrower_cycle DROP TABLE IF EXISTS `m_product_loan_variations_borrower_cycle`; CREATE TABLE IF NOT EXISTS `m_product_loan_variations_borrower_cycle` ( @@ -4138,7 +4168,7 @@ CREATE TABLE IF NOT EXISTS `m_role` ( UNIQUE KEY `unq_name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_role: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_role: ~0 rows (approximately) /*!40000 ALTER TABLE `m_role` DISABLE KEYS */; INSERT INTO `m_role` (`id`, `name`, `description`, `is_disabled`) VALUES (1, 'Super user', 'This role provides all application permissions.', 0); @@ -4157,7 +4187,7 @@ CREATE TABLE IF NOT EXISTS `m_role_permission` ( CONSTRAINT `FK8DEDB04815CEC7AB` FOREIGN KEY (`role_id`) REFERENCES `m_role` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_role_permission: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_role_permission: ~0 rows (approximately) /*!40000 ALTER TABLE `m_role_permission` DISABLE KEYS */; INSERT INTO `m_role_permission` (`role_id`, `permission_id`) VALUES (1, 1); @@ -4442,7 +4472,7 @@ CREATE TABLE IF NOT EXISTS `m_savings_product` ( UNIQUE KEY `sp_unq_short_name` (`short_name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_savings_product: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_savings_product: ~0 rows (approximately) /*!40000 ALTER TABLE `m_savings_product` DISABLE KEYS */; INSERT INTO `m_savings_product` (`id`, `name`, `short_name`, `description`, `deposit_type_enum`, `currency_code`, `currency_digits`, `currency_multiplesof`, `nominal_annual_interest_rate`, `interest_compounding_period_enum`, `interest_posting_period_enum`, `interest_calculation_type_enum`, `interest_calculation_days_in_year_type_enum`, `min_required_opening_balance`, `lockin_period_frequency`, `lockin_period_frequency_enum`, `accounting_type`, `withdrawal_fee_amount`, `withdrawal_fee_type_enum`, `withdrawal_fee_for_transfer`, `allow_overdraft`, `overdraft_limit`, `min_required_balance`, `enforce_min_required_balance`, `min_balance_for_interest_calculation`) VALUES (1, 'Voluntary savings', 'VS', 'Save money', 100, 'USD', 2, 0, 9.500000, 1, 4, 1, 365, 1000.000000, 1.000000, 1, 2, NULL, NULL, 0, 0, NULL, NULL, 0, NULL); @@ -4750,7 +4780,7 @@ CREATE TABLE IF NOT EXISTS `m_working_days` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.m_working_days: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.m_working_days: ~0 rows (approximately) /*!40000 ALTER TABLE `m_working_days` DISABLE KEYS */; INSERT INTO `m_working_days` (`id`, `recurrence`, `repayment_rescheduling_enum`, `extend_term_daily_repayments`) VALUES (1, 'FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU', 2, 0); @@ -4791,7 +4821,7 @@ CREATE TABLE IF NOT EXISTS `oauth_client_details` ( PRIMARY KEY (`client_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.oauth_client_details: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.oauth_client_details: ~0 rows (approximately) /*!40000 ALTER TABLE `oauth_client_details` DISABLE KEYS */; INSERT INTO `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, '123', 'all', 'password,refresh_token', NULL, NULL, NULL, NULL, NULL, NULL); @@ -5004,7 +5034,7 @@ CREATE TABLE IF NOT EXISTS `scheduler_detail` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.scheduler_detail: ~1 rows (approximately) +-- Dumping data for table mifostenant-reference.scheduler_detail: ~0 rows (approximately) /*!40000 ALTER TABLE `scheduler_detail` DISABLE KEYS */; INSERT INTO `scheduler_detail` (`id`, `is_suspended`, `execute_misfired_jobs`, `reset_scheduler_on_bootup`) VALUES (1, 0, 1, 1); @@ -5031,7 +5061,7 @@ CREATE TABLE IF NOT EXISTS `schema_version` ( KEY `schema_version_s_idx` (`success`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; --- Dumping data for table mifostenant-reference.schema_version: ~373 rows (approximately) +-- Dumping data for table mifostenant-reference.schema_version: ~299 rows (approximately) /*!40000 ALTER TABLE `schema_version` DISABLE KEYS */; INSERT INTO `schema_version` (`version_rank`, `installed_rank`, `version`, `description`, `type`, `script`, `checksum`, `installed_by`, `installed_on`, `execution_time`, `success`) VALUES (1, 1, '1', 'mifosplatform-core-ddl-latest', 'SQL', 'V1__mifosplatform-core-ddl-latest.sql', -1957145051, 'root', '2014-03-08 02:28:38', 10710, 1), @@ -5251,6 +5281,10 @@ INSERT INTO `schema_version` (`version_rank`, `installed_rank`, `version`, `desc (293, 293, '280', 'spm framework initial tables', 'SQL', 'V280__spm_framework_initial_tables.sql', -1638980235, 'root', '2015-12-02 16:07:45', 630, 1), (294, 294, '281', 'add configuration param backdate-penalties', 'SQL', 'V281__add_configuration_param_backdate-penalties.sql', -45520299, 'root', '2015-12-02 16:07:45', 45, 1), (295, 295, '282', 'CustomerSelfService', 'SQL', 'V282__CustomerSelfService.sql', -51763400, 'root', '2015-12-17 10:17:34', 255, 1), + (296, 296, '283', 'Variable Installments', 'SQL', 'V283__Variable_Installments.sql', -1104936867, 'root', '2016-01-12 17:39:21', 1966, 1), + (297, 297, '284', 'update codevalue', 'SQL', 'V284__update_codevalue.sql', 442711672, 'root', '2016-01-12 17:39:22', 457, 1), + (298, 298, '285', 'undo last tranche script', 'SQL', 'V285__undo_last_tranche_script.sql', 1551040289, 'root', '2016-01-12 17:39:22', 29, 1), + (299, 299, '286', 'partial period interest calcualtion', 'SQL', 'V286__partial_period_interest_calcualtion.sql', -1701869481, 'root', '2016-01-12 17:39:23', 1590, 1), (29, 29, '29', 'add-support-for-annual-fees-on-savings', 'SQL', 'V29__add-support-for-annual-fees-on-savings.sql', 992227725, 'root', '2014-03-08 02:28:55', 1556, 1), (3, 3, '3', 'mifosx-permissions-and-authorisation-utf8', 'SQL', 'V3__mifosx-permissions-and-authorisation-utf8.sql', 1922951887, 'root', '2014-03-08 02:28:38', 110, 1), (30, 30, '30', 'add-referenceNumber-to-acc gl journal entry', 'SQL', 'V30__add-referenceNumber-to-acc_gl_journal_entry.sql', 2079970797, 'root', '2014-03-08 02:28:55', 327, 1), @@ -5418,7 +5452,7 @@ CREATE TABLE IF NOT EXISTS `stretchy_report` ( UNIQUE KEY `report_name_UNIQUE` (`report_name`) ) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8; --- Dumping data for table mifostenant-reference.stretchy_report: ~125 rows (approximately) +-- Dumping data for table mifostenant-reference.stretchy_report: ~92 rows (approximately) /*!40000 ALTER TABLE `stretchy_report` DISABLE KEYS */; INSERT INTO `stretchy_report` (`id`, `report_name`, `report_type`, `report_subtype`, `report_category`, `report_sql`, `description`, `core_report`, `use_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),