From 363806286afacc6c7e4c58e5110b8bd8bb30b5f1 Mon Sep 17 00:00:00 2001 From: Peter Bagrij Date: Wed, 6 Dec 2023 20:13:01 +0100 Subject: [PATCH] Optimize search for loan and client --- .../loan-approval/loan-approval.component.ts | 2 +- .../loan-disbursal.component.ts | 2 +- ...er.ts => getLoansToBeApproved.resolver.ts} | 4 +-- .../getLoansToBeDisbursed.resolver.ts | 30 +++++++++++++++++++ src/app/tasks/tasks-routing.module.ts | 10 ++++--- src/app/tasks/tasks.service.ts | 17 ++++++++--- 6 files changed, 53 insertions(+), 12 deletions(-) rename src/app/tasks/common-resolvers/{getLoans.resolver.ts => getLoansToBeApproved.resolver.ts} (81%) create mode 100644 src/app/tasks/common-resolvers/getLoansToBeDisbursed.resolver.ts diff --git a/src/app/tasks/checker-inbox-and-tasks-tabs/loan-approval/loan-approval.component.ts b/src/app/tasks/checker-inbox-and-tasks-tabs/loan-approval/loan-approval.component.ts index f2d5371d7..2c2e273bb 100644 --- a/src/app/tasks/checker-inbox-and-tasks-tabs/loan-approval/loan-approval.component.ts +++ b/src/app/tasks/checker-inbox-and-tasks-tabs/loan-approval/loan-approval.component.ts @@ -169,7 +169,7 @@ export class LoanApprovalComponent { } loanResource() { - this.tasksService.getAllLoans().subscribe((response: any) => { + this.tasksService.getAllLoansToBeApproved().subscribe((response: any) => { this.loans = response.pageItems; this.loans = this.loans.filter((account: any) => { return (account.status.waitingForDisbursal === true); diff --git a/src/app/tasks/checker-inbox-and-tasks-tabs/loan-disbursal/loan-disbursal.component.ts b/src/app/tasks/checker-inbox-and-tasks-tabs/loan-disbursal/loan-disbursal.component.ts index 173d0f52f..c0ebbdd2b 100644 --- a/src/app/tasks/checker-inbox-and-tasks-tabs/loan-disbursal/loan-disbursal.component.ts +++ b/src/app/tasks/checker-inbox-and-tasks-tabs/loan-disbursal/loan-disbursal.component.ts @@ -122,7 +122,7 @@ export class LoanDisbursalComponent { } loanResource() { - this.tasksService.getAllLoans().subscribe((response: any) => { + this.tasksService.getAllLoansToBeDisbursed().subscribe((response: any) => { this.loans = response.pageItems; this.loans = this.loans.filter((account: any) => { return (account.status.waitingForDisbursal === true); diff --git a/src/app/tasks/common-resolvers/getLoans.resolver.ts b/src/app/tasks/common-resolvers/getLoansToBeApproved.resolver.ts similarity index 81% rename from src/app/tasks/common-resolvers/getLoans.resolver.ts rename to src/app/tasks/common-resolvers/getLoansToBeApproved.resolver.ts index 6b1074e32..e10544731 100644 --- a/src/app/tasks/common-resolvers/getLoans.resolver.ts +++ b/src/app/tasks/common-resolvers/getLoansToBeApproved.resolver.ts @@ -12,7 +12,7 @@ import { TasksService } from '../tasks.service'; * Loans data resolver. */ @Injectable() -export class GetLoans implements Resolve { +export class GetLoansToBeApproved implements Resolve { /** * @param {TasksService} tasksService Tasks service. @@ -24,7 +24,7 @@ export class GetLoans implements Resolve { * @returns {Observable} */ resolve(): Observable { - return this.tasksService.getAllLoans(); + return this.tasksService.getAllLoansToBeApproved(); } } diff --git a/src/app/tasks/common-resolvers/getLoansToBeDisbursed.resolver.ts b/src/app/tasks/common-resolvers/getLoansToBeDisbursed.resolver.ts new file mode 100644 index 000000000..a19763046 --- /dev/null +++ b/src/app/tasks/common-resolvers/getLoansToBeDisbursed.resolver.ts @@ -0,0 +1,30 @@ +/** Angular Imports */ +import { Injectable } from '@angular/core'; +import { Resolve } from '@angular/router'; + +/** rxjs Imports */ +import { Observable } from 'rxjs'; + +/** Custom Services */ +import { TasksService } from '../tasks.service'; + +/** + * Loans data resolver. + */ +@Injectable() +export class GetLoansToBeDisbursed implements Resolve { + + /** + * @param {TasksService} tasksService Tasks service. + */ + constructor(private tasksService: TasksService) { } + + /** + * Returns all the loans data. + * @returns {Observable} + */ + resolve(): Observable { + return this.tasksService.getAllLoansToBeDisbursed(); + } + +} diff --git a/src/app/tasks/tasks-routing.module.ts b/src/app/tasks/tasks-routing.module.ts index b9554bfd7..55a474cb6 100644 --- a/src/app/tasks/tasks-routing.module.ts +++ b/src/app/tasks/tasks-routing.module.ts @@ -18,7 +18,8 @@ import { ViewCheckerInboxComponent } from './view-checker-inbox/view-checker-inb import { GetMakerCheckers } from './common-resolvers/getmakercheckers.resolver'; import { GetGroupedClientsData } from './common-resolvers/getGroupedClientsData.resolver'; import { GetOffices } from './common-resolvers/getOffices.resolver'; -import { GetLoans } from './common-resolvers/getLoans.resolver'; +import { GetLoansToBeApproved } from './common-resolvers/getLoansToBeApproved.resolver'; +import { GetLoansToBeDisbursed } from './common-resolvers/getLoansToBeDisbursed.resolver'; import { GetRescheduleLoans } from './common-resolvers/getRescheduleLoans.resolver'; import { MakerCheckerTemplate } from './common-resolvers/makerCheckerTemplate.resolver'; import { GetCheckerInboxDetailResolver } from './common-resolvers/getCheckerInboxDetail.resolver'; @@ -54,7 +55,7 @@ const routes: Routes = [ data: { title: 'Laon Approval' }, resolve: { officesData: GetOffices, - loansData: GetLoans + loansData: GetLoansToBeApproved }, }, { @@ -62,7 +63,7 @@ const routes: Routes = [ component: LoanDisbursalComponent, data: { title: 'Loan Disbursal' }, resolve: { - loansData: GetLoans + loansData: GetLoansToBeDisbursed } }, { @@ -98,7 +99,8 @@ const routes: Routes = [ GetMakerCheckers, GetGroupedClientsData, GetOffices, - GetLoans, + GetLoansToBeApproved, + GetLoansToBeDisbursed, GetRescheduleLoans, MakerCheckerTemplate, GetCheckerInboxDetailResolver diff --git a/src/app/tasks/tasks.service.ts b/src/app/tasks/tasks.service.ts index 2c010925c..0dc8ab5f0 100644 --- a/src/app/tasks/tasks.service.ts +++ b/src/app/tasks/tasks.service.ts @@ -48,7 +48,7 @@ export class TasksService { */ getGroupedClientsData(): Observable { const httpParams = new HttpParams().set('limit', '1000') - .set('sqlSearch', 'c.status_enum=100'); + .set('status', 'PENDING'); return this.http.get('/clients', { params: httpParams}); } @@ -60,11 +60,20 @@ export class TasksService { } /** - * Get all Loans Data + * Get all loans to be approved */ - getAllLoans(): Observable { + getAllLoansToBeApproved(): Observable { const httpParams = new HttpParams().set('limit', '1000') - .set('sqlSearch', 'l.loan_status_id in (100,200)'); + .set('status', '100'); + return this.http.get('/loans', { params: httpParams }); + } + + /** + * Get all loans to be created + */ + getAllLoansToBeDisbursed(): Observable { + const httpParams = new HttpParams().set('limit', '1000') + .set('status', '200'); return this.http.get('/loans', { params: httpParams }); }