diff --git a/ng6-seed/src/app/reports/reports-routing.module.ts b/ng6-seed/src/app/reports/reports-routing.module.ts index 58f7ff0b0..f2a886428 100755 --- a/ng6-seed/src/app/reports/reports-routing.module.ts +++ b/ng6-seed/src/app/reports/reports-routing.module.ts @@ -1,11 +1,16 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { PdMisComponent } from './pd-mis/pd-mis.component'; +import { SmcCreditComponent } from './smc-credit/smc-credit.component'; const routes: Routes = [ { path:'', component:PdMisComponent + }, + { + path:'SMC-MIS', + component:SmcCreditComponent } ]; diff --git a/ng6-seed/src/app/reports/reports.module.ts b/ng6-seed/src/app/reports/reports.module.ts index dfc86e3c8..fdae475e1 100755 --- a/ng6-seed/src/app/reports/reports.module.ts +++ b/ng6-seed/src/app/reports/reports.module.ts @@ -27,6 +27,7 @@ import { ReportsRoutingModule } from './reports-routing.module'; import { PdMisComponent } from './pd-mis/pd-mis.component'; import {NotifierModule,NotifierOptions} from 'angular-notifier' import { MatTableExporterModule } from 'mat-table-exporter'; +import { SmcCreditComponent } from './smc-credit/smc-credit.component'; const pdCustomNotifierOptions: NotifierOptions = { @@ -97,7 +98,7 @@ const pdCustomNotifierOptions: NotifierOptions = { MatTableExporterModule ], exports: [MatExpansionModule], - declarations: [PdMisComponent], + declarations: [PdMisComponent, SmcCreditComponent], providers:[ReportsService,{provide: MAT_DATE_LOCALE, useValue: 'en-GB'},{provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]}, {provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS},] }) diff --git a/ng6-seed/src/app/reports/reports.service.ts b/ng6-seed/src/app/reports/reports.service.ts index 6b4256ed6..37db6310e 100755 --- a/ng6-seed/src/app/reports/reports.service.ts +++ b/ng6-seed/src/app/reports/reports.service.ts @@ -28,4 +28,7 @@ export class ReportsService { pdTATReport(value):Observable{ return this._http.post(this.apiUrl + 'pdTATReport',value); } + smcCreditPDMisReport(params):Observable { + return this._http.post(this.apiUrl+'smcCreditPDMisReport',params) + } } diff --git a/ng6-seed/src/app/reports/smc-credit/smc-credit.component.html b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.html new file mode 100644 index 000000000..e332553e6 --- /dev/null +++ b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.html @@ -0,0 +1,190 @@ + + +
+
+ SMC Credit PD MIS Report + + + + + +
+
+ + +
+ +
+
+
+ error +

Error!

+ {{er.error_status}} +

{{er.error_text}}

+
+

Sorry, but the page you were trying to view does not exist

+

{{er.error_message}}

