From 51d70d2755ca2fd029f6fc1bf188d69c4e8be6ad Mon Sep 17 00:00:00 2001 From: Brian Muhimbura Date: Tue, 6 Aug 2024 15:25:10 +0300 Subject: [PATCH] Fsf 18 19 20 prod (#993) * feature fbr 648 * fix fbr 663 * fix fbr 663 * fix fbr 646 * Fix FBR-664 (#696) * Fix missing entry for migration file * Spotless fixes * Fix for FBR-664 * Fix FBR-665 (#699) * Fix FBR-665 (#699) (#702) * fix fbr 648 * fix fbr 647 * fix fbr 647 * initial commit FBR-644 hard policy updates (#655) FBR-644 hard policy updates * Update LoanApplicationWritePlatformServiceJpaRepositoryImpl.java (#708) * Update LoanApplicationWritePlatformServiceJpaRepositoryImpl.java (#708) (#709) * Update changelog-tenant.xml (#711) * Update changelog-tenant.xml * fixed typo in query * fixed table name in query --------- Co-authored-by: Faheem Ahmad * Fix/fbr 644 v2 (#714) * Update changelog-tenant.xml * fixed typo in query * fixed table name in query * fixed multiple issues with queries * FBR-644 --------- Co-authored-by: Leonardo Hildt Co-authored-by: Faheem Ahmad * fix fbr 667 * fix fbr 667 * fix fbr 666 (#718) * release fbr 648 * release fbr 648 * release fbr 648 (#727) * release fbr 669 * release fbr 669 * Fix/fbr 669 qa (#730) * release fbr 669 * release fbr 669 * release fbr 668 * release fbr 668 * release fbr 670 * release fbr 671 * release fbr 672 * release fbr 678 * fix fbr 677 * fix fbr 684 * fix fbr 677 * release fbr 678 * fix fbr 684 * Reports Fix QA (#750) * fix FBR 673 * fix FBR 673 * fix FBR 673 * fix QA REPORTS * fix QA REPORTS * fix QA REPORTS * fix QA REPORTS (#756) * fix QA REPORTS * fix QA REPORTS * fix FBR 674 * fix QA REPORTS * fix REPORTS * fix Topu Loan Policies * Fix/fbr 673 (#768) * fix Policy Labels * fix Hard Policy Labels * Qa/fbr 673 674 (#769) * fix FBR 674 * fix REPORTS * fix Topu Loan Policies * Fix/fbr 673 (#768) * fix Policy Labels * fix Hard Policy Labels * fix/FBR-676 * fix/FBR-676 (#773) * fix/FBR-676 * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * Fix/fbr 676 (#777) * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * fix/FBR-HARDPOLICIES * fix/FBR-682 * fix/FBR-688 * fix/FBR-688 * fix/FBR-690 * Fix FBR-692 (#803) * Fix for FBR-692 * Spotless fixes * fix/FBR-699 * fix/FBR-699 (#805) * fix/FBR-699 * fix/FBR-699 * fix/FBR-699 * fix/FBR-699 * fix/FBR-699 * fix/FBR-700 * fix/FBR-700 (#812) * fix/FBR-690 * fix/FBR-696 * Release v1.0.45 (#817) * fix/FBR-699 * fix/FBR-700 * fix/FBR-700 (#812) * fix/FBR-690 * fix/FBR-696 --------- Co-authored-by: Muhimbura Brian Mart * fix/FBR-690 * fix/FBR-690 (#820) * Release v1.0.47 (#826) * fix/FBR-699 * fix/FBR-700 * fix/FBR-700 (#812) * fix/FBR-690 * fix/FBR-696 * fix/FBR-690 (#820) --------- Co-authored-by: Muhimbura Brian Mart * fix/FBR-691 * Fix FBR-691 (#831) * fix/FBR-699 * fix/FBR-700 * fix/FBR-700 (#812) * fix/FBR-690 * fix/FBR-696 * fix/FBR-690 * fix/FBR-690 (#820) * fix/FBR-691 --------- Co-authored-by: Muhimbura Brian Mart * fix/FBR-689 * fix/FBR-690 (#836) * fix FBR 697 * fix FBR 698 * fix FBR 699 * fixed NPE (#848) Co-authored-by: Faheem Ahmad * fixed NPE (#848) (#849) Co-authored-by: Faheem Ahmad Co-authored-by: Faheem Ahmad * fix FBR 689 * fix FBR 695 * fix FBR 699 * fix FBR 697 * fix FBR 697 (#861) * fix FBR 701 * Release/1.0.47/prepare (#864) * fix FBR 697 * fix FBR 701 * fix FBR 704 * Release/1.0.48/prepare (#868) * fix FBR 697 * fix FBR 701 * fix FBR 704 * fix FBR 704 * fix FBR 704 * Release/1.0.48/prepare (#869) * fix FBR 697 * fix FBR 701 * fix FBR 704 * fix FBR 704 * fix FBR 704 * fix FBR 704 (#870) * Fix/fbr 704 (#871) * fix FBR 704 * fix FBR 704 * fix FBR 704 * Release/1.0.48/prepare (#872) * fix FBR 697 * fix FBR 701 * fix FBR 704 * fix FBR 704 * fix FBR 704 * fix FBR 704 (#870) * Fix/fbr 704 (#871) * fix FBR 704 * fix FBR 704 * fix FBR 704 * fix FBR 702 (#874) * Fic 699 (#878) * Fic 689 * Fic 689 (#883) * Fic 705 (#887) * Fic 705 (#887) (#888) Co-authored-by: Brian Muhimbura * Fix/fbr 707 (#890) * Fic 705 * Fic 707 * Release/1.0.48/prepare (#891) * Fic 689 * Fic 705 (#887) * Fix/fbr 707 (#890) * Fic 705 * Fic 707 * Fix/fbr 690 (#896) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#897) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#898) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Release/1.0.48/prepare (#899) * Fic 689 * Fic 705 (#887) * Fix/fbr 707 (#890) * Fic 705 * Fic 707 * Fix/fbr 690 (#896) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#897) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#898) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * fix FBR 709 * fix FBR 709 (#901) * fix FBR 709 * Fix/fbr 709 (#903) * fix FBR 709 * fix FBR 709 * Release 1.0.49 prepare (#906) * Fic 689 * Fic 705 (#887) * Fix/fbr 707 (#890) * Fic 705 * Fic 707 * Fix/fbr 690 (#896) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#897) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Fix/fbr 690 (#898) * Fic 690 * fix/FBR-690 * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * Recredit Categorization fix * fix FBR 709 (#901) * Fix/fbr 709 (#903) * fix FBR 709 * fix FBR 709 --------- Co-authored-by: Muhimbura Brian Mart * fix FS-005 * fix FS-007 * fix FS-007 * fix FS-003 * fix FS-003 * fix FS-2 * fix FSF-8 * Release v1.0.50 (#951) * fix FSF-9 * fix FSF-4 (#945) * Fix/fsf 11 (#947) * fix FSF-4 * fix FSF-11 * Fix/fsf 11 (#950) * fix FSF-4 * fix FSF-11 * fix FSF-11 --------- Co-authored-by: Muhimbura Brian Mart * Fix/fsf 17 qa (#958) * fix FSF-9 * fix FSF-4 (#945) * Fix/fsf 11 (#947) * fix FSF-4 * fix FSF-11 * Fix/fsf 11 (#950) * fix FSF-4 * fix FSF-11 * fix FSF-11 * fix FSF-17 (#957) * F sf 12 15 qa (#965) * fix FSF-9 * fix FSF-4 (#945) * Fix/fsf 11 (#947) * fix FSF-4 * fix FSF-11 * Fix/fsf 11 (#950) * fix FSF-4 * fix FSF-11 * fix FSF-11 * fix FSF-17 (#957) * fix FSF-15 * fix FSF-12 * Fix/fsf 19 qa (#970) * fix FSF-9 * fix FSF-4 (#945) * Fix/fsf 11 (#947) * fix FSF-4 * fix FSF-11 * Fix/fsf 11 (#950) * fix FSF-4 * fix FSF-11 * fix FSF-11 * fix FSF-17 (#957) * fix FSF-15 * fix FSF-12 * fix FSF-19 (#969) * Fix/fsf 18 20 qa (#981) * fix FSF-9 * fix FSF-4 (#945) * Fix/fsf 11 (#947) * fix FSF-4 * fix FSF-11 * Fix/fsf 11 (#950) * fix FSF-4 * fix FSF-11 * fix FSF-11 * fix FSF-17 (#957) * fix FSF-15 * fix FSF-12 * fix FSF-19 (#969) * Fix/fs 18 (#977) * fix FSF-19 * FIX FSF-18 * Fix/fsf 20 (#980) * fix FSF-19 * FIX FSF-18 * FIX FSF-20 --------- Co-authored-by: Leonardo Hildt <108893281+leonardohildt@users.noreply.github.com> Co-authored-by: Faheem Ahmad Co-authored-by: Faheem Ahmad Co-authored-by: Leonardo Hildt --- .../pentahoReports/Print Bank Cheque.prpt | Bin 8016 -> 8017 bytes ...WritePlatformServiceJpaRepositoryImpl.java | 9 +- .../db/changelog/tenant/changelog-tenant.xml | 1 - .../tenant/parts/0134_HardPolicyFixes.xml | 79 ++++++++++++++++++ 4 files changed, 83 insertions(+), 6 deletions(-) diff --git a/fineract-provider/pentahoReports/Print Bank Cheque.prpt b/fineract-provider/pentahoReports/Print Bank Cheque.prpt index 5150f3a318c583f384b360827d98e2bb302dc194..086cd79221ad3b40a449ff9e864e4d768d39cfcf 100644 GIT binary patch delta 4677 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 delta 4676 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 c>t^w{Z}8un?td} sa.isAmountOnHoldNotReleased()) .findFirst().orElse(null); - SavingsAccount fromSavingsAccount = holdTransaction.getSavingsAccount(); - - this.savingsAccountWritePlatformService.releaseLoanGuarantee(loanId, command, - command.localDateValueOfParameterNamed("transactionDate"), holdTransaction); - + if (holdTransaction!=null) { + this.savingsAccountWritePlatformService.releaseLoanGuarantee(loanId, command, + command.localDateValueOfParameterNamed("transactionDate"), holdTransaction); + } businessEventNotifierService.notifyPostBusinessEvent(new LoanWrittenOffPostBusinessEvent(writeOff)); return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(writeOff.getId()) .withOfficeId(loan.getOfficeId()).withClientId(loan.getClientId()).withGroupId(loan.getGroupId()).withLoanId(loanId) 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 c01b5cc1f92..ee0b7047449 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 @@ -154,5 +154,4 @@ - diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_HardPolicyFixes.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_HardPolicyFixes.xml index bfad409c458..967380dd9d3 100644 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_HardPolicyFixes.xml +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0134_HardPolicyFixes.xml @@ -143,6 +143,85 @@ ]]> + + + 3) THEN 'YELLOW' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 3) THEN 'GREEN' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 3) THEN 'YELLOW' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 4) THEN 'YELLOW' + + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 4) THEN 'YELLOW' + + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} BETWEEN 1 AND 3) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} > 3) THEN 'YELLOW' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 3) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 3) THEN 'YELLOW' + + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} BETWEEN 1 AND 3) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} > 3) THEN 'YELLOW' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 3) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'NUEVO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 3) THEN 'YELLOW' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') AND (${disparityRatio} > 4) THEN 'YELLOW' + + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 2) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 8) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'URBANA') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} BETWEEN 1 AND 4) THEN 'GREEN' + WHEN (${loanProductId} = 9) AND ('${categorization}' = 'RECREDITO') AND ('${clientArea}' = 'RURAL') + AND recredit_loan.recredit_count > 0 AND (${disparityRatio} > 4) THEN 'YELLOW' + + END AS color + FROM m_prequalification_group mpg + LEFT JOIN ( + SELECT p.id AS prequalification_id, + (select count(ml.id) FROM m_prequalification_group mp + LEFT JOIN m_prequalification_group_members mpgm ON mpgm.group_id = mp.id + LEFT JOIN m_client mc ON mc.dpi = mpgm.dpi + LEFT JOIN m_loan ml ON ml.client_id = mc.id + WHERE + ml.loan_status_id < 300 AND ml.product_id = ${loanProductId} AND ml.is_topup = 1 + AND mp.id = ${prequalificationId} + ) recredit_count + FROM m_prequalification_group p + ) recredit_loan ON recredit_loan.prequalification_id = mpg.id + WHERE mpg.id = ${prequalificationId}" + WHERE report_name = "Value disparity Policy Check"; + ]]> + +