+
+
+
+
+ + +
+
+
+
+ + + +
+ filter_list Filter
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sr. No. {{i+1}} Reference Number + {{row.pd_sno}} Main Loan Applicant + {{row.applicant_name}} Credit PD Type + {{row.type_name}} + + + + + Product Type + {{row.abbr}} + + + + Credit Person + {{row.officer_name}} Status + {{row.pd_status}} Date + {{row.updatedon | date: 'dd-MM-yyyy hh:mm a'}}
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + diff --git a/ng6-seed/src/app/reports/smc-credit/smc-credit.component.scss b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.scss new file mode 100644 index 000000000..3b34155fc --- /dev/null +++ b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.scss @@ -0,0 +1,99 @@ +/** Card title */ +.mat-card-title{ + font-size: 25px !important; + } + + /** CSS for "No record Found Text " and "Loading Text" */ + .nocontent { + color: red; + font-size: 16px; + text-align: center; + width: 100%; + } + + /** Filter Header Css (Overall) */ + .filter-header { + min-height: 64px; + padding: 8px 24px 0; + } + + /** Export Button CSS */ + .btn_export + { + float: right; + } + + /** Report Card Common Css (Overall) */ + .report-card-container { + display: flex; + flex-direction: column; + min-width: 300px; + } + + /** Report Table Common Css (Overall)*/ + .report-table-container { + max-height:540px; + width: auto; + overflow: auto; + margin-top: 2%; + } + + /** Table Header Cell Css*/ + .mat-header-cell { + padding: 0 10px 0 10px; + white-space: pre-wrap; + font-size: 1rem !important; + } + + /** Table Body Cell Css*/ + .mat-cell { + padding: 0 10px 0 10px; + white-space: nowrap; + } + + /** Table Static Columns Css*/ + .mat-table-sticky { + border-right: 1px solid #e0e0e0; + } + + /** Table Footer Cell Css - not In use*/ + .mat-footer-cell { + font-weight: bold; + font-size: 1.2rem !important; + padding: 0 10px 0 10px; + } + + /* Error Text Font Size*/ + .error-text{ + font-size: 6rem !important; + } + .error-wrapper{ + padding-top: 2rem !important;//default is 5 rem + } + .error-icon{ + width: 100px; + font-size: 79px !important; + } + + .form-back{ + background-position: top center; + min-height: calc(100vh + 100px); + height: auto; + background-color: #fff !important; + color:red !important; + } + .mat-column-status{ + text-align: center; + + } + .mat-column-serialno{ + text-align: center; + + } + .mat-column-credit_pd_id{ + text-align: center; + + } + .mat-column-createdon{ + text-align: center; + } \ No newline at end of file diff --git a/ng6-seed/src/app/reports/smc-credit/smc-credit.component.spec.ts b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.spec.ts new file mode 100644 index 000000000..6475eb510 --- /dev/null +++ b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SmcCreditComponent } from './smc-credit.component'; + +describe('SmcCreditComponent', () => { + let component: SmcCreditComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SmcCreditComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SmcCreditComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/reports/smc-credit/smc-credit.component.ts b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.ts new file mode 100644 index 000000000..2b6b25889 --- /dev/null +++ b/ng6-seed/src/app/reports/smc-credit/smc-credit.component.ts @@ -0,0 +1,274 @@ +import { DatePipe } from '@angular/common'; +import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { FormGroup, FormBuilder } from '@angular/forms'; +import { PageEvent, MatTableDataSource, MatPaginator, MatSort } from '@angular/material'; +import { Router } from '@angular/router'; +import { NotifierService } from 'angular-notifier'; +import { SalesPdService } from 'app/sales-pd/services/sales-pd.service'; +import { ReportsService } from '../reports.service'; + +@Component({ + selector: 'app-smc-credit', + templateUrl: './smc-credit.component.html', + styleUrls: ['./smc-credit.component.scss'] +}) +export class SmcCreditComponent implements OnInit { + + @ViewChild('card_c') scroll_table:ElementRef + pageEvent:PageEvent; + pipe = new DatePipe('en-US'); + maxDate: any; + minDate: any; + + api_data:any=[]; + filtered_data:any=[]; + + public Loading: boolean; + + public reportform: FormGroup; + + public dataLength:number=-1; + public pageSize : number; + public dataSource = new MatTableDataSource(); + error:any=[]; + pageNumber:number=10; + pageIndex:number=0 + + displayedColumns = ['serialno', + // 'credit_pd_id', + 'credit_pd_sno', + 'applicant_name', + 'credit_pd_type', + 'product_abbr', + 'officer_name', + 'status', + 'createdon', + // 'mail_status' + ]; + expandStatus: boolean=true; + + + + constructor(private reportService:ReportsService,private router:Router,private form_builder:FormBuilder,private notifier:NotifierService) { + this.reportform = this.form_builder.group({ + from_date:[null],to_date:[null],officer_name:[null],lender_id:[null]}); + + } + + ngOnInit(){ + this.maxDate = new Date(); + // this.getMISDailyReport(); + } + + getMISDailyReport() { + let array=[] + this.reportService.smcCreditPDMisReport(array).subscribe( + data => { + if(data.dataStatus == true){ + this.api_data = data.records; + this.dataLength = data.records.length; + this.pageSize = data.records.length; + // if(data.records.length >= 1){ + // this.api_data = this.api_data.map((val, i)=>{ + // val['serialno'] = i + 1; + // return val; + // }) + // } + this.dataSource.data = this.api_data; + this.Loading = false; + }else{ + this.dataLength = 0; + // this.Loading = true; + } + }, + error => { + this.error.push(error); + this.dataLength = 0; + this.Loading = false; + }) + } + + @ViewChild(MatPaginator) paginator: MatPaginator; + @ViewChild(MatSort) sort: MatSort; + // @ViewChild('TABLE') table: ElementRef; + @ViewChild('TABLE',{ read: ElementRef }) table: ElementRef; + + @ViewChild('exporter') exp + + // exportAsExcel():void { + + // const ws: XLSX.WorkSheet=XLSX.utils.table_to_sheet(this.table.nativeElement); + // const wb: XLSX.WorkBook = XLSX.utils.book_new(); + // XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); + + // /* save to file */ + // XLSX.writeFile(wb, 'Daily MIS Report.xlsx'); + // } + // exportAsCSV(){ + // console.log(this.exp) + // var options = { + // fieldSeparator: ',', + // quoteStrings: '"', + // decimalseparator: '.', + // showLabels: true, + // showTitle: true, + // title: 'Your title', + // useBom: true, + // noDownload: true, + // headers: this.displayedColumns, + // nullToEmptyString: true, + // }; + // // console.log(this.table.nativeElement) + // new AngularCsv(this.dataSource.data,'sample') + // } + ngAfterViewInit() { + + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + } + + /** For Display Tables Filtering */ + applyFilter(filterValue: string) { + filterValue = filterValue.trim(); // Remove whitespace + filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches + this.dataSource.filter = filterValue; + } + pageChange(e) { + console.log(e); + } + searchPanel(){ + this.Loading=true; + this.reportform.value.from_date=this.pipe.transform(this.reportform.value.from_date,'yyyy-MM-dd') + this.reportform.value.to_date=this.pipe.transform(this.reportform.value.to_date,'yyyy-MM-dd') + // OLD API + // this.reportsService.retirveDataForMISDailyReport(this.reportform.value).subscribe(res=>{ + this.reportService.smcCreditPDMisReport(this.reportform.value).subscribe(res=>{ + if(res['dataStatus'] == true){ + + this.dataSource.data=res['records']; + this.dataLength=res['records'].length; + setTimeout(()=>{ + console.log(this.exp); + }) + this.expandStatus=false + // const element = document.querySelector('.report-card-container'); + // this.scroll_table.nativeElement.scrollIntoView(true) + setTimeout(()=>{ + this.scroll_table.nativeElement.scrollIntoView({block:"end"}) + console.log("Console",this.scroll_table,this.table,this.exp) + }) + + if(this.dataLength == 0){ + console.log("data length",this.dataLength) + this.notifier.notify('warning', 'No Records Found !'); + this.dataSource.data = []; + this.dataLength=0 + + } + } + else{ + this.notifier.notify('Warning', 'Something Went Wrong'); + this.dataSource.data = []; + this.dataLength=0 + } + this.Loading=false + },error => { + //this.errorMessage.push(error); + this.error.push(error) + this.dataLength=0 + this.Loading = false; + this.notifier.notify('error', 'Something Went Wrong Try Again.! \t\"' + (error.error_type == 2 ? error.error_status + ' ( ' + error.error_text + ' ) ' : ' ( ' + error.error_text + ' ) ') +'\" Error Occur.!'); + alert(error.html_format); + }); + + } + onReset(){ + // if(this.reportform.value.filter(val=>val.)) + // this.Loading=true + this.reportform.reset(); + this.dataLength = -1; + // this.getMISDailyReport() + // this.expandStatus=false + } + filterForApplicantID(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + + let Filter: any = []; + + let getAllApplicationIDOnly = arrayData.map(v => v.application_id.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + + let searched_filter_array = getAllApplicationIDOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + let findIndex = getAllApplicationIDOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + filterForCity(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + let Filter: any = []; + // console.log("arra",JSON.parse(arrayData),Values); + let getAllCityOnly = arrayData.map(v => v.city.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + console.log("getall ",getAllCityOnly) + + let searched_filter_array = getAllCityOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + console.log("x",x); + let findIndex = getAllCityOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + filterForBranch(arrayData: any, Values: any) { + Values = Values.toLowerCase(); + if (Values) { + let Filter: any = []; + + let getAllBranchOnly = arrayData.map(v => v.branch.replace(/[^A-Za-z0-9]/ig, "").toLowerCase()); + + let searched_filter_array = getAllBranchOnly.filter(val => val.includes(Values)); + + Filter = searched_filter_array.map(x => { + let findIndex = getAllBranchOnly.indexOf(x); + return arrayData[findIndex]; + }); + + return Filter.length > 0 ? Filter : arrayData; + } + else{ + return arrayData; + } + } + + + // customFilter(array,value,flag){ + // if(flag == 3){ + // var str = array.branch.split("").join("").toLowercase(); + // return str.includes(value)?array:null; + // } + // } + + getDateObjects(values: any) { + + let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); + this.minDate = new Date(selected_date); + } + + +} diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html index 46dfe32b1..1a01cba15 100755 --- a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.html @@ -91,11 +91,11 @@ {{i+1}} - + Reference Number diff --git a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts index 7ff78b61c..3818afe31 100755 --- a/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts +++ b/ng6-seed/src/app/sales-pd/mis-reports/mis-reports.component.ts @@ -36,7 +36,7 @@ export class MisReportsComponent implements OnInit { pageIndex:number=0 displayedColumns = ['serialno', - 'sales_pd_id', + // 'sales_pd_id', 'sales_pd_sno', 'applicant_name', 'sales_pd_type', diff --git a/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts b/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts index 421cc9f87..e1f9111cc 100755 --- a/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts +++ b/ng6-seed/src/app/shared/menu-items/horizontal-menu-items.ts @@ -35,7 +35,8 @@ const HORIZONTALMENUITEMS = [ icon:'report', children:[ {state:'reports',name:'Credit PD'}, - {state:'sales-pd-list/reports',name:'Sales PD'} + {state:'sales-pd-list/reports',name:'Sales PD'}, + {state:'reports/SMC-MIS',name:'SMC Credit PD'} ] }, { diff --git a/ng6-seed/src/app/shared/menu-items/menu-items.ts b/ng6-seed/src/app/shared/menu-items/menu-items.ts index 28b6c8aa8..53c978df5 100755 --- a/ng6-seed/src/app/shared/menu-items/menu-items.ts +++ b/ng6-seed/src/app/shared/menu-items/menu-items.ts @@ -119,7 +119,8 @@ const MENUITEMS : Menu[] = [ icon:'report', children:[ {state:'reports',name:'Credit PD'}, - {state:'sales-pd-list/reports',name:'Sales PD'} + {state:'sales-pd-list/reports',name:'Sales PD'}, + {state:'reports/SMC-MIS',name:'SMC Credit PD'} ] } ];