{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/features/account/account-routing-module.ts","webpack:///src/app/features/account/account.module.ts","webpack:///src/app/features/account/change-default-password/change-default-password.component.ts","webpack:///src/app/features/account/change-default-password/change-default-password.component.html","webpack:///src/app/features/account/change-pass/change-pass.component.ts","webpack:///src/app/features/account/change-pass/change-pass.component.html","webpack:///src/app/features/account/forgot-password/forgot-password.component.ts","webpack:///src/app/features/account/forgot-password/forgot-password.component.html","webpack:///src/app/features/account/invoice/invoice.component.ts","webpack:///src/app/features/account/invoice/invoice.component.html","webpack:///src/app/features/account/login/login.component.ts","webpack:///src/app/features/account/login/login.component.html","webpack:///src/app/features/account/otp-verification/otp-verification.component.ts","webpack:///src/app/features/account/otp-verification/otp-verification.component.html","webpack:///src/app/features/account/pagination/pagination.component.ts","webpack:///src/app/features/account/pagination/pagination.component.html","webpack:///src/app/features/account/payment/payment.component.html","webpack:///src/app/features/account/payment/payment.component.ts","webpack:///src/app/features/account/retro-commission-module/retro-commission-module.component.ts","webpack:///src/app/features/account/retro-commission-module/retro-commission-module.component.html","webpack:///src/app/features/account/set-new-password/set-new-password.component.ts","webpack:///src/app/features/account/set-new-password/set-new-password.component.html","webpack:///src/app/features/configuration/access-charge/access-charge.component.ts","webpack:///src/app/features/configuration/access-charge/access-charge.component.html","webpack:///src/app/features/configuration/alert-message-edit/alert-message-edit.component.ts","webpack:///src/app/features/configuration/alert-message-edit/alert-message-edit.component.html","webpack:///src/app/features/configuration/alert-message-list/alert-message-list.component.ts","webpack:///src/app/features/configuration/alert-message-list/alert-message-list.component.html","webpack:///src/app/features/configuration/alert-message-new/alert-message-new.component.ts","webpack:///src/app/features/configuration/alert-message-new/alert-message-new.component.html","webpack:///src/app/features/configuration/alert-message/alert-message.component.ts","webpack:///src/app/features/configuration/alert-message/alert-message.component.html","webpack:///src/app/features/configuration/configuration-routing-module.ts","webpack:///src/app/features/configuration/configuration.module.ts","webpack:///src/app/features/configuration/general-setup/general-setup.component.ts","webpack:///src/app/features/configuration/general-setup/general-setup.component.html","webpack:///src/app/features/configuration/import-contact/import-contact.component.ts","webpack:///src/app/features/configuration/import-contact/import-contact.component.html","webpack:///src/app/features/configuration/licence-new/licence-new.component.ts","webpack:///src/app/features/configuration/licence-new/licence-new.component.html","webpack:///src/app/features/configuration/licence/licence.component.ts","webpack:///src/app/features/configuration/licence/licence.component.html","webpack:///src/app/features/configuration/merchand-configuration/merchand-configuration.component.ts","webpack:///src/app/features/configuration/merchand-configuration/merchand-configuration.component.html","webpack:///src/app/features/configuration/upload-synchronisation/upload-synchronisation.component.ts","webpack:///src/app/features/configuration/upload-synchronisation/upload-synchronisation.component.html","webpack:///src/app/features/management/blacklist-detail/blacklist-detail.component.ts","webpack:///src/app/features/management/blacklist-detail/blacklist-detail.component.html","webpack:///src/app/features/management/blacklist-hist/blacklist-hist.component.ts","webpack:///src/app/features/management/blacklist-hist/blacklist-hist.component.html","webpack:///src/app/features/management/branche-edit/branche-edit.component.ts","webpack:///src/app/features/management/branche-edit/branche-edit.component.html","webpack:///src/app/features/management/branche-list/branche-list.component.ts","webpack:///src/app/features/management/branche-list/branche-list.component.html","webpack:///src/app/features/management/branche-new/branche-new.component.ts","webpack:///src/app/features/management/branche-new/branche-new.component.html","webpack:///src/app/features/management/chapter-edit/chapter-edit.component.ts","webpack:///src/app/features/management/chapter-edit/chapter-edit.component.html","webpack:///src/app/features/management/chapter-list/chapter-list.component.ts","webpack:///src/app/features/management/chapter-list/chapter-list.component.html","webpack:///src/app/features/management/chapter-new/chapter-new.component.ts","webpack:///src/app/features/management/chapter-new/chapter-new.component.html","webpack:///src/app/features/management/credit-edit/credit-edit.component.ts","webpack:///src/app/features/management/credit-edit/credit-edit.component.html","webpack:///src/app/features/management/credit-list/credit-list.component.ts","webpack:///src/app/features/management/credit-list/credit-list.component.html","webpack:///src/app/features/management/credit-new/credit-new.component.ts","webpack:///src/app/features/management/credit-new/credit-new.component.html","webpack:///src/app/features/management/home/home.component.ts","webpack:///src/app/features/management/home/home.component.html","webpack:///src/app/features/management/loan-analysis-detail/loan-analysis-detail.component.ts","webpack:///src/app/features/management/loan-analysis-detail/loan-analysis-detail.component.html","webpack:///src/app/features/management/loan-analysis/loan-analysis.component.ts","webpack:///src/app/features/management/loan-analysis/loan-analysis.component.html","webpack:///src/app/features/management/management-routing-module.ts","webpack:///src/app/features/management/management.module.ts","webpack:///src/app/features/management/permanent-block/permanent-block.component.ts","webpack:///src/app/features/management/permanent-block/permanent-block.component.html","webpack:///src/app/features/management/search-borrowers/search-borrowers.component.ts","webpack:///src/app/features/management/search-borrowers/search-borrowers.component.html","webpack:///src/app/features/management/unblock/unblock.component.ts","webpack:///src/app/features/management/unblock/unblock.component.html","webpack:///src/app/features/management/user-edit/user-edit.component.ts","webpack:///src/app/features/management/user-edit/user-edit.component.html","webpack:///src/app/features/management/user-list/user-list.component.ts","webpack:///src/app/features/management/user-list/user-list.component.html","webpack:///src/app/features/management/user-new/user-new.component.ts","webpack:///src/app/features/management/user-new/user-new.component.html","webpack:///src/app/features/management/user-role/user-role.component.ts","webpack:///src/app/features/management/user-role/user-role.component.html","webpack:///src/app/features/management/users/users.component.ts","webpack:///src/app/features/management/users/users.component.html","webpack:///src/app/features/reports/billing-simul/billing-simul.component.ts","webpack:///src/app/features/reports/billing-simul/billing-simul.component.html","webpack:///src/app/features/reports/billing/billing.component.ts","webpack:///src/app/features/reports/billing/billing.component.html","webpack:///src/app/features/reports/loan-ageing/loan-ageing.component.ts","webpack:///src/app/features/reports/loan-ageing/loan-ageing.component.html","webpack:///src/app/features/reports/loan-portfolio-balance/loan-portfolio-balance.component.ts","webpack:///src/app/features/reports/loan-portfolio-balance/loan-portfolio-balance.component.html","webpack:///src/app/features/reports/loan-portfolio/loan-portfolio.component.ts","webpack:///src/app/features/reports/loan-portfolio/loan-portfolio.component.html","webpack:///src/app/features/reports/month-situation/month-situation.component.ts","webpack:///src/app/features/reports/month-situation/month-situation.component.html","webpack:///src/app/features/reports/payment-hist/payment-hist.component.ts","webpack:///src/app/features/reports/payment-hist/payment-hist.component.html","webpack:///src/app/features/reports/provision/provision.component.ts","webpack:///src/app/features/reports/provision/provision.component.html","webpack:///src/app/features/reports/reports-routing-module.ts","webpack:///src/app/features/reports/reports.module.ts","webpack:///src/app/features/reports/users-log/users-log.component.ts","webpack:///src/app/features/reports/users-log/users-log.component.html","webpack:///src/app/shared/DataService.ts","webpack:///src/app/shared/EncrDecrService.ts","webpack:///src/app/shared/auth-interceptor.ts","webpack:///src/app/shared/auth.guard.ts","webpack:///src/app/shared/auth.service.ts","webpack:///src/app/shared/export.service.ts","webpack:///src/app/shared/invoker.service.ts","webpack:///src/app/shared/menu.en.service.ts","webpack:///src/app/shared/models.ts","webpack:///src/app/shared/nav/nav.component.ts","webpack:///src/app/shared/nav/nav.component.html","webpack:///src/app/shared/payment.service.ts","webpack:///src/app/shared/printer.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/side-nav/side-nav.component.ts","webpack:///src/app/shared/side-nav/side-nav.component.html","webpack:///src/app/shared/trame-util.service.ts","webpack:///src/app/shared/upload-file.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","routes","path","redirectTo","pathMatch","AppRoutingModule","forRoot","imports","AppComponent","router","auth","isLogin","isChangeDefaultPassword","isForgotPassword","isOtpVerification","isSetNewPassword","getUser","undefined","localStorage","getItem","navigateByUrl","events","subscribe","val","urlAfterRedirects","selector","templateUrl","styleUrls","MY_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","AppModule","provide","useValue","useClass","deps","declarations","providers","bootstrap","component","AccountRoutingModule","forChild","AccountModule","ChangeDefaultPasswordComponent","ds","alert","passwordPattern","onInit","removeItem","newPwd","confirmPwd","error","changePasswordObject","oldPwd","btoa","showLoader","put","userUUID","next","res","body","status","success","message","err","match","onChangeDefaultPassword","ChangePassComponent","loc","visible","initView","chp","usr","uuid","clearTokens","back","backClicked","viewPassword","onChangePass","ForgotPasswordComponent","username","post","setItem","onSubmitUsername","InvoiceComponent","datePipe","uchrg","selectedPeriod","transform","Date","sites","pay","banks","Array","fbanks","fbank","prs","totlBal","totFees","base64File","bkId","getbanks","pdfHelper","chargesRequest","roleId","bqId","monthYear","getCharges","get","data","filter","x","chapter","toLowerCase","codchap","request","paymentListResponse","forEach","loan","mtpret","chargeAmount","value","amntPaid","amntf","discount","pageOfItems","group","reduce","acc","curr","key","agccpt","push","payment","site","total","console","log","clientList","element","exportexcel","newList","showgroup","sort","a","b","Number","bank","openMiniTabs","name","date","days","result","setDate","getDate","unit_amnt","amnt_pay","date1","date2","diff","Math","abs","getTime","ceil","setTimeout","print2","encodeURI","onPeriodChange","onChangePage","LoginComponent","trame","headers","login","password","pwd","UUID","JSON","stringify","info","setToken","setUser","location","reload","msg","onSignIn","forgotPassword","OtpVerificationComponent","otpCode","onSubmitOtpCode","PaginationComponent","changePage","initialPage","pageSize","maxPages","changes","items","currentValue","previousValue","setPage","page","pager","paginate","length","slice","startIndex","endIndex","emit","totalItems","currentPage","totalPages","startPage","endPage","maxPagesBeforeCurrentPage","floor","maxPagesAfterCurrentPage","min","pages","from","i","PaymentComponent","payementService","matDialog","showDate","showList","periodicity","currentYear","getFullYear","momo","payreq","paymentRequest","mobileFeesRequest","selectedBank","getMonthList","locales","format","year","monthList","formatter","Intl","DateTimeFormat","month","getMonthName","monthIndex","dateString","split","parsedMonth","parseInt","amntDue","loanBal","payableAmount","totalFees","pr","amount","operator","payMethod","amount_with_fees","provider","fire","title","convertStringToDate","html","input","inputPlaceholder","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","preConfirm","number","amount_paid","mobile_payment_number","onPaymentCash","showValidationMessage","allowOutsideClick","isLoading","payPhone","sts","uId","getMobilePaymentFees","bank_code","type","period_loan_balance","payment_period","payment_date","payer_name","memName","payer_phone","memPhone","pay_method","user_id","warning","method","selected","item","round","feeAmount","getDuration","onCreate","RetroCommissionModuleComponent","coms","maxPeriod","userId","period","getRetroCom","camcculFeeShare","mifiFeeShare","bankCode","openPDF","SetNewPasswordComponent","newPassword","passwordConfirmation","newPasswordDTO","onSubmitNewPassword","AccessChargeComponent","acs","pageChapter","ur","ac","canUpd","ro","getAccessCharges","getRoles","content","event","preventDefault","privilege","printChargesReport","AlertMessageEditComponent","route","cId","alrt","params","param","getChapterById","onUpdate","AlertMessageListComponent","currentSelectedPage","pageUser","alerts","alertss","filterAlerts","branchs","selectNumsc","selectNumsb","numreq","pagnum","isGroupb","isGroupc","getAlertsList","getBranches","fill","bNum","cNum","query","cre","indexOf","index","pag","active","state","checked","target","num","tel","d","nu","idx","splice","onChangeNumber","onSearch","previousClick","nextClick","onSelectAllc","onSelectAllb","sendSmsNew","AlertMessageNewComponent","AlertMessageComponent","ConfigurationRoutingModule","ConfigurationModule","GeneralSetupComponent","sttg","sttgs","getSettings","mifiFeeRate","ImportContactComponent","uploadService","progress","selectedFiles","files","currentFile","upload","UploadProgress","loaded","statusText","selectFile","LicenceNewComponent","LicenceComponent","MerchandConfigurationComponent","configs","feesConfigs","merchantConfig","feesConfig","getMerchandConfiguration","getPaymentFeed","feeConfig","paymentConfig","UploadSynchronisationComponent","selectedFile","uploadFile","inputVar","nativeElement","onFileChange","BlacklistDetailComponent","sdrt","branch","client","relation","sitLoan","situation","menos","ssrt","ssrts","srt","sitId","getSituationById","memo","v","getBorrowerSubSituation","numcli","PHONE","phone","CNI","cniclient","BQID","AGCCPT","branchId","user","BlacklistHistComponent","pageCredit","bls","filterBls","onLoadData","num_cli","client_name","admin_name","chapter_admin_name","printBlacklistReport","BrancheEditComponent","getBranchById","agc","navigate","BrancheListComponent","credits","allBranches","filterBranches","numberOfSyncedAgencies","numberOfUnsyncedAgencies","numberOfNeverSyncedAgencies","getBranchesList","getAllBranches","setNumberOfSyncedAgencies","setNumberOfUnSyncedAgencies","setNumberOfNeverSyncedAgencies","setSyncStatistics","branches","last_sync","calculateDaysDifference","toString","millisecondsInADay","currentDate","lastSyncDate","UTC","getMonth","getDay","includes","bank_name","cr","printBranchReport","BrancheNewComponent","ChapterEditComponent","chap","ChapterListComponent","chaps","filterChaps","getChapters","printChapterReport","ChapterNewComponent","CreditEditComponent","getBankById","CreditListComponent","filterCredits","getBanksList","abrv","printBankReport","CreditNewComponent","chapterId","loanPortfolioAmount","HomeComponent","pbs","filterPbs","getAll","today","userSyncDate","userAgencyLastSyncDate","difference","isLicenceActive","expireDay","expiryDate","dateSent","str","replace","queryParams","branch_name","onBeginSearch","LoanAnalysisDetailComponent","LoanAnalysisComponent","sits","filterSits","sbranchs","sebranchs","showBranch","find","bk","isBilling","numdos","nomcli","ManagementRoutingModule","ManagementModule","PermanentBlockComponent","onBlocked","SearchBorrowersComponent","fsr","loans","lsrs","filterLsrs","search","srr","isVisible","canPrint","threatRoute","seconds","exec_time","thing","arr","findIndex","t","cni","searchRes","qr","trim","beginSearch","loanArray","loanSearchResponse","color","datacc","garantee","montrest","motifdem","retard","valretard","trimmedLoans","trimmedObject","loanKeys","UnblockComponent","unBlocked","UserEditComponent","showChap","showCre","roles","selectbanks","userBank","selectbranchs","getUsersById","onChangeRol","UserListComponent","users","allUsers","filterUsers","getUsersList","getAllUsersList","getRoleById","foundBank","ag","printUserReport","UserNewComponent","init","currentUser","role","MenuTreeviewConfig","hasAllCheckBox","hasFilter","hasCollapseExpand","maxHeight","UserRoleComponent","_men","getMenuTreeItems","getAllUserRoles","menu","join","r","listRoles","setCheckedItems","listRoles2","downlineItems","rows","values","downlineItem","texts","text","parent","reverseTexts","row","removeDuplicates","child1","setCheckedRecursive","setCollapsedRecursive","correctChecked","children","child2","child3","child4","treeviewComponent","raiseSelectedChange","uncheckItems","array","filtered","elem","self","onSelectedChange","UsersComponent","BillingSimulComponent","cprs","cprss","isAll","isAllC","typ","chIdv","chId","TOTAL_LOANS","CHARGE","totLoan","billingSummaries","billingSummary","chapterBillingSummaries","chapterBillingSummary","BillingComponent","getOpreationsList","operations","bills","bilDet","getbillings","showDetail","tot","line","TOTAL_AMOUNT","detailTot","LoanAgeingComponent","LoanPortfolioBalanceComponent","lbts","amntTot","balance","LoanPortfolioComponent","lrts","filterLrts","lbrt","MonthSituationComponent","dat","dt","BANK","localeCompare","UNIT_CHARGE","pId","PaymentHistComponent","bankName","datereg","ProvisionComponent","ReportsRoutingModule","ReportsModule","UsersLogComponent","logUser","to","printReport","logObject","printLogsReport","DataService","http","baseUrl","file","formData","FormData","append","fetch","resp","json","apiResponse","url","options","observe","responseType","reportProgress","EncrDecrService","strToEncrypt","Hex","base64ToHexString","encrypted","encrypt","getCipherConfig","Base64","ciphertext","strToDecrypt","bytesToDecrypt","stringHexToBase64","bytes","decrypt","decryptedData","Utf8","keySize","iv","mode","CBC","padding","Pkcs7","String","fromCharCode","raw","atob","HEX","_hex","charCodeAt","toUpperCase","base64","binary_string","window","len","Uint8Array","buffer","providedIn","AuthInterceptor","cs","authReq","clone","setHeaders","getToken","PRINTBY","handle","pipe","GetResponse","errorMessage","ErrorEvent","GetEntityFromTrame","AuthGuard","segments","returnUrl","AuthService","crypto","dvs","USER_KEY","TOKEN_KEY","LANG","expiredDate","token","clear","getDeviceInfo","TOKEN_HEADER_NAME","EXCEL_EXTENSION","PDF_EXTENSION","ExportHelper","getBase64ImageFromUrl","blob","reject","reader","FileReader","addEventListener","onerror","readAsDataURL","excelFileName","ws","json_to_sheet","wb","book_new","book_append_sheet","pdfFileName","total1","total2","doc","imgData","currentDateAndTime","headerRight","pageTitle","setFontSize","setFont","addImage","internal","getWidth","align","header","head","theme","styles","font","headStyles","fontStyle","fillColor","fontSize","bodyStyles","startY","pageCount","getNumberOfPages","pageHeight","height","getHeight","save","branchName","startFirst","foot","footStyles","textColor","InvokerService","authService","secuKey","MenuServiceEn","seperator","secuVal","agci","icon","m1","m2","m3","m4","m5","STATUS","RetroCommissionToPrint","obj","totalLoan","loanTotal","feePaid","creditUnionShare","PaymentResponseToPrint","agency","loanDate","datedem","clientName","clientNumber","loanAmount","periodic","garantie","loanMotif","PaymentResponseToExcel","bankId","accountingDate","dateacc","fileNumber","NavComponent","onLogout","mobileUrl","PaymentService","handler","_httpClient","Printer","_base64Str","_contentType","byte","base64ToArrayBuffer","Blob","open","URL","createObjectURL","binaryString","binaryLen","ascii","SharedModule","multi","SideNavComponent","getMenuItems","TrameUtilService","SecuVal","separator","keykey","version","getKey","mac","builder","concat","cdutilis","newpass","codage","clt","table","UploadFileService","environment","production","bootstrapModule"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from \"@angular/core\";\nimport { Router, NavigationEnd } from \"@angular/router\";\nimport { AuthService } from \"./shared/auth.service\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.css\"],\n})\nexport class AppComponent {\n isLogin = false;\n isChangeDefaultPassword = false;\n isForgotPassword = false;\n isOtpVerification = false;\n isSetNewPassword = false;\n\n constructor(private router: Router, private auth: AuthService) {\n if (this.auth.getUser() == null && this.auth.getUser() == undefined) {\n if (localStorage.getItem(\"defaultPassword\") == \"true\") {\n this.router.navigateByUrl(\"/change-default-password\");\n } else if (localStorage.getItem(\"forgotPassword\") == \"true\") {\n this.router.navigateByUrl(\"/forgot-password\");\n } else if (localStorage.getItem(\"otpVerification\") == \"true\") {\n this.router.navigateByUrl(\"/otp-verification\");\n } else if (localStorage.getItem(\"setNewPassword\") == \"true\") {\n this.router.navigateByUrl(\"/set-new-password\");\n } else {\n this.router.navigateByUrl(\"/login\");\n }\n }\n router.events.subscribe((val) => {\n if (val instanceof NavigationEnd) {\n if (val.urlAfterRedirects === \"/login\") {\n this.isLogin = true;\n } else if (val.urlAfterRedirects === \"/change-default-password\") {\n this.isChangeDefaultPassword = true;\n } else if (val.urlAfterRedirects === \"/forgot-password\") {\n this.isForgotPassword = true;\n } else if (val.urlAfterRedirects === \"/otp-verification\") {\n this.isOtpVerification = true;\n } else if (val.urlAfterRedirects === \"/set-new-password\") {\n this.isSetNewPassword = true;\n } else {\n this.isLogin = false;\n }\n }\n });\n }\n}\n","
\n\n\n\n
\n
\n \n\n
\n
\n \n\n
\n \n
\n\n
\n
\n
\n
\n\n\n
\n \n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, LOCALE_ID} from '@angular/core';\nimport { DatePipe, registerLocaleData } from '@angular/common';\n\nimport localeFr from '@angular/common/locales/fr';\nimport localeHu from '@angular/common/locales/hu';\n\n//Some import before, add this\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDialogModule } from '@angular/material';\nimport { MomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { FormsModule } from '@angular/forms';\nimport { AppComponent } from './app.component';\nimport { SharedModule } from './shared/shared.module';\nimport { ManagementModule } from './features/management/management.module';\nimport { ReportsModule } from './features/reports/reports.module';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AccountModule } from './features/account/account.module';\nimport { TrameUtilService } from './shared/trame-util.service';\nimport { AuthService } from './shared/auth.service';\nimport { AuthGuard } from './shared/auth.guard';\nimport { EncrDecrService } from './shared/EncrDecrService';\nimport { InvokerService } from './shared/invoker.service';\nimport { DataService } from './shared/DataService';\nimport { HttpClientModule } from '@angular/common/http';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { TreeviewModule } from 'ngx-treeview';\nimport { MenuServiceEn } from './shared/menu.en.service';\nimport { ConfigurationModule } from './features/configuration/configuration.module';\nimport { ToastrModule } from 'ngx-toastr';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { UiSwitchModule } from 'ngx-ui-switch';\nimport { SweetAlert2Module } from '@sweetalert2/ngx-sweetalert2';\nimport { PaginationComponent } from './features/account/pagination/pagination.component';\nimport { MerchandConfigurationComponent } from './features/configuration/merchand-configuration/merchand-configuration.component';\nimport { RetroCommissionModuleComponent } from './features/account/retro-commission-module/retro-commission-module.component';\nimport { UploadSynchronisationComponent } from './features/configuration/upload-synchronisation/upload-synchronisation.component';\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'DD/MM/YYYY',\n },\n display: {\n dateInput: 'DD/MM/YYYY',\n monthYearLabel: 'MM YYYY',\n dateA11yLabel: 'DD/MM/YYYY',\n monthYearA11yLabel: 'MM YYYY',\n },\n};\n\nregisterLocaleData(localeFr, 'fr')\nregisterLocaleData(localeHu, 'hu')\n\n@NgModule({\n declarations: [\n AppComponent,\n UploadSynchronisationComponent\n ],\n imports: [\n BrowserModule,\n SharedModule,\n ManagementModule,\n ReportsModule,\n AccountModule,\n ConfigurationModule,\n AppRoutingModule,\n FormsModule,\n HttpClientModule,\n BrowserAnimationsModule,\n UiSwitchModule,\n MatDialogModule,\n SweetAlert2Module.forRoot(),\n TreeviewModule.forRoot(), // required animations module\n ToastrModule.forRoot(),\n ],\n providers: [\n TrameUtilService,\n AuthService,\n AuthGuard,\n EncrDecrService,\n InvokerService,\n DataService,\n MenuServiceEn,\n DeviceDetectorService,\n { provide: MAT_DATE_LOCALE, useValue: 'en' }, //you can change useValue\n { provide: LOCALE_ID, useValue: 'fr' },\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n DatePipe\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { ChangePassComponent } from \"./change-pass/change-pass.component\";\r\nimport { PaymentComponent } from \"./payment/payment.component\";\r\nimport { InvoiceComponent } from \"./invoice/invoice.component\";\r\nimport { ChangeDefaultPasswordComponent } from \"./change-default-password/change-default-password.component\";\r\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\r\nimport { OtpVerificationComponent } from \"./otp-verification/otp-verification.component\";\r\nimport { SetNewPasswordComponent } from \"./set-new-password/set-new-password.component\";\r\nimport { RetroCommissionModuleComponent } from \"./retro-commission-module/retro-commission-module.component\";\r\n\r\nconst routes: Routes = [\r\n { path: \"login\", component: LoginComponent },\r\n {\r\n path: \"change-default-password\",\r\n component: ChangeDefaultPasswordComponent,\r\n },\r\n { path: \"forgot-password\", component: ForgotPasswordComponent },\r\n { path: \"otp-verification\", component: OtpVerificationComponent },\r\n { path: \"set-new-password\", component: SetNewPasswordComponent },\r\n { path: \"account/change-pass\", component: ChangePassComponent },\r\n { path: \"account/payment\", component: PaymentComponent },\r\n { path: \"account/invoice\", component: InvoiceComponent },\r\n // { path: \"account/retro-commission\", component: RetroCommissionModuleComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule, SharedModule],\r\n})\r\nexport class AccountRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoginComponent } from \"./login/login.component\";\nimport { ChangePassComponent } from \"./change-pass/change-pass.component\";\nimport { AccountRoutingModule } from \"./account-routing-module\";\nimport { FormsModule } from \"@angular/forms\";\nimport { PaymentComponent } from \"./payment/payment.component\";\nimport { InvoiceComponent } from \"./invoice/invoice.component\";\nimport { ChangeDefaultPasswordComponent } from \"./change-default-password/change-default-password.component\";\nimport { ForgotPasswordComponent } from \"./forgot-password/forgot-password.component\";\nimport { OtpVerificationComponent } from \"./otp-verification/otp-verification.component\";\nimport { SetNewPasswordComponent } from \"./set-new-password/set-new-password.component\";\nimport { PaginationComponent } from \"src/app/features/account/pagination/pagination.component\";\nimport { RetroCommissionModuleComponent } from \"./retro-commission-module/retro-commission-module.component\";\n\n@NgModule({\n declarations: [\n LoginComponent,\n ChangePassComponent,\n PaymentComponent,\n InvoiceComponent,\n ChangeDefaultPasswordComponent,\n ForgotPasswordComponent,\n OtpVerificationComponent,\n SetNewPasswordComponent,\n PaginationComponent,\n RetroCommissionModuleComponent\n ],\n imports: [CommonModule, AccountRoutingModule, FormsModule],\n exports: [\n LoginComponent,\n ChangePassComponent,\n PaymentComponent,\n InvoiceComponent,\n PaginationComponent\n ],\n})\nexport class AccountModule {}\n","import { HttpResponse } from \"@angular/common/http\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { DataService } from \"src/app/shared/DataService\";\nimport { APIResponse } from \"src/app/shared/models\";\nimport { AbstractControl } from \"@angular/forms\";\n\ndeclare var showLoader;\n\n@Component({\n selector: \"app-change-default-password\",\n templateUrl: \"./change-default-password.component.html\",\n styleUrls: [\"./change-default-password.component.css\"],\n})\nexport class ChangeDefaultPasswordComponent implements OnInit {\n oldPwd: string;\n newPwd: string;\n confirmPwd: string;\n userUUID: string;\n changePasswordObject: {\n oldPwd: string;\n newPwd: string;\n confirmPwd: string;\n };\n passwordPattern =\n /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[!@#$%^&*()_+=-]).{8,}$/;\n\n constructor(\n private ds: DataService,\n private alert: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.onInit();\n\n // cleanup\n localStorage.removeItem(\"defaultPassword\");\n localStorage.removeItem(\"UUID\");\n }\n\n onChangeDefaultPassword() {\n if (this.newPwd != this.confirmPwd) {\n this.alert.error(\n \"ERROR\",\n \"New password is different form password confirmation\"\n );\n return;\n }\n\n this.changePasswordObject.oldPwd = btoa(this.oldPwd);\n this.changePasswordObject.newPwd = btoa(this.newPwd);\n this.changePasswordObject.confirmPwd = btoa(this.confirmPwd);\n\n showLoader(true);\n this.ds\n .put(\"/users/change-password/\" + this.userUUID, this.changePasswordObject)\n .subscribe({\n next: (res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success(\"SUCCESS\", \"PASSWORD CHANGED SUCCESSFULLY\");\n this.router.navigateByUrl(\"/login\");\n } else {\n showLoader(false);\n this.onInit();\n this.alert.error(\"WARNING\", res.body.message);\n }\n },\n error: (err) => {\n showLoader(false);\n this.alert.error(\n \"SERVER ERROR\",\n \"THERE WAS AN INTERNAL SERVER ERROR\"\n );\n },\n });\n }\n\n onInit() {\n this.newPwd = \"\";\n this.oldPwd = \"\";\n this.confirmPwd = \"\";\n this.changePasswordObject = { oldPwd: \"\", newPwd: \"\", confirmPwd: \"\" };\n this.userUUID = localStorage.getItem(\"UUID\");\n }\n\n validatePassword(): boolean {\n if (this.newPwd && this.newPwd.match(this.passwordPattern)) {\n return true;\n }\n return false;\n }\n\n confirmationMatchesNewPasswordCheck() {\n if (this.newPwd && this.confirmPwd && this.newPwd == this.confirmPwd) {\n return true;\n }\n return false;\n }\n}\n","
\n
\n
\n \"logo.png\"\n
\n
\n
\n
\n
\n
\n
\n
\n
Change Default Password
\n The password you're currently using is unsecure. Please change it here.\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Change Weak Password
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n Password must have a minimum length of 8 characters, one or more uppercase letters, one or more lowercase letters, one or more numbers, and one or more symbols.\n
\n\n
\n
\n
\n \n
\n \n
\n The confirmation must match the new password.\n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ChangePass, User, APIResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { Md5 } from 'md5-typescript';\nimport { Router } from '@angular/router';\nimport { log } from 'console';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-change-pass',\n templateUrl: './change-pass.component.html',\n styleUrls: ['./change-pass.component.css']\n})\nexport class ChangePassComponent implements OnInit {\n\n chp: ChangePass;\n oldPwd: string;\n newPwd: string;\n confirmPwd: string;\n usr: User;\n visible: boolean = true;\n\n constructor(private ds: DataService, private loc: Location, private auth: AuthService, private alert:ToastrService, private router: Router) { \n this.initView();\n // console.log(this.usr);\n }\n\n ngOnInit(): void {\n }\n\n /**\n * this is the function used to view the password\n */\n viewPassword(): void {\n this.visible = !this.visible;\n }\n\n onChangePass() {\n if(this.newPwd != this.confirmPwd) {\n this.alert.error('ERROR', 'New Password is different from Repeat New Password');\n return;\n }\n this.chp.oldPwd = btoa(this.oldPwd);\n this.chp.newPwd = btoa(this.newPwd);\n this.chp.confirmPwd =btoa(this.confirmPwd);\n showLoader(true);\n this.ds.put('/users/change-password/'+ this.usr.uuid, this.chp).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'PASSWORD SAVE SUCCESSFULLY');\n this.auth.clearTokens();\n this.router.navigateByUrl('/login');\n } else {\n // console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n\n initView() {\n this.chp = {} as ChangePass;\n this.newPwd = '';\n this.oldPwd = '';\n this.confirmPwd = '';\n this.usr = this.auth.getUser();\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Change Password
\n This page permit the user to update his password\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Change Password
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { HttpResponse } from \"@angular/common/http\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { DataService } from \"src/app/shared/DataService\";\nimport { APIResponse } from \"src/app/shared/models\";\n\ndeclare var showLoader;\n\n@Component({\n selector: \"app-forgot-password\",\n templateUrl: \"./forgot-password.component.html\",\n styleUrls: [\"./forgot-password.component.css\"],\n})\nexport class ForgotPasswordComponent implements OnInit {\n username: string;\n\n constructor(\n private ds: DataService,\n private alert: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.onInit();\n //cleanup\n localStorage.removeItem(\"forgotPassword\");\n }\n\n onInit() {\n this.username = \"\";\n }\n\n onSubmitUsername() {\n showLoader(true);\n this.ds.post(\"/users/forgot/password\", {\"username\": this.username}).subscribe({\n next: (res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n localStorage.setItem(\"otpVerification\", \"true\");\n localStorage.setItem(\"username\", this.username);\n this.router.navigateByUrl(\"/otp-verification\");\n } else {\n this.onInit();\n this.alert.error(\"WARNING\", res.body.message);\n }\n },\n error: (err) => {\n showLoader(false);\n this.alert.error(\"SERVER ERROR\", \"THERE WAS AN INTERNAL SERVER ERROR\");\n },\n });\n }\n}\n","
\n
\n
\n \"logo.png\"\n
\n
\n
\n
\n
\n
\n
\n
\n
Forgot Password
\n Please submit the username of the account.\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Forgot Password
\n
\n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { DatePipe, Location } from '@angular/common';\nimport { User, BankResponseType, APIResponse, Payment, PaymentResponse, ChargesRequest, PaymentResponseToPrint, PaymentResponseToExcel, groupeBySite, PaymentResponseWithFees } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { HttpResponse } from '@angular/common/http';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { ExportHelper } from 'src/app/shared/export.service';\nimport { element } from 'protractor';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-invoice',\n templateUrl: './invoice.component.html',\n styleUrls: ['./invoice.component.css']\n})\nexport class InvoiceComponent implements OnInit {\n\n pay: Payment;\n usr: User;\n banks: Array;\n fbanks: Array;\n fbank: BankResponseType;\n prs: PaymentResponseWithFees;\n uchrg: number = 0;\n base64File: string;\n totlBal: number;\n totFees: number;\n bkId: string;\n chargesRequest: ChargesRequest\n selectedPeriod = this.datePipe.transform(new Date(), 'yyyy-MM')\n pdfHelper : ExportHelper;\n pageOfItems?: Array;\n sites: groupeBySite[] = []; \n\n constructor(private ds: DataService, private auth: AuthService, private loc: Location, private alert: ToastrService,\n private datePipe: DatePipe) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.pay = {} as Payment;\n this.usr = {} as User;\n this.banks = new Array();\n this.fbanks = new Array();\n this.fbank = {} as BankResponseType;\n this.prs = {} as PaymentResponseWithFees;\n this.totlBal = 0;\n this.totFees = 0;\n this.usr = this.auth.getUser();\n this.base64File = '';\n this.bkId = '';\n this.getbanks();\n this.pdfHelper = new ExportHelper(new DatePipe('en'));\n this.chargesRequest = {} as ChargesRequest;\n if (this.usr.roleId == 3 || this.usr.roleId == 4) {\n this.bkId = this.usr.bqId;\n this.chargesRequest.bqId = this.bkId\n this.chargesRequest.monthYear = this.datePipe.transform(this.selectedPeriod, 'MM-yyyy')\n this.getCharges(this.chargesRequest);\n }\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n\n this.fbanks = this.banks.filter((x) => {\n return x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase();\n });\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getCharges(request: ChargesRequest): void {\n showLoader(true);\n this.ds.post(`/loans/payment-loans/list`, request).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.prs = res.body.data;\n this.totlBal = 0;\n this.totFees = 0;\n this.prs.paymentListResponse.forEach((x) => {\n this.totlBal += x.loan.mtpret;\n this.totFees += x.chargeAmount;\n });\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onCreditUnionChange(value: string) {\n if (value != null) {\n this.pay.amntPaid = null;\n this.pay.amntf = null;\n this.pay.discount = null;\n this.bkId = value;\n this.chargesRequest.bqId = this.bkId\n this.chargesRequest.monthYear = this.datePipe.transform(this.selectedPeriod, 'MM-yyyy')\n this.getCharges(this.chargesRequest);\n }\n\n }\n\n onPeriodChange(value: string) {\n if (value != null) {\n this.pay.amntPaid = null;\n this.pay.amntf = null;\n this.pay.discount = null;\n this.selectedPeriod = this.datePipe.transform(value, 'yyyy-MM')\n this.chargesRequest.bqId = this.bkId\n this.chargesRequest.monthYear = this.datePipe.transform(this.selectedPeriod, 'MM-yyyy')\n this.getCharges(this.chargesRequest);\n }\n }\n\n onChangePage(pageOfItems: Array) {\n // update current page of items\n this.pageOfItems = pageOfItems;\n}\n\n showgroup(): void {\n const group = this.prs.paymentListResponse.reduce((acc: any, curr) => {\n let key = curr.loan.agccpt\n if (!acc[key]) {\n acc[key] = []\n }\n acc[key].push(curr)\n return acc\n }, {})\n\n this.sites = Object.keys(group).map(key => ({\n payment: group[key],\n site: key,\n total: group[key].reduce((acc, curr) => acc + curr.chargeAmount, 0)\n }))\n console.log(this.sites)\n }\n\n exportExcel() {\n var clientList = [];\n this.prs.paymentListResponse.forEach(element => {\n clientList.push(new PaymentResponseToExcel(element));\n })\n this.pdfHelper.exportexcel(clientList, 'invoice');\n }\n\n generatePdf() {\n var clientList = [];\n var newList = []\n this.showgroup()\n this.sites = this.sites.sort((a,b) => Number(a.site) - Number(b.site))\n this.sites.forEach(element => {\n element.payment.forEach(pay => {\n clientList.push(new PaymentResponseToPrint(pay));\n })\n })\n this.banks.forEach(element => {\n if (element.bank.code == this.bkId) {\n newList.push(element)\n }\n })\n var total = 0\n total = this.sites.reduce((acc, curr) => acc + curr.total, 0)\n this.pdfHelper.openMiniTabs('invoice', this.sites, total, this.usr.username, newList[0].bank.name, this.selectedPeriod);\n }\n\n // onPayMethodChange(method: string) {\n // if (method === 'M' || method === 'O') {\n // this.getCharges(this.auth.getUser().bqId);\n // } else {\n // this.prs = undefined;\n // }\n // }\n\n addDays(date, days) {\n var result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n }\n\n calcDaysOnAmnt(unit_amnt, amnt_pay) {\n return (amnt_pay * 30) / unit_amnt;\n }\n\n getDuration() {\n if (this.pay.amntPaid != null) {\n var date = new Date();\n // this.pay.periodStrt = this.prs[0].START_DATE == null ? date : this.prs[0].START_DATE;\n // let days = this.getDateDiff(this.pay.periodStrt, new Date(this.prs[0].END_DATE));\n // let ndays = (this.pay.amntPaid * Number(days)) / this.pay.amntDue;\n //console.log(ndays);\n // this.pay.periodEnd = this.addDays(this.pay.periodStrt, Math.round(ndays));\n }\n\n }\n\n getDateDiff(date1: Date, date2: Date): number {\n let diff = Math.abs(new Date(date1).getTime() - new Date(date2).getTime());\n //console.log(Math.ceil(diff / (60 * 60 * 24 * 1000)));\n return Math.ceil(diff / (60 * 60 * 24 * 1000));\n }\n\n printInvoiceReport(): void {\n showLoader(true);\n this.ds.get(`/licences/reports/${this.bkId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Billing Statement
\n This page allows specific user to preview bills\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n
\n \n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n \n\n
\n \n \n
\n
\n\n
\n \n\n \n \n
\n\n
\n\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Credit UnionBranchMemberNameFile N°Loan DateMotifLoan AmountCharge Amount
{{pr.loan.bqId}}{{pr.loan.agccpt}}{{pr.loan.numcli}}{{pr.loan.nomcli}}{{pr.loan.numdos}}{{pr.loan.datedem}}{{pr.loan.motifdem}}{{pr.loan.mtpret}}{{pr.chargeAmount}}
\n\n \n\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthModel, APIResponse, User } from 'src/app/shared/models';\nimport { UUID } from 'angular2-uuid';\nimport { Md5 } from 'md5-typescript';\nimport { HttpResponse, HttpHeaders } from '@angular/common/http';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { Router } from '@angular/router';\nimport { TrameUtilService } from 'src/app/shared/trame-util.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n login: AuthModel;\n headers: HttpHeaders;\n msg: string;\n pwd: string;\n\n constructor(private ds: DataService, private auth: AuthService,\n private router: Router, private trame: TrameUtilService) {\n this.headers = new HttpHeaders();\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n //#region CRUD OPERATIONS\n onSignIn(): void {\n // this.login.password = Md5.init(this.pwd);\n this.login.password = btoa(this.pwd)\n this.login.uuid = UUID.UUID();\n this.login.module = 'CRM';\n\n showLoader(true);\n this.ds.post('/users/login', JSON.stringify(this.login))\n .subscribe((res: HttpResponse) => {\n showLoader(false);\n\n if (res.body.status === 200) {\n\n const info = res.body.data as User;\n this.auth.setToken(this.login.uuid);\n\n this.auth.setUser(info);\n this.router.navigateByUrl('/home');\n setTimeout(() => {\n localStorage.removeItem(\"defaultPassword\");\n }, 10);\n setTimeout(() => {\n location.reload();\n }, 20);\n } else if (res.body.status === 4232) {\n localStorage.setItem(\"defaultPassword\", \"true\");\n localStorage.setItem(\"UUID\", res.body.data);\n this.router.navigateByUrl('/change-default-password');\n } else {\n showLoader(false);\n this.msg = res.body.message;\n }\n }), (err) => {\n showLoader(false);\n }\n\n }\n\n forgotPassword() {\n localStorage.setItem(\"forgotPassword\", \"true\");\n }\n //#endregion\n\n //#region UI Controlers\n initView(): void {\n this.login = {} as AuthModel;\n }\n //#endregion\n\n}\n","
\n
\n
\n
\n\n
\n
\n \"logo.png\"\n
\n
\n
\n
\n
\n

Log In

\n
\n
\n

Log in with your account

\n\n
\n \n

{{msg}}

\n
\n\n
\n \n \n\n\n
\n
\n \n \n\n\n
\n\n
\n
\n \n
\n
\n\n
\n
\n

\n \n Forgot Password ?\n \n

\n
\n
\n\n
\n
\n

\n Credit Risk Management
© 2020 I-Tech Sarl.
\n

\n
\n\n
\n\n
\n\n
\n
\n","import { HttpResponse } from \"@angular/common/http\";\nimport { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { DataService } from \"src/app/shared/DataService\";\nimport { APIResponse } from \"src/app/shared/models\";\n\ndeclare var showLoader;\n\n@Component({\n selector: \"app-otp-verification\",\n templateUrl: \"./otp-verification.component.html\",\n styleUrls: [\"./otp-verification.component.css\"],\n})\nexport class OtpVerificationComponent implements OnInit {\n otpCode: string;\n username: string;\n\n constructor(\n private ds: DataService,\n private alert: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.onInit();\n\n //cleaup\n localStorage.removeItem(\"otpVerification\");\n }\n\n onInit() {\n this.otpCode = \"\";\n this.username = localStorage.getItem(\"username\");\n }\n\n onSubmitOtpCode() {\n showLoader(true);\n this.ds.post(\"/users/verify/otp\", { \"username\": this.username, \"otp\": this.otpCode, \"context\": \"FORGOT_PASSWORD\" }).subscribe({\n next: (res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n let data = res?.body?.data;\n localStorage.setItem(\"setNewPassword\", \"true\");\n localStorage.setItem(\"userUUID\", data.uuid);\n this.router.navigateByUrl(\"/set-new-password\");\n } else {\n this.onInit();\n this.alert.error(\"WARNING\", res.body.message);\n }\n },\n error: (err) => {\n showLoader(false);\n this.alert.error(\"SERVER ERROR\", \"THERE WAS AN INTERNAL SERVER ERROR\");\n },\n });\n }\n}\n","
\n
\n
\n \"logo.png\"\n
\n
\n
\n
\n
\n
\n
\n
\n
OTP Code Verification
\n Please submit the OTP code sent to your email.\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Enter OTP Code
\n
\n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'app-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.css']\n})\nexport class PaginationComponent implements OnChanges {\n\n @Input() items?: Array;\n @Output() changePage = new EventEmitter(true);\n @Input() initialPage = 1;\n @Input() pageSize = 25;\n @Input() maxPages = 10;\n\n pager?: Pager;\n\n constructor() { }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items.currentValue !== changes.items.previousValue) {\n this.setPage(this.initialPage);\n }\n }\n\n setPage(page: number) {\n // if (!this.items?.length)\n // return;\n\n // get new pager object for specified page\n this.pager = this.paginate(this.items.length, page, this.pageSize, this.maxPages);\n\n // get new page of items from items array\n const pageOfItems = this.items.slice(this.pager.startIndex, this.pager.endIndex + 1);\n\n // call change page function in parent component\n this.changePage.emit(pageOfItems);\n}\n\npaginate(totalItems: number, currentPage: number = 1, pageSize: number = 10, maxPages: number = 10): Pager {\n // calculate total pages\n let totalPages = Math.ceil(totalItems / pageSize);\n\n // ensure current page isn't out of range\n if (currentPage < 1) {\n currentPage = 1;\n } else if (currentPage > totalPages) {\n currentPage = totalPages;\n }\n\n let startPage: number, endPage: number;\n if (totalPages <= maxPages) {\n // total pages less than max so show all pages\n startPage = 1;\n endPage = totalPages;\n } else {\n // total pages more than max so calculate start and end pages\n let maxPagesBeforeCurrentPage = Math.floor(maxPages / 2);\n let maxPagesAfterCurrentPage = Math.ceil(maxPages / 2) - 1;\n if (currentPage <= maxPagesBeforeCurrentPage) {\n // current page near the start\n startPage = 1;\n endPage = maxPages;\n } else if (currentPage + maxPagesAfterCurrentPage >= totalPages) {\n // current page near the end\n startPage = totalPages - maxPages + 1;\n endPage = totalPages;\n } else {\n // current page somewhere in the middle\n startPage = currentPage - maxPagesBeforeCurrentPage;\n endPage = currentPage + maxPagesAfterCurrentPage;\n }\n }\n\n // calculate start and end item indexes\n let startIndex = (currentPage - 1) * pageSize;\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\n\n // create an array of pages to ng-repeat in the pager control\n let pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\n\n // return object with all pager properties required by the view\n return {\n totalItems,\n currentPage,\n pageSize,\n totalPages,\n startPage,\n endPage,\n startIndex,\n endIndex,\n pages\n };\n} \n\n\n}\n\nexport interface Pager {\n totalItems: number;\n currentPage: number;\n pageSize: number;\n totalPages: number;\n startPage: number;\n endPage: number;\n startIndex: number;\n endIndex: number;\n pages: number[];\n}","\n","
\n
\n
\n
\n \n
\n
Payment
\n This page allows specific user to pays bills\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
New Payment
\n \n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n\n
\n \n \n
\n\n \n\n \n
\n
\n
\n \n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n\n
\n
\n
\n \n \n\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
Total: {{uchrg}} FCFA
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Credit UnionBranchMemberNameFile N°Loan DateMotifLoan AmountCharge Amount
{{pr.loan.bqId}}{{pr.loan.agccpt}}{{pr.loan.numcli}}{{pr.loan.nomcli}}{{pr.loan.numdos}}{{pr.loan.datedem}}{{pr.loan.motifdem}}{{pr.loan.mtpret}}{{pr.chargeAmount}}
\n
\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { DatePipe, Location } from '@angular/common';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { Payment, User, APIResponse, BankResponseType, PaymentResponse, PaymentReq, MomoPayment, ChargesRequest, BankPaymentRequest, MobileFees, Bank, PaymentResponseWithFees } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { PaymentService } from 'src/app/shared/payment.service';\nimport Swal from 'sweetalert2';\nimport { MatDialog } from '@angular/material';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-payment',\n templateUrl: './payment.component.html',\n styleUrls: ['./payment.component.css']\n})\nexport class PaymentComponent implements OnInit {\n\n pay: Payment;\n momo: MomoPayment;\n usr: User;\n banks: Array;\n fbank: BankResponseType;\n prs: PaymentResponseWithFees;\n payreq: PaymentReq;\n chargesRequest: ChargesRequest\n uchrg: number = 0;\n showDate = false;\n showList = false;\n base64File: string;\n periodicity: Array = []\n currentYear = (new Date()).getFullYear()\n selectedPeriod = this.datePipe.transform(new Date(), 'MM-yyyy')\n paymentRequest: BankPaymentRequest\n mobileFeesRequest: MobileFees\n selectedBank: Bank\n\n constructor(private ds: DataService, private auth: AuthService, private loc: Location, private alert: ToastrService, private payementService : PaymentService, private datePipe: DatePipe, public matDialog: MatDialog) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.pay = {} as Payment;\n this.momo = {} as MomoPayment;\n this.usr = {} as User;\n this.banks = new Array();\n this.fbank = {} as BankResponseType;\n this.prs = {} as PaymentResponseWithFees;\n this.payreq = {} as PaymentReq;\n this.payreq.pay = {} as Payment;\n this.chargesRequest = {} as ChargesRequest;\n this.payreq.prs = new Array();\n this.paymentRequest = {} as BankPaymentRequest\n this.mobileFeesRequest = {} as MobileFees\n this.usr = this.auth.getUser();\n this.showDate = false;\n this.showList = false;\n this.base64File = '';\n this.selectedBank = {} as Bank\n this.getbanks();\n this.getMonthList('en').forEach(element => {\n this.periodicity.push(element + ' ' + this.currentYear)\n })\n if (this.usr.roleId != 2 && this.usr.roleId == 3) {\n this.chargesRequest.bqId = this.usr.bqId\n this.chargesRequest.monthYear = this.selectedPeriod\n console.log(this.chargesRequest)\n this.getCharges(this.chargesRequest);\n this.showList = true;\n }\n }\n\n getMonthList(\n locales?: string | string[],\n format: \"long\" | \"short\" = \"long\"\n ): string[] {\n const year = new Date().getFullYear(); // 2020\n const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n const formatter = new Intl.DateTimeFormat(locales, {\n month: format\n });\n \n const getMonthName = (monthIndex: number) =>\n formatter.format(new Date(year, monthIndex));\n \n return monthList.map(getMonthName);\n }\n\n convertStringToDate(dateString: string): Date | null {\n const [month, year] = dateString.split('-');\n const parsedMonth = parseInt(month, 10) - 1; // Adjust month for zero-based indexing\n return new Date(Number(year), parsedMonth, 1); // Set day to 1 to avoid issues with different month lengths\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n if (this.usr.roleId !== 1 && this.usr.roleId !== 2 && this.usr.roleId !== 5) {\n this.banks = this.banks.filter(bank => bank.bank?.code === this.usr.bqId);\n }\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getCharges(request: ChargesRequest): void {\n showLoader(true);\n this.ds.post(`/loans/payment-loans/list`, request).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n console.log(res.body.data);\n this.prs = res.body.data;\n this.pay.amntDue = 0;\n this.pay.loanBal = 0;\n if (this.prs.paymentListResponse.length > 0) {\n this.pay.amntDue = this.prs.payableAmount;\n this.uchrg = this.prs.totalFees;\n this.pay.amntPaid = 0;\n this.pay.loanBal = 0;\n this.prs.paymentListResponse.forEach(pr => {\n //this.pay.amntDue += Number(pr.chargeAmount);\n // this.uchrg += Number(pr.UNIT_CHARGE);\n this.pay.loanBal += Number(pr.loan.mtpret);\n });\n }\n this.pay.amntf = this.pay.amntDue;\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n this.showList = false;\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getMobilePaymentFees(): void {\n showLoader(true);\n this.mobileFeesRequest.amount = this.pay.amntf\n this.mobileFeesRequest.operator = this.pay.payMethod\n this.ds.post(`/payments/bankPayments/calculateMobilePaymentAmount`, this.mobileFeesRequest).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n console.log(res.body.data);\n this.paymentRequest.amount_with_fees = this.pay.amntf + res.body.data\n var provider = this.pay.payMethod == 'O' ? 'om' : 'momo'\n Swal.fire({\n title: `

You are about to perform an online payment for your bill of ${this.datePipe.transform(this.convertStringToDate(this.selectedPeriod), 'MMMM yyyy', '', 'en')}. With services fees, the total amount deducted from your account will be ${this.paymentRequest.amount_with_fees} FCFA.

`,\n html: `

`,\n input: 'text',\n inputPlaceholder: 'eg: 690000000',\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Pay\",\n preConfirm: async (number) => {\n try {\n this.paymentRequest.amount_paid = this.pay.amntDue\n this.paymentRequest.mobile_payment_number = number\n console.log(this.paymentRequest)\n showLoader(true)\n this.onPaymentCash()\n //return response.json();\n } catch (error) {\n Swal.showValidationMessage(`\n Request failed: ${error}\n `);\n }\n },\n allowOutsideClick: () => !Swal.isLoading()\n })\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n this.showList = false;\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onCreate() {\n if (this.pay.payMethod === 'C') {\n this.pay.payPhone = null;\n this.pay.sts = 'V';\n } else {\n this.pay.sts = 'P';\n }\n this.pay.uId = this.auth.getUser().id;\n\n // this.prs.forEach((x) => {\n // // x.START_DATE = this.pay.periodStrt\n // // x.END_DATE = this.pay.periodEnd;\n // })\n\n this.payreq.pay = this.pay;\n this.payreq.prs = this.prs.paymentListResponse;\n\n showLoader(true);\n //console.log(this.payreq);\n if(this.pay.payMethod !== 'C'){\n showLoader(false);\n this.getMobilePaymentFees()\n\n // this.momo.accountIdentifier = ('237' + this.pay.payPhone).toString();\n // this.momo.amount = this.pay.amntPaid.toString();\n // this.momo.referenceOrder = \"12236543874\";\n\n // if(this.pay.payMethod === 'M'){\n // this.momo.providerIdentifier = '62401';\n // }else if(this.pay.payMethod === 'O'){\n // this.momo.providerIdentifier = '62402';\n // }\n\n // //console.log(this.momo);\n // this.payementService.payInitialDeposit(this.momo).subscribe((res: paymentObj) => {\n // if (res.responseCode === \"1\") {\n // showLoader(false);\n // this.licenceCreate(this.payreq);\n // this.alert.success('SUCCESS', res.responseMessage);\n // } else {\n // //console.log(res.body.message);\n // showLoader(false);\n // this.alert.error('ERROR', res.responseMessage);\n // }\n // }, (err) => {\n // showLoader(false);\n // this.alert.error('SERVER ERROR', err.message);\n // });\n }else{\n this.onPaymentCash()\n // this.licenceCreate(this.payreq);\n }\n }\n\n licenceCreate(payment : PaymentReq){\n this.ds.post('/licences/new', payment).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //this.alert.success('SUCCESS', 'PROCEDURE\\'S DETAILS SAVE SUCCESSFULLY');\n this.initView();\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n onPaymentCash() {\n this.paymentRequest.id = null\n this.paymentRequest.bank_code = this.pay.bqId\n this.paymentRequest.amount_paid = this.pay.amntDue\n if (this.selectedBank.type == 'INTERNAL') {\n this.paymentRequest.period_loan_balance = this.pay.loanBal\n }\n this.paymentRequest.payment_period = this.selectedPeriod\n this.paymentRequest.payment_date = new Date()\n this.paymentRequest.payer_name = this.pay.memName\n this.paymentRequest.payer_phone = this.pay.memPhone\n this.paymentRequest.pay_method = this.pay.payMethod,\n this.paymentRequest.user_id = this.auth.getUser().id\n this.paymentRequest.sts = 'V'\n console.log(this.paymentRequest)\n this.ds.post('/payments/new-bank-payment', this.paymentRequest).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //this.alert.success('SUCCESS', 'PROCEDURE\\'S DETAILS SAVE SUCCESSFULLY');\n this.initView();\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n } else if (res.body.status === 202) {\n showLoader(false);\n this.alert.warning('WARNING', 'A PAYMENT HAS ALREADY BEEN MADE FOR THIS AGENCY AND THIS PERIOD');\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n }); \n }\n\n onPayMethodChange(method: string) {\n if (method === 'M' || method === 'O') {\n this.chargesRequest.bqId = this.auth.getUser().bqId\n this.getCharges(this.chargesRequest);\n } else {\n this.prs = undefined;\n }\n }\n\n onCreditUnionChange(value: string) {\n if (value != null) {\n this.pay.amntPaid = null;\n this.pay.amntf = null;\n this.pay.discount = null;\n this.showDate = false;\n this.showList = true;\n this.chargesRequest.bqId = value\n this.chargesRequest.monthYear = this.selectedPeriod\n var selected = this.banks.filter(item => {\n return item.bank.code == value\n })\n this.selectedBank = selected[0].bank\n if (this.selectedBank.type == 'INTERNAL') {\n this.getCharges(this.chargesRequest);\n }\n }\n\n }\n\n onPeriodChange(value: string) {\n if (value != null) {\n this.pay.amntPaid = null;\n this.pay.amntf = null;\n this.pay.discount = null;\n this.showDate = false;\n this.showList = true;\n this.selectedPeriod = this.datePipe.transform(new Date(value), 'MM-yyyy')\n this.chargesRequest.bqId = this.pay.bqId\n this.chargesRequest.monthYear = this.selectedPeriod\n if (this.selectedBank.type == 'INTERNAL') {\n this.getCharges(this.chargesRequest);\n }\n }\n }\n\n addDays(date, days) {\n var result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n }\n\n calcDaysOnAmnt(unit_amnt, amnt_pay) {\n return (amnt_pay * 30) / unit_amnt;\n }\n\n getDuration() {\n if (this.pay.amntPaid != null) {\n this.showDate = true;\n var date = new Date();\n // this.pay.periodStrt = this.prs[0].START_DATE == null ? date : this.prs[0].START_DATE;\n // let days = this.getDateDiff(this.pay.periodStrt, new Date(this.prs[0].END_DATE));\n // let ndays = (this.pay.amntPaid * Number(days)) / this.pay.amntDue;\n // //console.log(ndays);\n // this.pay.periodEnd = this.addDays(this.pay.periodStrt, Math.round(ndays));\n } else {\n this.showDate = false;\n }\n\n if (this.usr.roleId != 1) {\n this.pay.amntf = this.pay.amntPaid;\n }\n }\n\n onTotalLoanChange() {\n if (this.paymentRequest.period_loan_balance != null && this.paymentRequest.period_loan_balance >= 0) {\n this.pay.amntDue = Math.round(this.paymentRequest.period_loan_balance * this.selectedBank.feeAmount)\n this.pay.amntf = this.pay.amntDue\n }\n }\n\n onDiscount() {\n if (this.pay.amntPaid != null && this.pay.discount != null) {\n this.pay.amntf = Math.round(this.pay.amntDue - ((this.pay.discount / 100) * this.pay.amntDue))\n if(this.pay.discount != 0){\n this.pay.amntPaid = this.pay.amntf;\n this.getDuration();\n }\n } else {\n this.pay.amntf = null;\n }\n }\n\n getDateDiff(date1: Date, date2: Date): number {\n let diff = Math.abs(new Date(date1).getTime() - new Date(date2).getTime());\n //console.log(Math.ceil(diff / (60 * 60 * 24 * 1000)));\n return Math.ceil(diff / (60 * 60 * 24 * 1000));\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DatePipe, Location } from '@angular/common';\nimport { APIResponse, BankResponseType, RetroCommissionRequest, RetroCommissionResponse, RetroCommissionToPrint, User } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ExportHelper } from 'src/app/shared/export.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-retro-commission-module',\n templateUrl: './retro-commission-module.component.html',\n styleUrls: ['./retro-commission-module.component.css']\n})\nexport class RetroCommissionModuleComponent implements OnInit {\n\n usr: User;\n request: RetroCommissionRequest\n coms: Array\n totlBal: number;\n totFees: number;\n pageOfItems?: Array;\n bkId: string;\n selectedPeriod : string\n maxPeriod : string\n pdfHelper : ExportHelper;\n\n constructor(private loc: Location, private ds: DataService, private alert: ToastrService, private datePipe: DatePipe, private auth: AuthService) { }\n\n ngOnInit(): void {\n this.initView()\n }\n\n initView() {\n this.usr = {} as User;\n this.request = {} as RetroCommissionRequest\n this.coms = []\n this.totlBal = 0;\n this.totFees = 0;\n this.bkId = '';\n this.selectedPeriod = this.datePipe.transform(new Date().setDate(0), 'yyyy-MM')\n this.maxPeriod = this.datePipe.transform(new Date().setDate(0), 'yyyy-MM')\n this.usr = this.auth.getUser();\n this.pdfHelper = new ExportHelper(new DatePipe('en'));\n if (this.usr.roleId == 3 || this.usr.roleId == 4) {\n this.bkId = this.usr.bqId;\n this.request.userId = this.usr.id\n this.request.period = this.datePipe.transform(this.selectedPeriod, 'MM-yyyy')\n this.getRetroCom();\n }\n }\n\n getRetroCom(): void {\n showLoader(true);\n this.ds.post(`/retro-commissions/list`, this.request).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n if (res.body.data != null) {\n this.coms = res.body.data;\n this.totlBal = 0;\n this.totFees = 0;\n this.coms.forEach((x) => {\n this.totlBal += x.camcculFeeShare;\n this.totFees += x.mifiFeeShare;\n });\n } else {\n this.coms = [];\n this.totlBal = 0;\n this.totFees = 0;\n }\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onPeriodChange(value: string) {\n if (value != null) {\n this.selectedPeriod = this.datePipe.transform(value, 'yyyy-MM')\n this.request.userId = this.usr.id\n this.request.period = this.datePipe.transform(this.selectedPeriod, 'MM-yyyy')\n this.getRetroCom();\n }\n }\n\n onChangePage(pageOfItems: Array) {\n // update current page of items\n this.pageOfItems = pageOfItems;\n}\n\n exportExcel() {\n var clientList = [];\n this.coms.forEach(element => {\n clientList.push(new RetroCommissionToPrint(element));\n })\n this.pdfHelper.exportexcel(clientList, 'retro-commission');\n }\n\n generatePdf() {\n var clientList = [];\n this.coms = this.coms.sort((a,b) => Number(a.bankCode) - Number(b.bankCode))\n this.coms.forEach(element => {\n clientList.push(new RetroCommissionToPrint(element));\n })\n this.pdfHelper.openPDF('retro-commission', clientList, this.totFees, this.totlBal, this.usr.username, this.selectedPeriod);\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Retro Commission
\n This page allows specific user to see their retro commission over the bills they've paid\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n\n
\n \n \n
\n
\n\n
\n \n\n \n
\n\n
\n\n \n
\n
\n
\n
\n
\n
\n
Total Mifi Share: {{totFees}} FCFA
\n
\n
\n
Total CAMCCUL Share: {{totlBal}} FCFA
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PeriodBank CodeBank NameLoan TotalFee PaidCredit Union ShareCAMCCUL Fee Share
{{pr.period}}{{pr.bankCode}}{{pr.bankName}}{{pr.loanTotal}}{{pr.feePaid}}{{pr.mifiFeeShare}}{{pr.camcculFeeShare}}
\n\n \n\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
","import { HttpResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { DataService } from 'src/app/shared/DataService';\nimport { APIResponse } from 'src/app/shared/models';\n\ndeclare var showLoader;\n\ninterface NewPasswordDTO {\n newPwd: string;\n confirmPwd: string;\n}\n\n@Component({\n selector: 'app-set-new-password',\n templateUrl: './set-new-password.component.html',\n styleUrls: ['./set-new-password.component.css']\n})\nexport class SetNewPasswordComponent implements OnInit {\n newPassword: string;\n passwordConfirmation: string;\n userUUID: string;\n newPasswordDTO : NewPasswordDTO\n passwordPattern: RegExp = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[!@#$%^&*()_+=-]).{8,}$/;\n\n\n constructor(\n private ds: DataService,\n private alert: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.onInit();\n\n //cleanup\n //localStorage.removeItem(\"setNewPassword\");\n //localStorage.removeItem(\"UUID\");\n }\n\n onInit() {\n this.newPassword = '';\n this.passwordConfirmation = '';\n this.newPasswordDTO = {} as NewPasswordDTO;\n this.userUUID = localStorage.getItem(\"userUUID\");\n }\n\n onSubmitNewPassword() {\n if (this.newPassword != this.passwordConfirmation) {\n this.alert.error(\n \"ERROR\",\n \"New password is different form password confirmation\"\n );\n return;\n }\n\n this.newPasswordDTO.newPwd = btoa(this.newPassword);\n this.newPasswordDTO.confirmPwd = btoa(this.passwordConfirmation);\n\n showLoader(true);\n this.ds\n .put(\"/users/set-new-password/\" + this.userUUID, this.newPasswordDTO)\n .subscribe({\n next: (res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success(\"SUCCESS\", \"NEW PASSWORD SET SUCCESSFULLY\");\n this.router.navigateByUrl(\"/login\");\n } else {\n showLoader(false);\n this.onInit();\n this.alert.error(\"WARNING\", res.body.message);\n }\n },\n error: (err) => {\n showLoader(false);\n this.alert.error(\n \"SERVER ERROR\",\n \"THERE WAS AN INTERNAL SERVER ERROR\"\n );\n },\n });\n }\n\n validatePassword(): boolean {\n if (this.newPassword && this.passwordConfirmation.match(this.passwordPattern)) {\n return true;\n }\n return false;\n }\n\n confirmationMatchesNewPasswordCheck() {\n if (this.newPassword && this.passwordConfirmation && this.newPassword == this.passwordConfirmation) {\n return true;\n }\n return false;\n }\n\n}\n","
\n
\n
\n \"logo.png\"\n
\n
\n
\n
\n
\n
\n
\n
\n
Set New Password
\n Define a new password for your account here.\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Set New Password
\n
\n
\n
\n
\n \n
\n \n
\n Password must have a minimum length of 8 characters, one or more uppercase letters, one or more lowercase letters, one or more numbers, and one or more symbols.\n
\n\n
\n
\n
\n \n
\n \n
\n The confirmation must match the new password.\n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AccessCharge, PageChapter, APIResponse, UserRole } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-access-charge',\n templateUrl: './access-charge.component.html',\n styleUrls: ['./access-charge.component.css']\n})\nexport class AccessChargeComponent implements OnInit {\n\n acs: Array;\n page: number;\n pageChapter: PageChapter;\n pages: Array;\n ac: AccessCharge;\n canUpd: boolean;\n base64File: string;\n ro: boolean;\n ur: UserRole;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.acs = new Array();\n this.page = 0;\n this.pageChapter = {} as PageChapter;\n this.ur = {} as UserRole;\n this.ac = {} as AccessCharge;\n this.canUpd = false;\n this.base64File = '';\n this.ro = false;\n this.getAccessCharges(this.page);\n this.getRoles(this.auth.getUser().roleId);\n }\n\n getAccessCharges(page: number): void {\n showLoader(true);\n this.ds.get(`/access-configs/list?page=${page}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageChapter = res.body.data;\n this.pages = new Array(this.pageChapter.totalPages);\n this.acs = this.pageChapter.content;\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n onCreate() {\n showLoader(true);\n //console.log(this.ac);\n this.ds.post('/access-configs/new', this.ac).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'ACCESS CHARGE SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n onUpdate() {\n showLoader(true);\n this.ds.put('/access-configs/update/'+this.ac.id, this.ac).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'ACCESS CHARGE UPDATED SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n setPage(i, event: any) {\n event.preventDefault();\n this.page = i;\n this.getAccessCharges(i);\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/access-configs/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'ACCESS CHARGE DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n\n }\n\n onBeforeUpdate(a: AccessCharge) {\n this.ac = a;\n this.canUpd = true;\n }\n\n printChargesReport(): void {\n //console.log('here');\n showLoader(true);\n this.ds.get(`/access-configs/reports/list`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n showLoader(false);\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => { \n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getRoles(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n //console.log(this.ur);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Access Charges Configuration
\n This page allows admin to configure access charges\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n
Configured Access Charges
\n    \n
Total: {{acs.length}}
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n
S/NTotals Loans Ranges (XAF)Charge / Month (XAF)Action
{{i+1}}\n
\n
From:
\n
\n    {{a.amntStrt | number}}\n
\n
-
\n
to:
\n
\n {{a.amntEnd | number}}\n
\n
\n
{{a.amount | number}}\n \n \n
#\n
\n
From:
\n
\n \n
\n
-
\n
to:
\n
\n \n
\n
\n\n
\n \n \n \n \n
\n
\n\n\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Agency, AlertMessage, APIResponse, BankResponseType } from 'src/app/shared/models';\nimport { ToastrService } from 'ngx-toastr';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute } from '@angular/router';\nimport { HttpResponse } from '@angular/common/http';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-alert-message-edit',\n templateUrl: './alert-message-edit.component.html',\n styleUrls: ['./alert-message-edit.component.css']\n})\nexport class AlertMessageEditComponent implements OnInit {\n\n alrt: AlertMessage;\n cId: number;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService ) { \n this.initView();\n \n }\n\n ngOnInit(): void {\n }\n\n getChapterById(): void {\n showLoader(true);\n this.ds.get(`/alerts/${this.cId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alrt = res.body.data;\n // console.log(this.chap);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n //showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n onUpdate() {\n showLoader(true);\n this.ds.put('/alerts/update/'+this.cId, this.alrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'ALERT MESSAGE SAVE SUCCESSFULLY');\n //this.initView();\n } else {\n // console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.alrt = {} as AlertMessage;\n this.route.params.subscribe((param) => {\n this.cId = param.id;\n this.getChapterById();\n });\n\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Alert Message
\n This page permit the user to update an existing alert message\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Edit Alert Message
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AlertMessage, PageChapter, APIResponse, UserRole, BankResponseType, Agency, Numero, NumeroReq } from 'src/app/shared/models';\nimport { ToastrService } from 'ngx-toastr';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-alert-message-list',\n templateUrl: './alert-message-list.component.html',\n styleUrls: ['./alert-message-list.component.css']\n})\nexport class AlertMessageListComponent implements OnInit {\n\n page: number;\n pageUser: PageChapter;\n pages: Array;\n alerts: Array;\n alertss: Array;\n filterAlerts: Array;\n banks: Array;\n branchs: Array;\n base64File: string;\n msg: string;\n ro: boolean;\n ur: UserRole;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n selectNumsc: Array;\n selectNumsb: Array;\n numreq: NumeroReq;\n isGroupc: boolean;\n isGroupb: boolean;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n this.initView();\n }\n\n initView() {\n this.page = 0;\n this.pageUser = {} as PageChapter;\n this.alerts = new Array();\n this.ur = {} as UserRole;\n this.alertss = new Array();\n this.filterAlerts = new Array();\n this.banks = new Array();\n this.branchs = new Array();\n this.selectNumsc = new Array();\n this.selectNumsb = new Array();\n this.numreq = {} as NumeroReq;\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.ro = false;\n this.isGroupb = false;\n this.isGroupc = false;\n this.msg ='';\n this.getAlertsList(0);\n this.getRoles(this.auth.getUser().roleId);\n this.getBranches();\n this.getbanks();\n }\n\n getAlertsList(page: number): void {\n showLoader(true);\n this.ds.get(`/alerts/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageUser = res.body.data;\n this.pages = Array(this.pageUser.totalPages).fill(0).map((x,i)=>i);\n this.alerts = this.pageUser.content;\n //console.log(this.users);\n this.filterAlerts = this.pageUser.content;\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n sendSms(alrt: AlertMessage) {\n this.ds.post(`/alerts/send/sms`, alrt).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.alert.success('SUCCESS', 'ALERT MESSAGE HAS BEEN SENT TO EVERY CREDIT UNION');\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n sendSmsNew() {\n this.numreq.bNum = this.selectNumsb;\n this.numreq.cNum = this.selectNumsc;\n //console.log(this.numreq);\n this.ds.post(`/alerts/send/smsnew`, this.numreq).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.alert.success('SUCCESS', 'ALERT MESSAGE HAS BEEN SENT TO SELECTED ITEMS');\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterAlerts = this.alerts.filter((cre) => {\n return cre.title.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.msg.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } else {\n this.filterAlerts = this.alerts;\n }\n }\n\n setPage(i) {\n this.getAlertsList(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getAlertsList(0);\n } catch (error) {\n \n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageUser.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/alerts/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'ALERT MESSAGE DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n getRoles(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n //console.log(this.ur);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n changeStatus(alrt: AlertMessage) {\n showLoader(true);\n alrt.state = !alrt.state;\n this.ds.put('/alerts/activate/' + alrt.id, alrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'ALERT MESSAGE UPDATED SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n this.banks.sort((a, b) => (a.bank.name > b.bank.name) ? 1 : ((b.bank.name > a.bank.name) ? -1 : 0));\n //console.log(this.banks );\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.branchs = res.body.data;\n this.branchs.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0));\n \n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n onSelectAllc(event) {\n try {\n this.selectNumsc = new Array();\n const checked = event.target.checked;\n this.banks.forEach((item) => {\n item.selected = checked;\n if (checked == true || this.selectNumsc === []) {\n let b = {} as Numero;\n b.num = item.bank.tel;\n b.id = item.bank.id;\n b.code = item.bank.code;\n b.msg = this.msg;\n this.selectNumsc.push(b);\n } else {\n this.selectNumsc = new Array();\n }\n });\n // console.log(this.selectNumsc);\n\n if(this.selectNumsc.length === 0){\n this.isGroupc = false ;\n } else {\n this.isGroupc = true;\n }\n } catch (error) {\n\n }\n }\n\n onSelectedc(event, d: BankResponseType) {\n try {\n let nu = {} as Numero;\n nu.code = d.bank.code;\n nu.id = d.bank.id;\n nu.num = d.bank.tel;\n nu.msg = this.msg;\n let idx = this.selectNumsc.indexOf(nu);\n if (event.target.checked) {\n this.selectNumsc.push(nu);\n //console.log(this.selectNumsc);\n } else {\n this.selectNumsc.splice(idx, 1);\n // console.log(this.selectNumsc);\n }\n\n if(this.selectNumsc.length === 0){\n this.isGroupc = false ;\n } else {\n this.isGroupc = true;\n }\n\n } catch (error) {\n\n }\n }\n\n onSelectAllb(event) {\n try {\n this.selectNumsb = new Array();\n const checked = event.target.checked;\n this.branchs.forEach((item) => {\n item.selected = checked;\n if (checked == true || this.selectNumsb === []) {\n let b = {} as Numero;\n b.num = item.tel;\n b.id = item.id;\n b.code = item.code;\n b.msg = this.msg;\n this.selectNumsb.push(b);\n } else {\n this.selectNumsb = new Array();\n }\n });\n //console.log(this.selectNumsb);\n\n if(this.selectNumsb.length === 0){\n this.isGroupb = false ;\n } else {\n this.isGroupb = true;\n }\n } catch (error) {\n\n }\n }\n\n onSelectedb(event, d: Agency) {\n try {\n let nu = {} as Numero;\n nu.code = d.code;\n nu.id = d.id;\n nu.num = d.tel;\n nu.msg = this.msg;\n let idx = this.selectNumsb.indexOf(nu);\n if (event.target.checked) {\n this.selectNumsb.push(nu);\n //console.log(this.selectNumsb);\n } else {\n this.selectNumsb.splice(idx, 1);\n //console.log(this.selectNumsb);\n }\n\n if(this.selectNumsb.length === 0){\n this.isGroupb = false ;\n } else {\n this.isGroupb = true;\n }\n\n } catch (error) {\n\n }\n }\n\n}\n\n\n\n","
\n
\n
\n
\n \n
\n
Alert Message
\n This page list camccul alert message\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n
List of Message
\n    \n
Total: {{pageUser.totalElements}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n \n \n \n \n
Created DateTitleMessageStatusAction
{{alrt.createdAt | date}}{{alrt.title}}{{alrt.msg}}\n Activated\n Desactivated\n \n \n \n \n\n \n\n \n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Select Credit Unions or Branches

\n \n
\n
\n
\n
\n
List of Credits Unions
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
CodeName
{{b.bank.code}}{{b.bank.name}}
\n
\n
\n
\n
List of Branches
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
CodeName
{{bh.code}}{{bh.name}}
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AlertMessage, APIResponse } from 'src/app/shared/models';\nimport { ToastrService } from 'ngx-toastr';\nimport { Location } from '@angular/common';\nimport { HttpResponse } from '@angular/common/http';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-alert-message-new',\n templateUrl: './alert-message-new.component.html',\n styleUrls: ['./alert-message-new.component.css']\n})\nexport class AlertMessageNewComponent implements OnInit {\n\n alrt: AlertMessage;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n onCreate() {\n showLoader(true);\n this.ds.post('/alerts/new', this.alrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CHAPTER SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.alrt = {} as AlertMessage;\n }\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Alert Message
\n This page permit the user to create new alert message\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
New Alert Message
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-alert-message',\n templateUrl: './alert-message.component.html',\n styleUrls: ['./alert-message.component.css']\n})\nexport class AlertMessageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

alert-message works!

\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { AccessChargeComponent } from './access-charge/access-charge.component';\r\nimport { GeneralSetupComponent } from './general-setup/general-setup.component';\r\nimport { LicenceComponent } from './licence/licence.component';\r\nimport { AlertMessageListComponent } from './alert-message-list/alert-message-list.component';\r\nimport { AlertMessageNewComponent } from './alert-message-new/alert-message-new.component';\r\nimport { AlertMessageEditComponent } from './alert-message-edit/alert-message-edit.component';\r\nimport { ImportContactComponent } from './import-contact/import-contact.component';\r\nimport { MerchandConfigurationComponent } from './merchand-configuration/merchand-configuration.component';\r\nimport { UploadSynchronisationComponent } from './upload-synchronisation/upload-synchronisation.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'configuration/access-charges', component: AccessChargeComponent },\r\n { path: 'configuration/general-setup', component: GeneralSetupComponent },\r\n { path: 'configuration/merchant-config', component: MerchandConfigurationComponent },\r\n { path: 'configuration/licences', component: LicenceComponent },\r\n { path: 'configuration/alerts', component: AlertMessageListComponent },\r\n { path: 'configuration/alerts/edit/:id', component: AlertMessageEditComponent },\r\n { path: 'configuration/alerts/new', component: AlertMessageNewComponent },\r\n { path: 'configuration/upload', component: ImportContactComponent },\r\n { path: 'configuration/upload-sync', component: UploadSynchronisationComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [\r\n RouterModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class ConfigurationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AccessChargeComponent } from './access-charge/access-charge.component';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { ConfigurationRoutingModule } from './configuration-routing-module';\nimport { GeneralSetupComponent } from './general-setup/general-setup.component';\nimport { LicenceComponent } from './licence/licence.component';\nimport { LicenceNewComponent } from './licence-new/licence-new.component';\nimport { AlertMessageComponent } from './alert-message/alert-message.component';\nimport { AlertMessageNewComponent } from './alert-message-new/alert-message-new.component';\nimport { AlertMessageEditComponent } from './alert-message-edit/alert-message-edit.component';\nimport { AlertMessageListComponent } from './alert-message-list/alert-message-list.component';\nimport { UiSwitchModule } from 'ngx-ui-switch';\nimport { ImportContactComponent } from './import-contact/import-contact.component';\nimport { MerchandConfigurationComponent } from './merchand-configuration/merchand-configuration.component';\n\n\n\n@NgModule({\n declarations: [AccessChargeComponent, GeneralSetupComponent, LicenceComponent, LicenceNewComponent, AlertMessageComponent, AlertMessageNewComponent, AlertMessageEditComponent, AlertMessageListComponent, ImportContactComponent, MerchandConfigurationComponent],\n imports: [\n CommonModule,\n FormsModule,\n SharedModule,\n UiSwitchModule,\n ConfigurationRoutingModule\n ],\n exports: [\n AccessChargeComponent,\n GeneralSetupComponent,\n LicenceComponent, \n AlertMessageComponent,\n AlertMessageNewComponent, \n AlertMessageEditComponent, \n AlertMessageListComponent,\n MerchandConfigurationComponent\n ],\n})\nexport class ConfigurationModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { AppSetting, APIResponse } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-general-setup',\n templateUrl: './general-setup.component.html',\n styleUrls: ['./general-setup.component.css']\n})\nexport class GeneralSetupComponent implements OnInit {\n\n sttg: AppSetting;\n sttgs: Array;\n canUpd: boolean;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n \n }\n\n initView() {\n this.sttg = {} as AppSetting;\n this.sttgs = Array();\n this.getSettings();\n }\n\n getSettings(): void {\n showLoader(true);\n this.ds.get(`/settings/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n //console.log(res.body.data);\n this.sttgs = res.body.data;\n if(this.sttgs.length !== 0) {\n this.sttg = this.sttgs[0];\n this.canUpd = false;\n //console.log(this.sttg);\n } else {\n this.canUpd = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n onCreate() {\n //console.log(this.sttg);\n showLoader(true);\n this.ds.post('/settings/new', this.sttg).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'SETTING SAVE SUCCESSFULLY');\n this.initView();\n } else {\n // console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n onUpdate() {\n showLoader(true);\n this.sttg.mifiFeeRate = this.sttg.mifiFeeRate / 100\n this.ds.put('/settings/update/'+this.sttg.id, this.sttg).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'SETTING SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Settings
\n This page allows admin to enter default app settings \n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n\n
\n
\n
Settings
\n
\n
\n \n
\n
\n
\n
\n
\n \n\n
\n\n
\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n\n
\n
\n
\n
\n
\n \n
\n \n\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
","import { HttpEventType, HttpHeaderResponse, HttpResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ToastrService } from 'ngx-toastr';\nimport { UploadFileService } from 'src/app/shared/upload-file.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-import-contact',\n templateUrl: './import-contact.component.html',\n styleUrls: ['./import-contact.component.css']\n})\nexport class ImportContactComponent implements OnInit {\n selectedFiles: FileList;\n currentFile: File;\n progress = 0;\n message = '';\n\n fileInfos: Observable;\n\n constructor(private uploadService: UploadFileService, private alert: ToastrService) { }\n\n ngOnInit() {\n //this.fileInfos = this.uploadService.getFiles();\n }\n\n selectFile(event) {\n this.selectedFiles = event.target.files;\n //console.log(this.selectedFiles);\n }\n\n upload() {\n this.progress = 0;\n showLoader(true);\n this.currentFile = this.selectedFiles.item(0);\n this.uploadService.upload(this.currentFile).subscribe(\n event => {\n //console.log(event);\n if (event.type === HttpEventType.UploadProgress) {\n this.progress = Math.round(100 * event.loaded / event.total);\n } else if (event instanceof HttpHeaderResponse) {\n // console.log(event);\n if (event.status === 200) {\n this.alert.success(\"CONTACT IMPORTATION WAS SUCCESSFUL\");\n // console.log(event.body.message);\n showLoader(false);\n //this.reloadFunc();\n } else {\n showLoader(false);\n this.alert.warning(\"CONTACT IMPORTATION FAILED\");\n //console.log(event.body.message);\n }\n this.message = event.statusText;\n // console.log(this.message);\n // this.fileInfos = this.uploadService.getFiles();\n }\n },\n err => {\n showLoader(false);\n //console.log(err);\n this.progress = 0;\n this.message = 'Could not upload the file!';\n this.currentFile = undefined;\n });\n \n this.selectedFiles = undefined;\n }\n\n}\n","
\n
\n
\n
\n \n
\n
File Upload
\n This page permit the user to upload contact\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n\n
\n\n
\n
\n
File Upload
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-licence-new',\n templateUrl: './licence-new.component.html',\n styleUrls: ['./licence-new.component.css']\n})\nexport class LicenceNewComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

licence-new works!

\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-licence',\n templateUrl: './licence.component.html',\n styleUrls: ['./licence.component.css']\n})\nexport class LicenceComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

licence works!

\n","import { HttpResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { APIResponse, FeesConfig, MerchantConfig, UpdateFeeRequest } from 'src/app/shared/models';\nimport { ToastrService } from 'ngx-toastr';\nimport { Location } from '@angular/common';\ndeclare var showLoader;\n\n@Component({\n selector: 'app-merchand-configuration',\n templateUrl: './merchand-configuration.component.html',\n styleUrls: ['./merchand-configuration.component.css']\n})\nexport class MerchandConfigurationComponent implements OnInit {\n\n merchantConfig: MerchantConfig\n configs: MerchantConfig[] = []\n feesConfig: FeesConfig\n feesConfigs: FeesConfig[] = []\n request: UpdateFeeRequest\n\n constructor(private ds: DataService, private alert: ToastrService, private loc: Location) { \n this.initView()\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.merchantConfig = {} as MerchantConfig\n this.feesConfig = {} as FeesConfig\n this.request = {} as UpdateFeeRequest\n this.getMerchandConfiguration();\n this.getPaymentFeed()\n }\n\n getMerchandConfiguration(): void {\n showLoader(true);\n this.ds.get(`/mobilePaymentConfig/payments`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.configs = res.body.data;\n if (this.configs.length > 0) {\n this.merchantConfig = this.configs[0]\n }\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getPaymentFeed(): void {\n showLoader(true);\n this.ds.get(`/mobilePaymentConfig/fees`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.feesConfigs = res.body.data;\n if (this.feesConfigs.length > 0) {\n this.feesConfig = this.feesConfigs[0]\n }\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onUpdate(): void {\n showLoader(true);\n this.request.feeConfig = this.feesConfig\n this.request.paymentConfig = this.merchantConfig\n this.ds.put(`/mobilePaymentConfig/update`, this.request).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.alert.success('SUCCESS', 'YOUR MERCHANT CONFIGURATION HAS BEEN UPDATED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Merchant Configuration
\n This page allows admin to configure the merchant code for his micro finance \n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n\n
\n\n
\n\n \n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n","import { HttpEventType, HttpHeaderResponse, HttpResponse } from '@angular/common/http';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ToastrService } from 'ngx-toastr';\nimport { APIResponse } from 'src/app/shared/models';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-upload-synchronisation',\n templateUrl: './upload-synchronisation.component.html',\n styleUrls: ['./upload-synchronisation.component.css']\n})\nexport class UploadSynchronisationComponent implements OnInit {\n\n @ViewChild(\"takeInput\", {static: false}) inputVar: ElementRef;\n\n selectedFile: File = null;\n\n constructor(private ds: DataService, private alert: ToastrService) { }\n\n ngOnInit(): void {\n }\n\n onFileChange(event: any): void {\n this.selectedFile = event.target.files[0];\n }\n\n uploadFile(): void {\n if (this.selectedFile) {\n showLoader(true);\n this.ds.uploadFile(this.selectedFile).then(\n (res: APIResponse) => {\n console.log(res)\n if (res.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.alert.success('SUCCESS', 'YOUR MERCHANT CONFIGURATION HAS BEEN UPDATED SUCCESSFULLY');\n this.inputVar.nativeElement.value = \"\";\n } else {\n showLoader(false);\n this.alert.error('UNEXPECTED UPLOAD ERROR', res.data);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n }\n );\n }\n }\n\n \n\n}\n","
\n
\n
\n
\n \n
\n
Upload Sync
\n This page permits the user to upload a file for external users synchronization\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n\n
\n\n
\n
\n
File Upload
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n
\n\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { SituationDetailsResponse, SubSituationRequestType, SubSituationResponseType, SituationRequestType, Agency, Bank, Client, Loan, Relation, SitLoan, Situation, APIResponse, User } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-blacklist-detail',\n templateUrl: './blacklist-detail.component.html',\n styleUrls: ['./blacklist-detail.component.css']\n})\nexport class BlacklistDetailComponent implements OnInit {\n\n sitId: number;\n sdrt: SituationDetailsResponse;\n menos: Array;\n ssrt: SubSituationRequestType;\n ssrts: Array;\n srt: SituationRequestType;\n usr: User;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService, private router: Router, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.sdrt = {} as SituationDetailsResponse;\n this.sdrt.branch = {} as Agency;\n this.sdrt.bank = {} as Bank;\n this.sdrt.client = {} as Client;\n this.sdrt.loan = {} as Loan;\n this.sdrt.relation = new Array();\n this.sdrt.sitLoan = {} as SitLoan;\n this.sdrt.situation = {} as Situation;\n this.menos = new Array();\n this.ssrt = {} as SubSituationRequestType;\n this.ssrts = new Array();\n this.srt = {} as SituationRequestType;\n this.usr = this.auth.getUser();\n this.route.params.subscribe((param) => {\n this.sitId = param.id;\n this.getSituationById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n getSituationById() {\n showLoader(true);\n this.ds.get(`/situations/${this.sitId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.sdrt = res.body.data;\n this.menos = this.sdrt.situation.memo.split(',').filter(function (v) { return v !== '' });\n //console.log(this.sdrt);\n this.getBorrowerSubSituation();\n\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBorrowerSubSituation() {\n this.ssrt.numcli = this.sdrt.client.numcli;\n this.ssrt.PHONE = this.sdrt.client.phone;\n this.ssrt.CNI = this.sdrt.client.cniclient;\n this.ssrt.BQID = this.sdrt.situation.bqId;\n this.ssrt.AGCCPT = this.sdrt.situation.branchId;\n\n //console.log(this.ssrt);\n showLoader(true);\n this.ds.post(`/situations/sub-situation`, this.ssrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.ssrts = res.body.data;\n //console.log(res.body.data);\n\n } else {\n //console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n // console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n approuveUnBlocked() {\n this.srt.id = this.sitId;\n this.srt.user = this.auth.getUser().id;\n showLoader(true);\n this.ds.post(`/situations/approuveUnblacklist`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'YOUR REQUEST TO UNBLACKLIST MENBER WAS SUCCESSFUL');\n this.router.navigateByUrl('management/blacklist-history');\n } else {\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n approuveUnBlockedAdmin() {\n this.srt.id = this.sitId;\n this.srt.user = this.auth.getUser().id;\n showLoader(true);\n this.ds.post(`/situations/approuveUnblacklistAdmin`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'YOUR REQUEST TO UNBLACKLIST MENBER WAS SUCCESSFUL');\n this.router.navigateByUrl('management/blacklist-history');\n } else {\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Blacklist Member Details
\n This page is made to approved unblacklist\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
Borrower's Details
\n
\n
\n
\n
\n\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
Member №{{sdrt.situation.numcli}}
Member Name{{sdrt.situation.nomcli}}
ID Card №{{sdrt.client != null ? sdrt.client.cniclient: \"\"}}
Phone №{{sdrt.client != null ? sdrt.client.phone: \"\"}}
Credit Union{{sdrt.bank != null ? sdrt.bank.name : \"\"}}
Credit Union Branch{{sdrt.branch != null ? sdrt.branch.name: \"\"}}
Loan motif{{sdrt.loan != null ? sdrt.loan.motifdem: \"\"}}
Loan AmountXAF {{sdrt.sitLoan.mtpret? sdrt.sitLoan.mtpret : 'Unavailable'}}
Loan balance{{sdrt.sitLoan.montrest? sdrt.sitLoan.montrest : 'Unavailable'}}
Payment Delay{{sdrt.sitLoan.retard}} Days
Status\n Deliquency Threat\n Blacklisted\n Pendding Approval\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Member Relations
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
NameRelationshipNIC Number
{{sit.nombenef}}{{sit.relbenef ? sit.relbenef : 'Unavailable'}}{{sit.cnibenef ? sit.cnibenef : 'Unavailable'}}
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
Threat Justification
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n

{{m}}

\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
All Loans Aquired by Member
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
File N°Credit UnionBranchMenberMenber N°Loan AmountMotifLoan Date
{{ss.NUMDOS}}{{ss.bank_name}}{{ss.branch_name}}{{ss.nomcli}}{{ss.numcli}}{{ss.MTPRET}}{{ss.MOTIFDEM}}{{ss.Datacc | date}}
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { HttpResponse } from '@angular/common/http';\nimport { APIResponse, PageChapter, BankResponseType, Agency, SituationRequestType, Situation, BlacklistReponseType, User } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-blacklist-hist',\n templateUrl: './blacklist-hist.component.html',\n styleUrls: ['./blacklist-hist.component.css']\n})\nexport class BlacklistHistComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n srt: SituationRequestType;\n bls: Array;\n filterBls: Array;\n base64File: string;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n usr: User;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.bls = new Array();\n this.filterBls = new Array();\n this.srt = {} as SituationRequestType;\n this.usr = this.auth.getUser();\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.onLoadData(0);\n }\n\n\n\n\n\n onLoadData(page: number) {\n showLoader(true);\n this.ds.get(`/situations/blacklist/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.pageCredit = res.body.data;\n //console.log(this.pageCredit);\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.bls = this.pageCredit.content;\n this.filterBls = this.pageCredit.content;\n } else {\n // console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err);\n });\n }\n\n setPage(i) {\n this.onLoadData(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.onLoadData(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterBls = this.bls.filter((x) => {\n return x.num_cli.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n x.client_name.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n x.admin_name.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n x.chapter_admin_name.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } else {\n this.filterBls = this.bls;\n }\n }\n\n onUnblock(id: number) {\n showLoader(true)\n this.ds.delete('/situations/unblock/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n printBlacklistReport(): void {\n showLoader(true);\n this.ds.get(`/situations/reports/blacklist/list`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Blacklist History
\n This page list all existing blacklist history\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
List
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
Member N°Member NameStatusApproval LeftAdmin ApprouverChapter Admin ApproverDate & TimeAction
{{bl.num_cli}}{{bl.client_name}}\n UnBlacklisted\n Pending Approval\n \n 0\n 1\n 2\n {{bl.admin_name ? bl.admin_name : \"Unavailable\"}}{{bl.chapter_admin_name ? bl.chapter_admin_name : \"Unavailable\"}}{{bl.date_unblocked}}\n \n \n \n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Agency, BankResponseType, APIResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-branche-edit',\n templateUrl: './branche-edit.component.html',\n styleUrls: ['./branche-edit.component.css']\n})\nexport class BrancheEditComponent implements OnInit {\n\n cId: number;\n agc: Agency;\n banks: Array;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private router: Router, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n this.initView();\n this.route.params.subscribe((param) => {\n this.cId = param.id;\n this.getBranchById();\n });\n }\n\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.banks = res.body.data;\n this.banks.sort((a, b) => (a.bank.name > b.bank.name) ? 1 : ((b.bank.name > a.bank.name) ? -1 : 0));\n //console.log(this.banks);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getBranchById(): void {\n showLoader(true);\n this.ds.get(`/branches/${this.cId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.agc = res.body.data;\n //console.log(this.agc);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n onUpdate() {\n showLoader(true);\n //console.log(this.agc);\n this.ds.put('/branches/update/'+ this.cId, this.agc).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'BRANCHE SAVE SUCCESSFULLY');\n this.router.navigate([\"/management/branches\"]);\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.agc = {} as Agency;\n this.banks = new Array();\n this.getbanks();\n this.route.params.subscribe((param) => {\n this.cId = param.id;\n this.getBranchById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Credit Union Branches
\n This page permit the user to update an existing Credit Union Branche\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Edit Credit Union Branche
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Branch phone number\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Chief Loan officer's phone number\n
\n
\n
\n
\n
\n \n
\n \n This page permit the user to update an existing chapter\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Bank, APIResponse, Agency, PageChapter, BankResponseType, AgencyResponseType, UserRole } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { zip } from 'rxjs';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-branche-list',\n templateUrl: './branche-list.component.html',\n styleUrls: ['./branche-list.component.css']\n})\nexport class BrancheListComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n credits: Array;\n branchs: Array;\n allBranches: Array;\n filterBranches: Array;\n banks: Array;\n ro: boolean;\n ur: UserRole;\n base64File: string;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n numberOfSyncedAgencies: number;\n numberOfUnsyncedAgencies: number;\n numberOfNeverSyncedAgencies: number;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n //this.initView();\n }\n\n ngOnInit(): void {\n this.initView();\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.ur = {} as UserRole;\n this.credits = new Array();\n this.branchs = new Array();\n this.allBranches = new Array();\n this.filterBranches = new Array();\n this.banks = new Array();\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.ro = false;\n this.numberOfSyncedAgencies = 0;\n this.numberOfUnsyncedAgencies = 0;\n this.numberOfNeverSyncedAgencies = 0;\n this.getbanks();\n this.getBranchesList(0);\n this.getAllBranches();\n this.getRoles(this.auth.getUser().roleId);\n }\n\n getBranchesList(page: number): void {\n showLoader(true);\n this.ds.get(`/branches/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n this.pageCredit = res.body.data;\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.credits = this.pageCredit.content;\n this.filterBranches = this.pageCredit.content;\n\n showLoader(false);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n /**\n * This function sets the synchronization statistics.\n */\n setSyncStatistics(): void {\n this.setNumberOfSyncedAgencies(this.allBranches);\n this.setNumberOfUnSyncedAgencies(this.allBranches);\n this.setNumberOfNeverSyncedAgencies(this.allBranches);\n }\n\n /**\n * This function gets data from the API and sets the list of all agency branches.\n * @returns void\n */\n getAllBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/list/0?0`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageCredit = res.body.data;\n this.allBranches = this.pageCredit.content;\n this.setSyncStatistics();\n } else {\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n /**\n * This function calculates and sets the number of recently synced agencies (synced in the last 7 days).\n */\n setNumberOfSyncedAgencies(branches: AgencyResponseType[]): void {\n this.numberOfSyncedAgencies = branches\n .filter(branch => branch.last_sync)\n .filter(branch => this.calculateDaysDifference(branch.last_sync.toString()) <= 7)\n .length;\n }\n\n /**\n * This function calculates and sets the number of unsynced agencies (synced more than 7 days ago).\n */\n setNumberOfUnSyncedAgencies(branches: AgencyResponseType[]): void {\n this.numberOfUnsyncedAgencies = branches\n .filter(branch => branch.last_sync)\n .filter(branch => this.calculateDaysDifference(branch.last_sync.toString()) > 7)\n .length;\n }\n\n /**\n * This function calculates and sets the number of never synced agencies.\n */\n setNumberOfNeverSyncedAgencies(branches: AgencyResponseType[]): void {\n this.numberOfNeverSyncedAgencies = branches.filter(branch => !branch.last_sync).length;\n }\n\n /**\n * This function calculates how many days have passed since the last synchronization.\n * @param date The date of last synchronization.\n * @returns The number of days between the date of last synchronization and the current date.\n */\n calculateDaysDifference(date: string): number {\n const millisecondsInADay = 1000 * 60 * 60 * 24;\n const currentDate: Date = new Date();\n const lastSyncDate: Date = new Date(date);\n return Math.floor((Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDay()) - Date.UTC(lastSyncDate.getFullYear(), lastSyncDate.getMonth(), lastSyncDate.getDay())) / millisecondsInADay);\n }\n\n getRoles(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n //console.log(this.ur);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n // console.log(res.body.data);\n this.banks = res.body.data;\n showLoader(false);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n /**\n * This function filters the displayed agencies by the input search query.\n * @param query User input search query.\n */\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterBranches = this.allBranches.filter((branch) => {\n return branch.name.toLowerCase().includes(query.toLowerCase()) ||\n branch.code.toLowerCase().includes(query.toLowerCase())||\n branch.bank_name.toLowerCase().includes(query.toLowerCase());\n });\n } else {\n this.filterBranches = this.credits;\n }\n }\n\n setPage(i) {\n this.getBranchesList(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getBranchesList(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n onLock(id: number) {\n showLoader(true);\n this.ds.delete('/branches/lock/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'BRANCH LOCKED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onUnlock(id: number, cr) {\n showLoader(true);\n this.ds.post('/branches/unlock/' + id, cr)\n .subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'BRANCH UNLOCKED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onDelete(id: number) {\n showLoader(true);\n this.ds.delete('/branches/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'BRANCHE DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n printBranchReport(): void {\n showLoader(true);\n this.ds.get(`/branches/reports/list`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', err.message);\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n}\n","
\n
\n
\n
\n \n
\n
Branches
\n This page list all existing Credit Union Branches\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n
List of CU Branches
\n   \n
Total: {{pageCredit.totalElements}}
\n   \n
Synced: {{numberOfSyncedAgencies}}
\n   \n
UnSynced: {{numberOfUnsyncedAgencies}}
\n   \n
Never Synced: {{numberOfNeverSyncedAgencies}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n \n \n
Credit UnionBranchCodeLast Sync DatePhoneLocationSync StatusAction
{{cr.bank_name}}{{cr.name}}{{cr.code}}{{cr.last_sync | date}}No Data{{cr.tel ? cr.tel : \"Unavailable\"}}{{cr.loc ? cr.loc : \"Unavailable\"}}\n \n 7 && cr.last_sync != null\">\n \n \n \n \n \n \n \n\n \n\n \n\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Chapter, APIResponse, BankResponseType, Agency } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-branche-new',\n templateUrl: './branche-new.component.html',\n styleUrls: ['./branche-new.component.css']\n})\nexport class BrancheNewComponent implements OnInit {\n\nagc: Agency;\nbanks: Array;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) { \n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n onCreate() {\n showLoader(true);\n this.ds.post('/branches/new', this.agc).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'BRANCHE SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n this.banks.sort((a, b) => (a.bank.name > b.bank.name) ? 1 : ((b.bank.name > a.bank.name) ? -1 : 0));\n //console.log(this.banks );\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n initView() {\n this.agc = {} as Agency;\n this.banks = new Array();\n this.getbanks();\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Credit Union Branches
\n This page permit the user to create a Credit Union Branche\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
New Credit Union Branche
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Branch phone number\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Chief Loan officer's phone number\n
\n
\n
\n
\n
\n \n
\n \n This page permit the user to update an existing chapter\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Chapter, APIResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-chapter-edit',\n templateUrl: './chapter-edit.component.html',\n styleUrls: ['./chapter-edit.component.css']\n})\nexport class ChapterEditComponent implements OnInit {\n\n chap: Chapter;\n cId: number;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService ) { \n this.initView();\n \n }\n\n ngOnInit(): void {\n }\n\n getChapterById(): void {\n showLoader(true);\n this.ds.get(`/chapters/${this.cId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.chap = res.body.data;\n // console.log(this.chap);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n //showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n onUpdate() {\n showLoader(true);\n this.ds.put('/chapters/update/'+this.cId, this.chap).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CHAPTER SAVE SUCCESSFULLY');\n //this.initView();\n } else {\n // console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.chap = {} as Chapter;\n this.route.params.subscribe((param) => {\n this.cId = param.id;\n this.getChapterById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Chapters
\n This page permit the user to update an existing chapter\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Edit Chapter
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Chapter, APIResponse, PageChapter, UserRole } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { TrameUtilService } from 'src/app/shared/trame-util.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-chapter-list',\n templateUrl: './chapter-list.component.html',\n styleUrls: ['./chapter-list.component.css']\n})\nexport class ChapterListComponent implements OnInit {\n\n page: number;\n ur: UserRole;\n pageChapter: PageChapter;\n pages: Array;\n chaps: Array;\n filterChaps: Array;\n base64File: string;\n ro: boolean;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n \n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageChapter = {} as PageChapter;\n this.ur = {} as UserRole;\n this.chaps = new Array();\n this.filterChaps = new Array();\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.ro = false;\n this.getChapters(0);\n this.getRoles(this.auth.getUser().roleId);\n }\n\n getChapters(page: number): void {\n showLoader(true);\n this.ds.get(`/chapters/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.pageChapter = res.body.data;\n //console.log(res.body.data);\n this.pages = Array(this.pageChapter.totalPages).fill(0).map((x,i)=>i);\n this.chaps = this.pageChapter.content;\n this.filterChaps = this.pageChapter.content;\n showLoader(false);\n }\n else {\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getRoles(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n //console.log(this.ur);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterChaps = this.chaps.filter((chap) => {\n return chap.name.toLowerCase().includes(query.toLowerCase())||\n chap.code.toLowerCase().includes(query.toLowerCase()) ||\n chap.location.toLowerCase().includes(query.toLowerCase());\n });\n } else {\n this.filterChaps = this.chaps;\n }\n }\n\n setPage(i) {\n this.getChapters(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getChapters(0);\n } catch (error) {\n \n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageChapter.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/chapters/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CHAPTER DELETED SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n printChapterReport(): void {\n //console.log('here');\n showLoader(true);\n this.ds.get(`/chapters/reports/list`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Chapters
\n This page list all existing chapter\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
List of Chapters
\n    \n
Total: {{pageChapter.totalElements}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
CodeNameLocationAction
{{ch.code}}{{ch.name}}{{ch.location}}\n \n \n
\n \n
\n
\n
\n\n\n\n\n\n\n \n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Chapter, APIResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-chapter-new',\n templateUrl: './chapter-new.component.html',\n styleUrls: ['./chapter-new.component.css']\n})\nexport class ChapterNewComponent implements OnInit {\n\n chap: Chapter;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) { \n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n onCreate() {\n showLoader(true);\n this.ds.post('/chapters/new', this.chap).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CHAPTER SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.chap = {} as Chapter;\n }\n backClicked() {\n this.loc.back();\n }\n}\n","
\n
\n
\n
\n \n
\n
Chapters
\n This page permit the user to create chapter\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
New Chapter
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { Bank, Chapter, APIResponse } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-credit-edit',\n templateUrl: './credit-edit.component.html',\n styleUrls: ['./credit-edit.component.css']\n})\nexport class CreditEditComponent implements OnInit {\n\n @ViewChild('chapter', { static: true }) chapter: ElementRef;\n\n cre: Bank;\n cId: number;\n chaps: Array;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private router: Router, private alert: ToastrService) {\n this.initView();\n \n }\n\n ngOnInit(): void {\n }\n\n\n getChapters(): void {\n showLoader(true);\n this.ds.get(`/chapters/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.chaps = res.body.data;\n this.chaps.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0));\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBankById(): void {\n showLoader(true);\n this.ds.get(`/banks/${this.cId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.cre = res.body.data;\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onUpdate() {\n // showLoader(true);\n this.ds.put('/banks/update/' + this.cId, this.cre).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CREDIT UNION SAVE SUCCESSFULLY');\n this.router.navigate([\"/management/credit-union\"]);\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.cre = {} as Bank;\n this.chaps = new Array();\n this.getChapters();\n this.route.params.subscribe((param) => {\n this.cId = param.id;\n this.getBankById();\n });\n }\n\n onChange() {\n //console.log(this.chapter);\n //this.cre.chapterId = value;\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Credit Union
\n This page permit the user to update an existing Credit Union\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Edit Credit Union
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Head office phone number\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Chief Loan officer's phone number\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Notifications on Loan Deliquencies will be sent to this email address.\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Notifications on Loan Deliquencies will be sent to this email address.\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { PageChapter, Chapter, APIResponse, Bank, UserRole } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-credit-list',\n templateUrl: './credit-list.component.html',\n styleUrls: ['./credit-list.component.css']\n})\nexport class CreditListComponent implements OnInit {\n\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n credits: Array;\n filterCredits: Array;\n base64File: string;\n ro: boolean;\n ur: UserRole;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.ur = {} as UserRole;\n this.credits = new Array();\n this.filterCredits = new Array();\n this.base64File = '';\n this.ro = false;\n this.pages =[];\n this.pagnum = 20;\n this.getBanksList(0);\n //this.getbanks();\n this.getRoles(this.auth.getUser().roleId);\n }\n\n getBanksList(page: number): void {\n showLoader(true);\n this.ds.get(`/banks/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n // console.log(res.body.data);\n this.pageCredit = res.body.data;\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.credits = this.pageCredit.content;\n this.filterCredits = this.pageCredit.content;\n showLoader(false);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n // getbanks(): void {\n // showLoader(true);\n // this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n\n // if (res.body.status === 200) {\n // // this.pageChapter = res.body.data;\n // // this.pages = new Array(this.pageChapter.totalPages);\n // // this.chaps = this.pageChapter.content;\n // // this.filterChaps = this.pageChapter.content;\n // //console.log(res.body.data);\n // showLoader(false);\n // }\n // }, (err) => {\n // //console.log(err);\n // showLoader(false);\n // this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n // });\n // }\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterCredits = this.credits.filter((cre) => {\n return cre.name.toLowerCase().includes(query.toLowerCase())||\n cre.code.toLowerCase().includes(query.toLowerCase()) ||\n cre.abrv.toLowerCase().includes(query.toLowerCase());\n });\n } else {\n this.filterCredits = this.credits;\n }\n }\n\n setPage(i) {\n this.getBanksList(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getBanksList(0);\n } catch (error) {\n \n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/banks/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'CREDIT UNION DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n getRoles(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n //console.log(this.ur);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n printBankReport(): void {\n showLoader(true);\n this.ds.get(`/banks/reports/list`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Credit Union
\n This page list all existing Credit Union\n
\n
\n
\n
\n \n\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
List of Credit Unions
\n    \n
Total: {{pageCredit.totalElements}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
NameAbreviationCodeP.O BoxPhoneAction
{{cr.name}}{{cr.abrv}}{{cr.code}}{{cr.box}}{{cr.tel}}\n \n \n
\n \n
\n
\n
\n\n\n\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Bank, APIResponse, Chapter } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-credit-new',\n templateUrl: './credit-new.component.html',\n styleUrls: ['./credit-new.component.css']\n})\nexport class CreditNewComponent implements OnInit {\n\n cre: Bank;\n chaps: Array;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n getChapters(): void {\n showLoader(true);\n this.ds.get(`/chapters/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.chaps = res.body.data;\n this.chaps.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0));\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onCreate() {\n showLoader(true);\n if (this.cre.type !== 'INTERNAL') {\n this.cre.chapterId = 11;\n }\n this.cre.feeAmount = this.cre.feeAmount / 100\n this.ds.post('/banks/new', this.cre).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'CREDIT UNION SAVE SUCCESSFULLY');\n this.initView();\n } else {\n //console.log(res.body.message);\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n initView() {\n this.cre = {} as Bank;\n this.cre.chapterId = null;\n this.chaps = new Array();\n this.getChapters();\n this.cre.feeAmount = 0;\n this.cre.loanPortfolioAmount = 0;\n }\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Credit Union
\n This page permit the user to create a Credit Union\n
\n
\n
\n
\n \n\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
New Credit Union
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Head office phone number\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Chief Loan officer's phone number\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n Notifications on Loan Deliquencies will be sent to this email address.\n
\n
\n
\n
\n
\n\n
\n \n
\n \n Notifications on Loan Deliquencies will be sent to this email address.\n
\n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { PageChapter, PermanentlyBlockedResponse, APIResponse, AlertMessage, User, PaymentResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\nimport { DatePipe } from '@angular/common';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n\n page: number;\n usr: User;\n prs: Array;\n alrt: AlertMessage;\n pageChapter: PageChapter;\n pages: Array;\n pbs: Array;\n filterPbs: Array;\n query: string;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n curDate: string;\n\n constructor(private ds: DataService, private router: Router, private auth:AuthService, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageChapter = {} as PageChapter;\n this.alrt = {} as AlertMessage;\n this.usr = this.auth.getUser();\n this.pbs = new Array();\n this.filterPbs = new Array();\n this.pages =[];\n this.pagnum = 20;\n this.getAll(0);\n this.getAlertsList();\n }\n\n getAll(page: number): void {\n showLoader(true);\n this.ds.get(`/situations/permently-blocked/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageChapter = res.body.data;\n this.pages = Array(this.pageChapter.totalPages).fill(0).map((x,i)=>i);\n this.pbs = this.pageChapter.content;\n this.filterPbs = this.pageChapter.content;\n this.currentSelectedPage = this.pageChapter.number;\n }\n }, (err) => {\n showLoader(false);\n });\n }\n\n\n getAlertsList(): void {\n showLoader(true);\n this.ds.get(`/alerts/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.alrt = res.body.data;\n if(this.alrt != null && this.alrt != undefined){\n Swal.fire(this.alrt.title, this.alrt.msg, 'info')\n }\n }\n }, (err) => {\n showLoader(false);\n });\n\n setTimeout(() => {\n if (this.usr.roleId !== 1 && this.usr.roleId !== 2) {\n let today = new Date()\n let userSyncDate = new Date(this.usr.userAgencyLastSyncDate)\n let difference = Math.floor((Date.UTC(today.getFullYear(), today.getMonth(), today.getDate()) - Date.UTC(userSyncDate.getFullYear(), userSyncDate.getMonth(), userSyncDate.getDate())) / (1000 * 60 * 60 * 24))\n if(difference >= 1) {\n Swal.fire('Reminder', 'Your branch data has not been synchorized in ' + difference + ' days, kindly update your data.', 'info');\n }\n }\n }, 5000);\n\n setTimeout(() => {\n if (this.usr.roleId !== 1 && this.usr.roleId !== 2) {\n if (this.usr.isLicenceActive) {\n const expireDay = this.calculateDaysDifference(this.usr.expiryDate);\n if(expireDay <= 14){\n Swal.fire('Reminder', 'Your licence will expire in ' + expireDay + ' days, please renew it before then.', 'info');\n }else if(expireDay == 1){\n Swal.fire('Reminder', 'Your licence will expire in ' + expireDay + ' day, please renew it before then.', 'info');\n }\n } else {\n Swal.fire('Reminder', 'Access license expired, please renew it to have full access to the system again ', 'info');\n }\n }\n }, 3000);\n\n }\n\n /**\n * This function calculates how many days are left for license expiration.\n * @param date The date of license expiry.\n * @returns The number of days between the expiry date and the current date.\n */\n calculateDaysDifference(date: string): number {\n const millisecondsInADay = 1000 * 60 * 60 * 24;\n const currentDate: Date = new Date();\n const expiryDate: Date = new Date(date);\n\n const diff = Math.floor((expiryDate.getTime() - currentDate.getTime()) / millisecondsInADay);\n return diff;\n }\n\n calculateDiff(dateSent){\n let currentDate = new Date();\n dateSent = new Date(dateSent);\n return Math.floor((Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()) - Date.UTC(dateSent.getFullYear(), dateSent.getMonth(), dateSent.getDate()) ) /(1000 * 60 * 60 * 24));\n }\n\n onBeginSearch() {\n //console.log(this.query);\n let str = this.query.replace(\" \", \"&\");\n //console.log(str);\n if (this.query != null) {\n this.router.navigate(['/search/result'], { queryParams: { query: this.query } });\n }\n }\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterPbs = this.pbs.filter((chap) => {\n return chap.num_cli.toLowerCase().includes(query.toLowerCase())||\n chap.client_name.toLowerCase().includes(query.toLowerCase()) ||\n chap.bank_name.toLowerCase().includes(query.toLowerCase()) ||\n chap.branch_name.toLowerCase().includes(query.toLowerCase());\n });\n } else {\n this.filterPbs = this.pbs;\n }\n }\n\n setPage(i) {\n this.getAll(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getAll(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageChapter.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n}\n","
\n
\n
\n
\n\n
\n
\n
\n \"logo.png\"\n
\n\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
Members Blacklist
\n    \n
Total: {{pageChapter.totalElements}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
Member N°Member NameCredit UnionBranch
{{p.num_cli}}{{p.client_name}}{{p.bank_name}}\n {{p.branch_name}}\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute } from '@angular/router';\nimport { SituationDetailsResponse, SituationRequestType, Agency, Bank, Client, Loan, Relation, SitLoan, Situation, APIResponse, SubSituationResponseType, SubSituationRequestType, SubSituation } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-loan-analysis-detail',\n templateUrl: './loan-analysis-detail.component.html',\n styleUrls: ['./loan-analysis-detail.component.css']\n})\nexport class LoanAnalysisDetailComponent implements OnInit {\n\n sitId: number;\n sdrt: SituationDetailsResponse;\n menos: Array;\n ssrt: SubSituationRequestType;\n ssrts: Array;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService) {\n this.initView();\n\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.sdrt = {} as SituationDetailsResponse;\n this.sdrt.branch = {} as Agency;\n this.sdrt.bank = {} as Bank;\n this.sdrt.client = {} as Client;\n this.sdrt.loan = {} as Loan;\n this.sdrt.relation = new Array();\n this.sdrt.sitLoan = {} as SitLoan;\n this.sdrt.situation = {} as Situation;\n this.menos = new Array();\n this.ssrt = {} as SubSituationRequestType;\n this.ssrts = new Array();\n this.route.params.subscribe((param) => {\n this.sitId = param.id;\n this.getSituationById();\n });\n\n }\n\n backClicked() {\n this.loc.back();\n }\n\n backClick() {\n this.loc.back();\n }\n\n getSituationById() {\n showLoader(true);\n this.ds.get(`/situations/${this.sitId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.sdrt = res.body.data;\n this.menos = this.sdrt.situation.memo.split(',').filter(function (v) { return v !== '' });\n this.getBorrowerSubSituation();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBorrowerSubSituation() {\n this.ssrt.numcli = this.sdrt.client.numcli;\n this.ssrt.PHONE = this.sdrt.client.phone;\n this.ssrt.CNI = this.sdrt.client.cniclient;\n this.ssrt.BQID = this.sdrt.situation.bqId;\n this.ssrt.AGCCPT = this.sdrt.situation.branchId;\n\n // console.log(this.ssrt);\n showLoader(true);\n this.ds.post(`/situations/sub-situation`, this.ssrt).subscribe((res: HttpResponse) => {\n showLoader(false);\n // console.log(res.body);\n if (res.body.status === 200) {\n this.ssrts = res.body.data;\n } else {\n //console.log(res.body.message);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n // console.log(err);\n });\n\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Borrower's Details
\n This page gives the detail of an borrower\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
Borrower's Details
\n
\n
\n
\n
\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
Member №{{sdrt.situation.numcli}}
Member Name{{sdrt.situation.nomcli}}
ID Card №{{sdrt.client != null ? sdrt.client.cniclient: \"\"}}
Phone №{{sdrt.client != null ? sdrt.client.phone: \"\"}}
Credit Union{{sdrt.bank != null ? sdrt.bank.name : \"\"}}
Credit Union Branch{{sdrt.branch != null ? sdrt.branch.name: \"\"}}
Loan motif{{sdrt.loan != null ? sdrt.loan.motifdem: \"\"}}
Loan AmountXAF {{sdrt.sitLoan.mtpret? sdrt.sitLoan.mtpret : 'Unavailable'}}
Loan balance{{sdrt.sitLoan.montrest? sdrt.sitLoan.montrest : 'Unavailable'}}
Payment Delay{{sdrt.sitLoan.retard}} Days
Status\n Deliquency Threat\n Blacklisted\n Pendding Approval\n
\n
\n\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
Member Relations
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
NameRelationshipNIC Number
{{sit.nombenef}}{{sit.relbenef ? sit.relbenef : 'Unavailable'}}{{sit.cnibenef ? sit.cnibenef : 'Unavailable'}}
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
Threat Justification
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n

{{m}}

\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
All Loans Aquired by Member
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
File N°Credit UnionBranchMenberMenber N°Loan AmountMotifLoan Date
{{ss[0]}}{{ss[17]}}{{ss[18]}}{{ss[16]}}{{ss[3]}}{{ss[8]}}{{ss[9]}}{{ss[6] | date}}
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { HttpResponse } from '@angular/common/http';\nimport { DataService } from 'src/app/shared/DataService';\nimport { APIResponse, BankResponseType, AgencyResponseType, Agency, SituationRequestType, Situation, PageChapter, User, Bank, Chapter } from 'src/app/shared/models';\nimport { Location } from '@angular/common';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-loan-analysis',\n templateUrl: './loan-analysis.component.html',\n styleUrls: ['./loan-analysis.component.css']\n})\nexport class LoanAnalysisComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n banks: Array;\n fbanks: Array;\n fbank: BankResponseType;\n branchs: Array;\n sbranchs: Array;\n sebranchs: Array;\n showBranch: boolean;\n srt: SituationRequestType;\n sits: Array;\n filterSits: Array;\n usr: User;\n base64File: string;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n\n constructor(private ds: DataService, private loc: Location, private auth: AuthService, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.usr = {} as User;\n this.sits = new Array();\n this.filterSits = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.fbank = {} as BankResponseType;\n this.fbank.bank = {} as Bank;\n this.fbank.chapter = {} as Chapter;\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.sebranchs = new Array();\n this.showBranch = false;\n this.srt = {} as SituationRequestType;\n // this.sits = new Array();\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.usr = this.auth.getUser();\n this.getbanks();\n //this.getBranches();\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n this.fbanks = this.banks.filter((x) => {\n return x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase();\n });\n\n if(this.usr.bqId != null) {\n this.fbank = this.banks.find((x) => {\n return x.bank.code.toLowerCase() === this.usr.bqId.toLowerCase();\n });\n }\n\n this.getBranches();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.branchs = res.body.data;\n this.sbranchs = this.branchs.filter((x) => {\n return x.bqId === this.fbank.bank.id;\n });\n this.sebranchs = this.branchs.filter((x) => {\n return x.bqId === this.fbank.bank.id;\n });\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onSelectBank(value: string) {\n if (value == null && value === undefined && value === '') {\n this.showBranch = false;\n } else {\n this.sbranchs = this.branchs.filter((x) => {\n return Number(x.bqId) === Number(value);\n });\n let bk = this.banks.find((x) => {\n return Number(x.bank.id) === Number(value);\n });\n this.srt.bank = bk.bank.code;\n this.showBranch = true;\n }\n\n }\n\n onLoadData(page: number) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n\n // console.log(this.srt);\n showLoader(true);\n this.ds.post(`/situations/list/${this.pagnum}?page=${page}`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.pageCredit = res.body.data;\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.sits = this.pageCredit.content;\n this.filterSits = this.pageCredit.content;\n //console.log(this.sits);\n } else {\n //console.log(res.body.message);\n this.alert.error('ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err);\n });\n }\n\n setPage(i) {\n this.onLoadData(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.onLoadData(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterSits = this.sits.filter((cre) => {\n return cre.numdos.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.numcli.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.nomcli.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } else {\n this.filterSits = this.sits;\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/situations/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n backClicked() {\n this.loc.back();\n }\n\n printLoanAnalReport(): void {\n showLoader(true);\n this.ds.post(`/situations/reports/list`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Possible Deliquent Loans
\n This page list all existing Possible Deliquent Loans\n
\n
\n
\n
\n \n Reload\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n \n Load Data\n \n\n \n Print\n \n
\n
\n\n
\n
\n
\n \n\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n \n Load Data\n \n\n \n Print\n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n \n Load Data\n \n\n \n Print\n \n
\n
\n\n
\n
\n
\n
\n
List of Borrowers
\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n File N°\n \n \n Member N°\n \n \n Member Name\n \n \n Status\n \n \n Action\n \n \n \n \n \n \n {{ sit.numdos }}\n \n {{ sit.numcli }}\n {{ sit.nomcli }}\n \n Deliquency Threat\n Blacklisted\n Pending Approval\n \n \n \n Blacklist\n Unblacklist\n \n \n \n \n \n \n
    \n
  • \n Previous\n
  • \n \n {{ i }}\n \n
  • \n Next\n
  • \n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { UsersComponent } from './users/users.component';\r\nimport { ChapterNewComponent } from './chapter-new/chapter-new.component';\r\nimport { ChapterEditComponent } from './chapter-edit/chapter-edit.component';\r\nimport { ChapterListComponent } from './chapter-list/chapter-list.component';\r\nimport { BrancheListComponent } from './branche-list/branche-list.component';\r\nimport { BrancheNewComponent } from './branche-new/branche-new.component';\r\nimport { BrancheEditComponent } from './branche-edit/branche-edit.component';\r\nimport { CreditListComponent } from './credit-list/credit-list.component';\r\nimport { CreditNewComponent } from './credit-new/credit-new.component';\r\nimport { CreditEditComponent } from './credit-edit/credit-edit.component';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { UserNewComponent } from './user-new/user-new.component';\r\nimport { UserEditComponent } from './user-edit/user-edit.component';\r\nimport { BlacklistHistComponent } from './blacklist-hist/blacklist-hist.component';\r\nimport { LoanAnalysisComponent } from './loan-analysis/loan-analysis.component';\r\nimport { UserRoleComponent } from './user-role/user-role.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoanAnalysisDetailComponent } from './loan-analysis-detail/loan-analysis-detail.component';\r\nimport { SearchBorrowersComponent } from './search-borrowers/search-borrowers.component';\r\nimport { UnblockComponent } from './unblock/unblock.component';\r\nimport { PermanentBlockComponent } from './permanent-block/permanent-block.component';\r\nimport { BlacklistDetailComponent } from './blacklist-detail/blacklist-detail.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'home', component: HomeComponent },\r\n { path: 'search/result', component: SearchBorrowersComponent },\r\n { path: 'management/chapters', component: ChapterListComponent },\r\n { path: 'management/chapters/new', component: ChapterNewComponent },\r\n { path: 'management/chapters/edit/:id', component: ChapterEditComponent },\r\n { path: 'management/branches', component: BrancheListComponent },\r\n { path: 'management/branches/new', component: BrancheNewComponent },\r\n { path: 'management/branches/edit/:id', component: BrancheEditComponent },\r\n { path: 'management/credit-union', component: CreditListComponent },\r\n { path: 'management/credit-union/new', component: CreditNewComponent },\r\n { path: 'management/credit-union/edit/:id', component: CreditEditComponent },\r\n { path: 'management/users', component: UserListComponent },\r\n { path: 'management/users/new', component: UserNewComponent },\r\n { path: 'management/users/role', component: UserRoleComponent },\r\n { path: 'management/users/edit/:id', component: UserEditComponent },\r\n { path: 'management/blacklist-history', component: BlacklistHistComponent },\r\n { path: 'management/blacklist-history/detail/:id', component: BlacklistDetailComponent },\r\n { path: 'management/borrowers/unblock/:id', component: UnblockComponent },\r\n { path: 'management/borrowers/permanent-block/:id', component: PermanentBlockComponent },\r\n { path: 'management/loan-analysis', component: LoanAnalysisComponent },\r\n { path: 'management/loan-analysis/detail/:id', component: LoanAnalysisDetailComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [\r\n RouterModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class ManagementRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UsersComponent } from './users/users.component';\nimport { ManagementRoutingModule } from './management-routing-module';\nimport { ChapterListComponent } from './chapter-list/chapter-list.component';\nimport { ChapterNewComponent } from './chapter-new/chapter-new.component';\nimport { ChapterEditComponent } from './chapter-edit/chapter-edit.component';\nimport { BrancheListComponent } from './branche-list/branche-list.component';\nimport { BrancheNewComponent } from './branche-new/branche-new.component';\nimport { BrancheEditComponent } from './branche-edit/branche-edit.component';\nimport { CreditEditComponent } from './credit-edit/credit-edit.component';\nimport { CreditNewComponent } from './credit-new/credit-new.component';\nimport { CreditListComponent } from './credit-list/credit-list.component';\nimport { UserListComponent } from './user-list/user-list.component';\nimport { UserNewComponent } from './user-new/user-new.component';\nimport { UserEditComponent } from './user-edit/user-edit.component';\nimport { LoanAnalysisComponent } from './loan-analysis/loan-analysis.component';\nimport { BlacklistHistComponent } from './blacklist-hist/blacklist-hist.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { FormsModule } from '@angular/forms';\nimport { UserRoleComponent } from './user-role/user-role.component';\nimport { TreeviewModule } from 'ngx-treeview';\nimport { HomeComponent } from './home/home.component';\nimport { LoanAnalysisDetailComponent } from './loan-analysis-detail/loan-analysis-detail.component';\nimport { SearchBorrowersComponent } from './search-borrowers/search-borrowers.component';\nimport { PermanentBlockComponent } from './permanent-block/permanent-block.component';\nimport { UnblockComponent } from './unblock/unblock.component';\nimport { BlacklistDetailComponent } from './blacklist-detail/blacklist-detail.component';\nimport { UiSwitchModule } from 'ngx-ui-switch';\n\n\n@NgModule({\n declarations: [\n UsersComponent,\n ChapterListComponent,\n ChapterNewComponent,\n ChapterEditComponent,\n BrancheListComponent,\n BrancheNewComponent,\n BrancheEditComponent,\n CreditEditComponent,\n CreditNewComponent,\n CreditListComponent,\n UserListComponent,\n UserNewComponent,\n UserEditComponent,\n LoanAnalysisComponent,\n BlacklistHistComponent,\n UserRoleComponent,\n HomeComponent,\n LoanAnalysisDetailComponent,\n SearchBorrowersComponent,\n PermanentBlockComponent,\n UnblockComponent,\n BlacklistDetailComponent\n ],\n imports: [\n CommonModule,\n ManagementRoutingModule,\n SharedModule,\n FormsModule,\n UiSwitchModule,\n TreeviewModule.forRoot(),\n \n ],\n exports: [\n UsersComponent,\n ChapterListComponent,\n ChapterNewComponent,\n ChapterEditComponent,\n CreditEditComponent,\n CreditNewComponent,\n CreditListComponent,\n UserListComponent,\n UserNewComponent,\n UserEditComponent,\n LoanAnalysisComponent,\n BlacklistHistComponent,\n UserRoleComponent,\n HomeComponent,\n LoanAnalysisDetailComponent,\n SearchBorrowersComponent,\n PermanentBlockComponent,\n UnblockComponent,\n BlacklistDetailComponent\n ]\n})\nexport class ManagementModule { }","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { SituationDetailsResponse, SubSituationRequestType, SubSituationResponseType, Agency, Bank, Client, Loan, Relation, SitLoan, Situation, APIResponse, SituationRequestType } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-permanent-block',\n templateUrl: './permanent-block.component.html',\n styleUrls: ['./permanent-block.component.css']\n})\nexport class PermanentBlockComponent implements OnInit {\n\n sitId: number;\n sdrt: SituationDetailsResponse;\n menos: Array;\n ssrt: SubSituationRequestType;\n ssrts: Array;\n srt: SituationRequestType;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService, private router: Router, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.sdrt = {} as SituationDetailsResponse;\n this.sdrt.branch = {} as Agency;\n this.sdrt.bank = {} as Bank;\n this.sdrt.client = {} as Client;\n this.sdrt.loan = {} as Loan;\n this.sdrt.relation = new Array();\n this.sdrt.sitLoan = {} as SitLoan;\n this.sdrt.situation = {} as Situation;\n this.menos = new Array();\n this.ssrt = {} as SubSituationRequestType;\n this.ssrts = new Array();\n this.srt = {} as SituationRequestType;\n this.route.params.subscribe((param) => {\n this.sitId = param.id;\n this.getSituationById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n getSituationById() {\n showLoader(true);\n this.ds.get(`/situations/${this.sitId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.sdrt = res.body.data;\n this.menos = this.sdrt.situation.memo.split(',').filter(function (v) { return v !== '' });\n //console.log(this.sdrt);\n this.getBorrowerSubSituation();\n\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n //showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getBorrowerSubSituation() {\n this.ssrt.numcli = this.sdrt.client.numcli;\n this.ssrt.PHONE = this.sdrt.client.phone;\n this.ssrt.CNI = this.sdrt.client.cniclient;\n this.ssrt.BQID = this.sdrt.situation.bqId;\n this.ssrt.AGCCPT = this.sdrt.situation.branchId;\n\n //console.log(this.ssrt);\n showLoader(true);\n this.ds.post(`/situations/sub-situation`, this.ssrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.ssrts = res.body.data;\n //console.log(res.body.data);\n\n } else {\n //console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message); \n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n\n }\n\n onBlocked() {\n this.srt.id = this.sitId;\n this.srt.user = this.auth.getUser().id; \n showLoader(true);\n this.ds.post(`/situations/block-permanently`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'YOUR REQUEST TO BLACKLIST MENBER WAS SUCCESSFUL');\n this.router.navigateByUrl('management/loan-analysis');\n } else {\n this.alert.error('SERVER ERROR', res.body.message); \n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Borrower's Details
\n This page gives the detail of an borrower\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
Borrower's Details
\n
\n
\n
\n
\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
Member №{{sdrt.situation.numcli}}
Member Name{{sdrt.situation.nomcli}}
ID Card №{{sdrt.client != null ? sdrt.client.cniclient: \"\"}}
Phone №{{sdrt.client != null ? sdrt.client.phone: \"\"}}
Credit Union{{sdrt.bank != null ? sdrt.bank.name : \"\"}}
Credit Union Branch{{sdrt.branch != null ? sdrt.branch.name: \"\"}}
Loan motif{{sdrt.loan != null ? sdrt.loan.motifdem: \"\"}}
Loan AmountXAF {{sdrt.sitLoan.mtpret? sdrt.sitLoan.mtpret : 'Unavailable'}}
Loan balance{{sdrt.sitLoan.montrest? sdrt.sitLoan.montrest : 'Unavailable'}}
Payment Delay{{sdrt.sitLoan.retard}} Days
Status\n Deliquency Threat\n Blacklisted\n Pendding Approval\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Member Relations
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
NameRelationshipNIC Number
{{sit.nombenef}}{{sit.relbenef ? sit.relbenef : 'Unavailable'}}{{sit.cnibenef ? sit.cnibenef : 'Unavailable'}}
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
Threat Justification
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n

{{m}}

\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
All Loans Aquired by Member
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
File N°Credit UnionBranchMenberMenber N°Loan AmountMotifLoan Date
{{ss.NUMDOS}}{{ss.bank_name}}{{ss.branch_name}}{{ss.nomcli}}{{ss.numcli}}{{ss.MTPRET}}{{ss.MOTIFDEM}}{{ss.Datacc | date}}
\n
\n\n
\n
\n\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { User, SearchRequest, PageChapter, PermanentlyBlockedResponse, APIResponse, FinalSearchResult, LoanSearchResponse, SearchReportRequest } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-search-borrowers',\n templateUrl: './search-borrowers.component.html',\n styleUrls: ['./search-borrowers.component.css']\n})\nexport class SearchBorrowersComponent implements OnInit {\n\n fsr: FinalSearchResult;\n lsrs: Array;\n filterLsrs: Array;\n params: Array;\n usr: User;\n search: SearchRequest;\n seconds: number;\n searchRes: String;\n isVisible: boolean;\n canPrint: boolean;\n base64File: string;\n srr: SearchReportRequest;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private auth: AuthService, private loc: Location, private alert: ToastrService, private router: Router) {\n this.initView();\n //this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n }\n\n ngOnInit(): void {\n\n }\n\n initView() {\n this.fsr = {} as FinalSearchResult;\n this.fsr.loans = new Array();\n this.lsrs = new Array();\n this.filterLsrs = new Array();\n this.params = new Array();\n this.usr = {} as User;\n this.search = {} as SearchRequest;\n this.srr = {} as SearchReportRequest;\n this.search.query = new Array();\n this.usr = this.auth.getUser();\n this.isVisible = false;\n this.canPrint = false;\n this.base64File = '';\n this.threatRoute();\n }\n\n beginSearch() {\n this.search.bank = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.bqId : '';\n this.search.branch = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.agccpt : '';\n this.search.isBilling = this.usr.roleId == 3 || this.usr.roleId == 2 ? true : false;\n this.search.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.search.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n\n // console.log(this.srt);\n showLoader(true);\n this.ds.post(`/situations/search`, this.search).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.fsr = res.body.data;\n // console.log(res.body.data);\n // let receivedLoans = res.body.data.loans.forEach(loan => {\n // loan['Datacc'] = loan['datacc'];\n // loan['MTPRET'] = loan['mtpret'];\n // loan['MOTIFDEM'] = loan['motifdem'];\n // loan['RETARD'] = loan['retard'];\n // });\n\n this.seconds = (this.fsr.exec_time / 1000) % 60;\n const loans: LoanSearchResponse[] = this.fsr.loans;//this.trimLoanSearchResponses(this.fsr.loans);\n //console.log(this.seconds);\n //this.lsrs = this.fsr.loans;\n this.lsrs = loans.filter(\n (thing, i, arr) => arr.findIndex(t => t.numdos === thing.numdos && t.client.bank === thing.client.bank && t.client.branch === thing.client.branch && t.client.name === thing.client.name && t.client.cni === thing.client.cni) === i\n );\n this.filterLsrs = loans;\n if (this.fsr.loans.length == 0) {\n this.isVisible = true;\n } else {\n this.isVisible = false;\n }\n if (this.fsr.loans.length != 0) {\n this.canPrint = true;\n } else {\n this.canPrint = false;\n }\n } else {\n this.alert.error('ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n threatRoute() {\n this.route.queryParams\n .subscribe(params => {\n let res = params.query;\n //console.log(params.query);\n this.searchRes = params.query;\n let qr: Array;\n qr = res.split(\",\");\n qr.forEach((x) => {\n this.search.query.push(x.trim());\n\n });\n\n //console.log(this.search);\n this.beginSearch();\n });\n }\n\n onBeginSearch(value: string) {\n //console.log(value);\n let str = value.replace(\" \", \"&\");\n //console.log(str);\n this.search.query = new Array();\n if (value != null) {\n this.router.navigate(['/search/result'], { queryParams: { query: value } });\n }\n }\n\n backClicked() {\n this.loc.back();\n }\n\n /**\n * this function would trim the loan response array to only the properties defined in its interface\n * @param loanArray - array of loans returned from API\n * @returns - trimmed array\n */\n trimLoanSearchResponses(loanArray: LoanSearchResponse[]): LoanSearchResponse[] {\n const loanSearchResponse: LoanSearchResponse = {\n client: null,\n color: null,\n datacc: null,\n garantee: null,\n montrest: null,\n motifdem: null,\n mtpret: null,\n numdos: null,\n retard: null,\n valretard: null\n };\n const trimmedLoans = loanArray.map((loan: LoanSearchResponse) => {\n const trimmedObject = {} as LoanSearchResponse;\n const loanKeys = Object.keys(loan);\n for (const key of loanKeys) {\n if (key in loanSearchResponse) {\n trimmedObject[key] = loan[key];\n }\n }\n return trimmedObject;\n });\n return trimmedLoans;\n }\n\n\n printAdminSearchReport(): void {\n showLoader(true);\n this.srr.query = this.search.query;\n this.srr.lsrs = this.lsrs;\n this.ds.post(`/situations/reports/search/result/admin`, this.srr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n printClientSearchReport(): void {\n showLoader(true);\n this.srr.query = this.search.query;\n this.srr.lsrs = this.lsrs;\n this.ds.post(`/situations/reports/search/result`, this.srr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Search Result
\n This page list all results of the search made\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n \n {{lsrs.length}} result(s) ({{seconds}} seconds)\n No results found matching your query.\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n

Make sure you typed the member's name and National Identity Card number as on their National Identity Card, Phone number or Collateral Reference correctly. The Order and Spelling of the member's name must be well respected and written out fully.

\n
\n
\n\n
\n
\n
\n
\n
result
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
Credit UnionBranchNameLoan DateLoan AmountPurposeBalanceDelinquency situationcollateral securityWritten of Balance
daysamount
{{i+1}}{{s.client.bank}}{{s.client.branch}}{{s.client.name}}{{s.datacc != null ? s.datacc : \"Unvailable\"}}{{s.mtpret != null ? s.mtpret : \"Unavailable\"}}{{s.motifdem != null ? s.motifdem : \"Unavailable\"}}{{s.montrest != null ? s.montrest : \"Unavailable\"}}{{s.retard != null ? s.retard : \"Unavailable\"}}{{s.valretard != null ? s.valretard : \"Unavailable\"}}{{s.garantee != null ? s.garantee : \"Unavailable\"}}{{(s.retard >= 360) ? s.montrest : 0}}
\n
    \n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n\n\n\n\n
\n\n
\n
\n
\n \n {{lsrs.length}} result(s) ({{seconds}} seconds)\n No results found matching your query.\n\n\n\n
\n
\n
\n \n
\n
\n\n\n\n
\n
\n
\n
\n
result
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
NAMEFILECREDIT UNIONBRANCHNICSTATUSBLACKLIST STATUS
{{i+1}}{{s.client.name}}{{s.numdos != null ? s.numdos : \"Unvailable\"}}{{s.client.bank}}{{s.client.branch}}{{s.client.cni}}{{s.color != null ? s.color : \"Unvailable\"}}{{s.client.blackHis != null ? \"Once Blacklisted\" : \"Clean Record\"}}
\n
    \n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { SituationDetailsResponse, SubSituationRequestType, SubSituationResponseType, Agency, Bank, Client, Loan, Relation, SitLoan, Situation, APIResponse, SituationRequestType } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-unblock',\n templateUrl: './unblock.component.html',\n styleUrls: ['./unblock.component.css']\n})\nexport class UnblockComponent implements OnInit {\n\n sitId: number;\n sdrt: SituationDetailsResponse;\n menos: Array;\n ssrt: SubSituationRequestType;\n ssrts: Array;\n srt: SituationRequestType;\n\n constructor(private ds: DataService, private route: ActivatedRoute, private loc: Location, private alert: ToastrService, private router: Router, private auth: AuthService) {\n this.initView();\n \n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.sdrt = {} as SituationDetailsResponse;\n this.sdrt.branch = {} as Agency;\n this.sdrt.bank = {} as Bank;\n this.sdrt.client = {} as Client;\n this.sdrt.loan = {} as Loan;\n this.sdrt.relation = new Array();\n this.sdrt.sitLoan = {} as SitLoan;\n this.sdrt.situation = {} as Situation;\n this.menos = new Array();\n this.ssrt = {} as SubSituationRequestType;\n this.ssrts = new Array();\n this.srt = {} as SituationRequestType;\n this.route.params.subscribe((param) => {\n this.sitId = param.id;\n this.getSituationById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n getSituationById() {\n showLoader(true);\n this.ds.get(`/situations/${this.sitId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.sdrt = res.body.data;\n this.menos = this.sdrt.situation.memo.split(',').filter(function (v) { return v !== '' });\n // console.log(this.sdrt);\n this.getBorrowerSubSituation();\n\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getBorrowerSubSituation() {\n this.ssrt.numcli = this.sdrt.client.numcli;\n this.ssrt.PHONE = this.sdrt.client.phone;\n this.ssrt.CNI = this.sdrt.client.cniclient;\n this.ssrt.BQID = this.sdrt.situation.bqId;\n this.ssrt.AGCCPT = this.sdrt.situation.branchId;\n\n // console.log(this.ssrt);\n showLoader(true);\n this.ds.post(`/situations/sub-situation`, this.ssrt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.ssrts = res.body.data;\n //console.log(res.body.data);\n\n } else {\n //console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message); \n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n // console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n\n }\n\n unBlocked() {\n this.srt.id = this.sitId;\n this.srt.user = this.auth.getUser().id; \n showLoader(true);\n this.ds.post(`/situations/unblock`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'YOUR REQUEST TO UNBLACKLIST MENBER WAS SUCCESSFUL');\n this.router.navigateByUrl('management/loan-analysis');\n } else {\n this.alert.error('SERVER ERROR', res.body.message); \n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n\n\n}\n","
\n
\n
\n
\n \n
\n
Remove From Blacklist
\n This page is made to remove a borrower from blacklist\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
Borrower's Details
\n
\n
\n
\n
\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
Member №{{sdrt.situation.numcli}}
Member Name{{sdrt.situation.nomcli}}
ID Card №{{sdrt.client != null ? sdrt.client.cniclient: \"\"}}
Phone №{{sdrt.client != null ? sdrt.client.phone: \"\"}}
Credit Union{{sdrt.bank != null ? sdrt.bank.name : \"\"}}
Credit Union Branch{{sdrt.branch != null ? sdrt.branch.name: \"\"}}
Loan motif{{sdrt.loan != null ? sdrt.loan.motifdem: \"\"}}
Loan AmountXAF {{sdrt.sitLoan.mtpret? sdrt.sitLoan.mtpret : 'Unavailable'}}
Loan balance{{sdrt.sitLoan.montrest? sdrt.sitLoan.montrest : 'Unavailable'}}
Payment Delay{{sdrt.sitLoan.retard}} Days
Status\n Deliquency Threat\n Blacklisted\n Pendding Approval\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Member Relations
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
NameRelationshipNIC Number
{{sit.nombenef}}{{sit.relbenef ? sit.relbenef : 'Unavailable'}}{{sit.cnibenef ? sit.cnibenef : 'Unavailable'}}
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
Threat Justification
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n

{{m}}

\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
All Loans Aquired by Member
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n
File N°Credit UnionBranchMenberMenber N°Loan AmountMotifLoan Date
{{ss.NUMDOS}}{{ss.bank_name}}{{ss.branch_name}}{{ss.nomcli}}{{ss.numcli}}{{ss.MTPRET}}{{ss.MOTIFDEM}}{{ss.Datacc | date}}
\n
\n\n
\n
\n\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { User, UserRole, BankResponseType, Chapter, Agency, APIResponse } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-user-edit',\n templateUrl: './user-edit.component.html',\n styleUrls: ['./user-edit.component.css']\n})\nexport class UserEditComponent implements OnInit {\n\n usr: User;\n uId: number;\n roles: Array;\n banks: Array;\n chaps: Array;\n branchs: Array;\n selectbanks: Array;\n selectbranchs: Array;\n showChap: boolean;\n showCre: boolean;\n showBranch: boolean;\n\n\n constructor(private ds: DataService, private loc: Location, private router: Router, private route: ActivatedRoute, private alert: ToastrService) {\n this.initView();\n\n }\n\n ngOnInit(): void {\n\n }\n\n getUsersById(): void {\n showLoader(true);\n this.ds.get(`/users/${this.uId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.usr = res.body.data;\n if (Number(this.usr.roleId) === Number(2)) {\n this.showChap = true;\n this.showCre = false;\n this.showBranch = false;\n } else if (Number(this.usr.roleId) === Number(3) || Number(this.usr.roleId) === Number(4)) {\n this.showChap = true;\n this.showCre = true;\n this.showBranch = true;\n } else {\n this.showChap = false;\n this.showCre = false;\n this.showBranch = false;\n }\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onUpdate() {\n showLoader(true);\n this.ds.put('/users/update/' + this.uId, this.usr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.router.navigate([\"/management/users\"]);\n this.alert.success('SUCCESS', 'USER UPDATED SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.router.navigate([\"/management/users\"]);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n getRoles(): void {\n showLoader(true);\n this.ds.get(`/roles/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.roles = res.body.data;\n // console.log(this.roles);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n this.selectbanks = res.body.data;\n this.getBranches();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getChapters(): void {\n showLoader(true);\n this.ds.get(`/chapters/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.chaps = res.body.data;\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onChangeRol(val: number) {\n if (Number(val) === Number(2)) {\n this.showChap = true;\n this.showCre = false;\n this.showBranch = false;\n } else if (Number(val) === Number(3) || Number(val) === Number(4)) {\n this.showChap = true;\n this.showCre = true;\n this.showBranch = true;\n } else {\n this.showChap = false;\n this.showCre = false;\n this.showBranch = false;\n }\n }\n\n onChangeChap(val: string) {\n if (Number(this.usr.roleId) === Number(2)) {\n this.selectbanks = this.banks;\n } else {\n this.showCre = true;\n this.selectbanks = this.banks.filter((x) => {\n return val.toLowerCase() === x.chapter.code.toLowerCase();\n });\n }\n\n }\n\n onChangeChapter(val: string) {\n if (this.usr.roleId == 2) {\n this.selectbanks = this.banks;\n } else {\n this.showCre = true;\n this.selectbanks = this.banks.filter(bank => {\n if (bank.chapter) {\n return bank.chapter.code == val;\n }\n });\n }\n }\n\n onChangeBank(val: string) {\n this.showBranch = true;\n const userBank = this.banks.find(bank => bank.bank.code === val);\n this.usr.bqId = userBank.bank.id.toString();\n\n this.getBranches();\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.branchs = res.body.data;\n\n const userBank = this.selectbanks.find(bank => bank.bank.code == this.usr.bqId)\n this.selectbranchs = this.branchs.filter(branch => {\n return branch.bqId == userBank.bank.id;\n });\n\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n initView() {\n this.usr = {} as User;\n this.usr.active = true;\n this.roles = new Array();\n this.banks = new Array();\n this.chaps = new Array();\n this.branchs = new Array();\n this.selectbanks = new Array();\n this.selectbranchs = new Array();\n this.showCre = false;\n this.showChap = false;\n this.showBranch = false;\n this.getRoles();\n this.getChapters();\n this.getbanks();\n //this.getBranches();\n this.route.params.subscribe((param) => {\n this.uId = param.id;\n this.getUsersById();\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Users
\n This page allow the admin to update user information\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
Edit User
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { PageChapter, User, UserRole, APIResponse, BankResponseType, Agency, Bank } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.css']\n})\nexport class UserListComponent implements OnInit {\n\n page: number;\n pageUser: PageChapter;\n pages: Array;\n users: Array;\n allUsers: Array;\n banks: Array;\n selectbanks: Array;\n selectbranchs: Array;\n usr: User;\n branch: Agency;\n bank: Bank;\n branchs: Array;\n filterUsers: Array;\n roles: Array;\n base64File: string;\n ro: boolean;\n ur: UserRole;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n this.initView();\n }\n\n initView() {\n this.page = 0;\n this.pageUser = {} as PageChapter;\n this.users = new Array();\n this.allUsers = new Array();\n this.ur = {} as UserRole;\n this.branchs = new Array();\n this.filterUsers = new Array();\n this.roles = new Array();\n this.selectbranchs = new Array();\n this.branch = {} as Agency;\n this.bank = {} as Bank;\n this.usr = {} as User;\n this.banks = new Array();\n this.selectbanks = new Array();\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.ro = false;\n this.getbanks();\n this.getRoles();\n this.getUsersList(0);\n this.getAllUsersList();\n this.getRoleById(this.auth.getUser().roleId);\n }\n\n getUsersList(page: number): void {\n showLoader(true);\n this.ds.get(`/users/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n\n if (res.body.status === 200) {\n this.pageUser = res.body.data;\n this.pages = Array(this.pageUser.totalPages).fill(0).map((x,i)=>i);\n this.users = this.pageUser.content;\n this.filterUsers = this.pageUser.content;\n if (this.auth.getUser().roleId === 2) {\n this.filterUsers = this.filterUsers.filter(user =>{\n return user.roleId === 3 || user.roleId === 4;\n });\n this.filterUsers = this.filterUsers.filter(user => {\n return user.codchap === this.auth.getUser().codchap;\n });\n }\n //this.filterUsers.sort((a,b)=>a.username.localeCompare(b.username));\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getAllUsersList(): void {\n showLoader(true);\n this.ds.get(`/users/list/0?0`).subscribe((res: HttpResponse) => {\n showLoader(false);\n\n if (res.body.status === 200) {\n this.pageUser = res.body.data;\n this.allUsers = this.pageUser.content;\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n getRoles(): void {\n showLoader(true);\n this.ds.get(`/roles/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.roles = res.body.data;\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURRED');\n });\n }\n\n getbankName(user: User): BankResponseType {\n // Show the loader to indicate that a search is in progress\n showLoader(true);\n\n // Check that `user.bqId` is not null or undefined before calling `trim()`\n const foundBank = this.selectbanks.find((bank) => bank.bank.code.trim() === (user.bqId ?? '').trim());\n\n // Hide the loader\n showLoader(false);\n\n // Return the found bank, or null if not found\n return foundBank ?? null;\n }\n\n getbranchName(user: User): Agency {\n if (!user || !user.bqId || !user.agccpt) {\n return null; // return null if user or required properties are null\n }\n\n showLoader(true);\n let ag: Agency;\n let bk: BankResponseType;\n bk = this.selectbanks.find(element => element && element.bank && element.bank.code && element.bank.code.trim() === user.bqId.trim());\n if (bk) {\n ag = this.branchs.find(element => element && element.code && element.code.trim() === user.agccpt.trim() && bk.bank.id == element.bqId);\n }\n showLoader(false);\n return ag;\n }\n\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n this.selectbanks = res.body.data;\n this.getBranches();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBranches(): void {\n // Show the loader to indicate that a search is in progress\n showLoader(true);\n\n // Use the HTTP GET method to retrieve the list of branches\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n // Check the status of the HTTP response\n if (res.body.status === 200) {\n // Hide the loader\n showLoader(false);\n\n // Store the list of branches in the component property\n this.branchs = res.body.data;\n\n // Filter the branches to include only those that belong to the user's bank\n this.selectbranchs = this.branchs.filter((branch) => {\n // Find the bank associated with the branch\n const bank = this.banks.find((bk) => Number(bk.bank.id) === Number(branch.bqId));\n\n // Return true if the user's bank ID matches the bank's code, or false otherwise\n return this.usr.bqId === (bank?.bank.code ?? null);\n });\n } else {\n // Hide the loader\n showLoader(false);\n\n // Display an error message\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n // Hide the loader\n showLoader(false);\n\n // Display an error message\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURRED');\n });\n }\n\n\n getRoleById(id: number): void {\n showLoader(true);\n this.ds.get(`/roles/${id}`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n this.ur = res.body.data;\n showLoader(false);\n if (this.ur.privilege.toLowerCase() == 'RW'.toLowerCase()) {\n this.ro = true;\n }\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterUsers = this.allUsers.filter((cre) => {\n return cre.name.toLowerCase().includes(query.toLowerCase()) ||\n cre.username.toLowerCase().includes(query.toLowerCase());\n });\n } else {\n this.filterUsers = this.users;\n }\n }\n\n setPage(i) {\n this.getUsersList(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.getUsersList(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageUser.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/users/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'USER DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n onUpdate(usr: User) {\n usr.password = \"0000\";\n showLoader(true);\n this.ds.put('/users/reset/pass/' + usr.id, usr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'USER UPDATED SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n\n changeStatus(usr: User) {\n showLoader(true);\n usr.active = !usr.active;\n this.ds.put('/users/update/' + usr.id, usr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'USER UPDATED SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n printUserReport(): void {\n showLoader(true);\n this.ds.get(`/users/reports/list`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n\n}\n","
\n
\n
\n
\n \n
\n
Users
\n This page list all existing users of crm\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n
List of Users
\n    \n
Total: {{pageUser.totalElements}}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n
UsernameNameCredit UnionBranchRoleStatusAction
{{usr.username}}{{usr.name}}\n {{getbankName(usr).bank.name}}\n \n\n \n {{getbranchName(usr).name}}\n \n\n {{usr.roles}}\n Active\n Blocked\n \n \n \n\n \n\n \n\n \n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { User, UserRole, APIResponse, BankResponseType, Chapter, Agency } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { Md5 } from 'md5-typescript';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-user-new',\n templateUrl: './user-new.component.html',\n styleUrls: ['./user-new.component.css']\n})\nexport class UserNewComponent implements OnInit {\n\n usr: User;\n pwd: string;\n roles: Array;\n banks: Array;\n chaps: Array;\n branchs: Array;\n selectbanks: Array;\n selectbranchs: Array;\n showChap: boolean;\n showCre: boolean;\n showBranch: boolean;\n currentUser: User;\n\n\n constructor(private ds: DataService, private loc: Location, private router: Router, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n onCreate() {\n this.usr.password = Md5.init(this.pwd);\n showLoader(true);\n this.ds.post('/users/new', this.usr).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.alert.success('SUCCESS', 'USER SAVE SUCCESSFULLY');\n this.initView();\n } else {\n showLoader(false);\n this.router.navigate([\"/management/users\"]);\n this.alert.error('ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n //console.log(err);\n });\n }\n\n getRoles(): void {\n showLoader(true);\n this.ds.get(`/roles/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.roles = res.body.data;\n if (this.currentUser.roleId === 2) {\n this.roles = this.roles.filter(role => role.id === 3 || role.id === 4);\n }\n // console.log(this.roles);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.banks = res.body.data;\n if (this.currentUser.roleId === 2) {\n this.banks = this.banks.filter(bank => bank.chapter?.code === this.currentUser.codchap);\n }\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getChapters(): void {\n showLoader(true);\n this.ds.get(`/chapters/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.chaps = res.body.data;\n if (this.currentUser.roleId === 2) {\n this.chaps = this.chaps.filter(chapter => chapter.code === this.currentUser.codchap);\n }\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onChangeRol(val: number) {\n if (Number(val) === Number(2)) {\n this.showChap = true;\n this.showCre = false;\n this.showBranch = false;\n } else if (Number(val) === Number(3) || Number(val) === Number(4)) {\n this.showChap = true;\n this.showCre = true;\n this.showBranch = true;\n } else {\n this.showChap = false;\n this.showCre = false;\n this.showBranch = false;\n }\n }\n\n onChangeChap(val: string) {\n if (Number(this.usr.roleId) === Number(2)) {\n this.selectbanks = this.banks;\n } else {\n this.showCre = true;\n this.selectbanks = this.banks.filter((x) => {\n return val.toLowerCase() === x.chapter.code.toLowerCase();\n });\n }\n\n }\n\n /***\n * This function sets the list of branches to display when a chapter is selected\n * @param val The chapter code\n */\n onChangeChapter(val: string) {\n if (this.usr.roleId == 2) {\n this.selectbanks = this.banks;\n } else {\n this.showCre = true;\n this.selectbanks = this.banks.filter(bank => {\n if (bank.chapter) {\n return bank.chapter.code == val;\n }\n });\n }\n }\n\n /***\n * This function sets the list of branches to display when a bank/MFI is selected.\n * @param val The bank code (bqid) of the bank/MFI.\n */\n onChangeBank(val: string) {\n this.showBranch = true;\n const userBank = this.banks.find(bank => bank.bank.code === val);\n this.selectbranchs = this.branchs.filter(branch => branch.bqId == userBank.bank.id);\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.branchs = res.body.data;\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n initView() {\n this.usr = {} as User;\n this.currentUser = {} as User;\n this.pwd = '';\n this.usr.active = true;\n this.roles = new Array();\n this.banks = new Array();\n this.chaps = new Array();\n this.branchs = new Array();\n this.selectbanks = new Array();\n this.selectbranchs = new Array();\n this.showCre = false;\n this.showChap = false;\n this.showBranch = false;\n this.currentUser = this.auth.getUser();\n this.getChapters();\n this.getbanks();\n this.getBranches();\n this.getRoles();\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Users
\n This page allow the admin to create a user\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n
New User
\n Add class of .form-control with <input> tag\n
\n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n\n\n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit, ViewChild, Injectable } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { isNil, reverse } from 'lodash';\nimport { MenuServiceEn } from 'src/app/shared/menu.en.service';\nimport { UserRole, APIResponse } from 'src/app/shared/models';\nimport { TreeviewItem, DownlineTreeviewItem, TreeviewComponent, TreeviewEventParser, OrderDownlineTreeviewEventParser, TreeviewConfig } from 'ngx-treeview';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Injectable()\nexport class MenuTreeviewConfig extends TreeviewConfig {\n hasAllCheckBox = true;\n hasFilter = true;\n hasCollapseExpand = true;\n maxHeight = 450;\n}\n\n@Component({\n selector: 'app-user-role',\n templateUrl: './user-role.component.html',\n styleUrls: ['./user-role.component.css'],\n providers: [\n { provide: TreeviewEventParser, useClass: OrderDownlineTreeviewEventParser },\n { provide: TreeviewConfig, useClass: MenuTreeviewConfig }\n ]\n})\nexport class UserRoleComponent implements OnInit {\n @ViewChild('TreeviewComponent', { static: false }) treeviewComponent: TreeviewComponent;\n\n items: TreeviewItem[];\n checkedItems: any;\n rows: string[];\n role: UserRole;\n roles: Array;\n listRoles: Array;\n listRoles2: Array;\n canUpd: boolean;\n\n constructor(private ds: DataService, private loc: Location, private _men: MenuServiceEn, private alert: ToastrService) { }\n\n ngOnInit(): void {\n this.items = this._men.getMenuTreeItems();\n this.initView();\n this.getAllUserRoles();\n }\n\n //#region CRUD Operations\n\n /**\n * Add new User role in database\n */\n onCreateRole(): void {\n showLoader(true);\n this.role.menu = this.roles.join(',');\n this.ds.post(`/roles/new`, this.role)\n .subscribe((res: HttpResponse) => {\n showLoader(false);\n this.initView();\n this.getAllUserRoles();\n this.alert.success('SUCCESS', 'USER ROLE SAVE SUCCESSFULLY');\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err);\n });\n }\n\n /**\n * Update a User role in database\n */\n onUpdate(): void {\n showLoader(true);\n this.role.menu = this.roles.join(',');\n this.ds.put(`/roles/update/${this.role.id}`, this.role)\n .subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.status === 200) {\n this.initView();\n this.getAllUserRoles();\n this.alert.success('SUCCESS', 'USER ROLE UPDATED SUCCESSFULLY');\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err);\n });\n }\n\n /**\n * Delete a User role from database.\n */\n onDelete(): void {\n showLoader(true);\n this.ds.delete(`/roles/delete/${this.role.id}`).subscribe((res) => {\n showLoader(false);\n this.initView();\n this.getAllUserRoles();\n this.alert.success('SUCCESS', 'USER ROLE DELETED SUCCESSFULLY');\n }, (err) => { \n showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err); \n });\n\n }\n\n /**\n * Get Single User role from database\n * @param id\n */\n getRoleById(id: number): void {\n try {\n const r = this.listRoles.find((role) => {\n return Number(role.id) === Number(id);\n });\n if (r !== undefined) {\n this.role = r;\n this.setCheckedItems(this.role.menu.split(','));\n this.roles = this.role.menu.split(',');\n }\n } catch (error) { }\n }\n\n getAllUserRoles(): void {\n showLoader(true);\n this.ds.get(`/roles/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n this.listRoles = res.body.data;\n this.listRoles2 = res.body.data;\n }, (err) => { \n showLoader(false); \n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n //#endregion\n\n\n /**\n * ngx-treeview item selected listener\n * @param downlineItems\n */\n onSelectedChange(downlineItems: DownlineTreeviewItem[]) {\n this.rows = [];\n this.roles = [];\n let values = [];\n downlineItems.forEach(downlineItem => {\n const item = downlineItem.item;\n const value = item.value;\n values = [item.value];\n const texts = [item.text];\n let parent = downlineItem.parent;\n while (!isNil(parent)) {\n texts.push(parent.item.text);\n values.push(parent.item.value);\n parent = parent.parent;\n }\n const reverseTexts = reverse(texts);\n const row = `${reverseTexts.join(' > ')} : ${value}`;\n this.rows.push(row);\n values.forEach(v => {\n this.roles.push(v);\n });\n });\n\n this.roles = this.removeDuplicates(reverse(this.roles));\n this.role.menu = this.roles.join(',');\n }\n\n /**\n * Check items in tree view matching access rights from user role selected.\n * @param values\n */\n setCheckedItems(values: Array): void {\n this.items.forEach(child1 => {\n child1.setCheckedRecursive(true);\n child1.setCollapsedRecursive(false);\n (values.indexOf(child1.value) === -1) ? (child1.checked = false, child1.correctChecked()) : (child1.checked = true);\n if (Object.keys(child1).indexOf('internalChildren') !== -1) {\n child1.children.forEach(child2 => {\n child2.setCheckedRecursive(true);\n child2.setCollapsedRecursive(false);\n (values.indexOf(child2.value) === -1) ? (child2.checked = false, child2.correctChecked()) : (child2.checked = true);\n if (Object.keys(child2).indexOf('internalChildren') !== -1) {\n child2.children.forEach(child3 => {\n child3.setCheckedRecursive(true);\n child3.setCollapsedRecursive(false);\n (values.indexOf(child3.value) === -1) ? (child3.checked = false, child3.correctChecked()) : (child3.checked = true);\n if (Object.keys(child3).indexOf('internalChildren') !== -1) {\n child3.children.forEach(child4 => {\n child4.setCheckedRecursive(true);\n child4.setCollapsedRecursive(false);\n (values.indexOf(child4.value) === -1) ? (child4.checked = false, child4.correctChecked()) : (child4.checked = true);\n });\n }\n });\n }\n });\n }\n });\n this.treeviewComponent.raiseSelectedChange();\n }\n\n /**\n * Uncheck all items in treeview.\n */\n uncheckItems(): void {\n this.items.forEach(item => {\n item.setCheckedRecursive(false);\n item.setCollapsedRecursive(true);\n });\n }\n\n onRoleClick(id: number): void {\n //console.log(id);\n this.canUpd = true;\n this.getRoleById(id);\n }\n\n /**\n * Initialize form.\n */\n initView(): void {\n this.uncheckItems();\n this.role = {} as UserRole;\n //this.role.sts = true;\n this.canUpd = false;\n this.getAllUserRoles();\n }\n\n removeDuplicates(array: Array): Array {\n let filtered: Array = [];\n filtered = array.filter(function (elem, index, self) {\n return index === self.indexOf(elem);\n });\n return filtered;\n }\n\n onSearchKeyUp(query: string): void {\n try {\n this.listRoles2 = this.listRoles.filter((role) => {\n return role.name.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } catch (error) { }\n }\n\n backClicked() {\n this.loc.back();\n }\n}\n","
\n
\n
\n
\n \n
\n
Users Roles
\n This page is made to configure roles\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n
List / Add / Edit Roles
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n\n\n \n\n \n \n \n \n\n \n\n \n\n
{{rl.name}}
\n
\n
\n
\n \n \n
\n
\n\n \n\n \n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.css']\n})\nexport class UsersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Dashboard
\n lorem ipsum dolor sit amet, consectetur adipisicing elit\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
Basic Form Inputs
\n Add class of .form-control with <input> tag\n
\n
\n

Basic Inputs

\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
Hello !... This is static text\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n

Input Sizes

\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

Color Inputs

\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

Text-color

\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n

Background-color

\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { User, BankResponseType, APIResponse, Payment, BillingSummary, Chapter, ChapterBillingSummary } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { HttpResponse } from '@angular/common/http';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-billing-simul',\n templateUrl: './billing-simul.component.html',\n styleUrls: ['./billing-simul.component.css']\n})\nexport class BillingSimulComponent implements OnInit {\n\n pay: Payment;\n usr: User;\n banks: Array;\n fbanks: Array;\n fbank: BankResponseType;\n prs: Array;\n cprs: ChapterBillingSummary;\n cprss: Array;\n uchrg: number = 0;\n base64File: string;\n totlBal: number;\n totFees: number;\n bkId: string;\n chId: number;\n chIdv: string;\n isAll: boolean;\n isAllC: boolean;\n typ: boolean;\n chaps: Array;\n\n constructor(private ds: DataService, private auth: AuthService, private loc: Location, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.pay = {} as Payment;\n this.usr = {} as User;\n this.banks = new Array();\n this.fbanks = new Array();\n this.fbank = {} as BankResponseType;\n this.prs = new Array();\n this.cprs = {} as ChapterBillingSummary;\n this.cprss = new Array();\n this.chaps = new Array();\n this.isAll = false;\n this.isAllC = false;\n this.typ = true;\n this.totlBal = 0;\n this.totFees = 0;\n this.usr = this.auth.getUser();\n this.base64File = '';\n this.bkId = '';\n this.chIdv = '';\n this.getbanks();\n this.getChapters();\n }\n\n emptyvar() {\n this.prs = new Array();\n this.cprs = {} as ChapterBillingSummary;\n this.cprss = new Array();\n this.totlBal = 0;\n this.totFees = 0;\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n this.fbanks = this.banks.filter((x) => {\n return x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase();\n });\n\n\n if(this.usr.bqId != null) {\n this.fbank = this.banks.find((x) => {\n return x.bank?.code.toLowerCase() === this.usr.bqId.toLowerCase();\n });\n }\n\n // this.getBranches();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getChapters(): void {\n showLoader(true);\n this.ds.get(`/chapters/`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.chaps = res.body.data;\n if (this.usr.roleId === 2) {\n this.chaps = this.chaps.filter(chap => chap.code === this.usr.codchap);\n }\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n billingSummary(bqId: string): void {\n showLoader(true);\n this.ds.get(`/licences/biling-summary/${bqId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.prs = res.body.data;\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n chapterBillingSummary(chId: number): void {\n showLoader(true);\n this.ds.get(`/licences/chapter-biling-summary/${chId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.cprs = res.body.data;\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n billingSummaries(): void {\n showLoader(true);\n this.ds.get(`/licences/biling-summaries`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.prs = res.body.data;\n this.totlBal = 0;\n this.totFees = 0;\n this.prs.forEach((x) => {\n this.totlBal += Number(x.TOTAL_LOANS);\n this.totFees += Number(x.CHARGE);\n });\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n chapterBillingSummaries(): void {\n showLoader(true);\n this.ds.get(`/licences/chapter-biling-summaries`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.cprss = res.body.data;\n this.totlBal = 0;\n this.totFees = 0;\n this.cprss.forEach((x) => {\n this.totlBal += Number(x.totLoan);\n this.totFees += Number(x.totFees);\n });\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onCreditUnionChange(value: string) {\n if (value == 'ALL') {\n this.isAll = true;\n this.billingSummaries();\n this.bkId = value;\n } else if (value != null) {\n this.isAll = false;\n this.bkId = value;\n this.billingSummary(value);\n } else {\n }\n\n }\n\n onChapterChange(value: string) {\n let chap: number;\n chap = Number(value);\n if (chap == 0) {\n this.isAllC = true;\n this.chapterBillingSummaries();\n this.chId = chap;\n this.chIdv = 'ALL';\n } else if (chap != null) {\n this.isAllC = false;\n this.chId = chap;\n this.chIdv = 'ONE';\n this.chapterBillingSummary(chap);\n } else {\n }\n }\n\n chapterBillingSummaryReport() {\n showLoader(true);\n this.ds.get(`/licences/chapter-biling-summary/reports/${this.chId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n chapterBillingSummariesReport() {\n showLoader(true);\n this.ds.get(`/licences/chapter-biling-summaries/reports`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n\n billingSummaryReport(): void {\n //console.log('here');\n showLoader(true);\n this.ds.get(`/licences/biling-summary/reports/${this.bkId}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n billingSummariesReport(): void {\n //console.log('here');\n showLoader(true);\n this.ds.get(`/licences/biling-summaries/reports`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'THERE WAS AN INTERNAL SERVER ERROR');\n });\n }\n\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Billing Summary
\n This page allows specific user to preview bills summary\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n \n\n \n\n \n
\n\n \n\n \n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n \n\n \n\n \n
\n\n\n \n\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
NamePeriodeLoan BalanceFee
{{pr.BANK}}{{pr.START_DATE | date}} - {{pr.END_DATE | date}}{{pr.TOTAL_LOANS | number}}{{pr.CHARGE | number}}
TOTAL{{totlBal | number}}{{totFees | number}}
\n
\n\n\n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
NamePeriodeLoan BalanceFee
{{cprs.chapter}}
{{bi.BANK}}{{bi.START_DATE | date}} - {{bi.END_DATE | date}}{{bi.TOTAL_LOANS | number}}{{bi.CHARGE | number}}
TOTAL{{cprs.totLoan | number}}{{cprs.totFees | number}}
\n
\n\n\n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
NamePeriodeLoan BalanceFee
{{cpr.chapter}}
{{bi.BANK}}{{bi.START_DATE | date}} - {{bi.END_DATE | date}}{{bi.TOTAL_LOANS | number}}{{bi.CHARGE | number}}
TOTAL{{cpr.totLoan | number}}{{cpr.totFees | number}}
GRAND TOTAL{{totlBal | number}}{{totFees | number}}
\n
\n\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { BillingResponseType, APIResponse, PageChapter, SituationRequestType, BillingDetail, Operations } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-billing',\n templateUrl: './billing.component.html',\n styleUrls: ['./billing.component.css']\n})\nexport class BillingComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n bills: Array;\n srt: SituationRequestType;\n bilDet: Array;\n showDetail: boolean;\n operations: Array;\n detailTot: number;\n tot: number;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService) {\n\n }\n\n ngOnInit() {\n this.initView();\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.bills = new Array();\n this.srt = {} as SituationRequestType;\n this.bilDet = new Array();\n this.getOpreationsList();\n this.getbillings(this.page);\n this.showDetail = false;\n }\n\n getbillings(page: number): void {\n showLoader(true);\n this.ds.get(`/settings/billing-list`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageCredit = res.body.data;\n this.pages = new Array(this.pageCredit.totalPages);\n this.bills = this.pageCredit.content;\n\n this.tot = 0;\n this.bills.forEach(item => {\n item.agc.forEach((line) => {\n this.tot += Number(line.TOTAL_AMOUNT);\n });\n });\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n }\n\n getBillingDetail(bank: string, branch: string) {\n this.srt.bank = bank;\n this.srt.branch = branch;\n\n // console.log(this.srt);\n showLoader(true);\n this.ds.post(`/settings/billing-detail`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n // console.log(res.body.data);\n this.bilDet = res.body.data;\n this.showDetail = true;\n this.detailTot = 0;\n this.bilDet.forEach(item => {\n this.detailTot += Number(item.TOTAL_AMOUNT);\n });\n } else {\n //console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message); \n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED'); \n });\n\n }\n\n closeDetail() {\n this.showDetail = false;\n }\n\n getOpreationsList = function () {\n this.operations = [\n { name: 'SEARCH', value: 'S' },\n { name: 'BLACKLISTING', value: 'B' },\n { name: 'REMOVAL FROM BLACKLIST', value: 'RB' },\n { name: 'VISUALIZING POSIBLE DELIQUENT LOANS', value: 'DL' },\n { name: 'VISUALIZING LOANS', value: 'LP' },\n { name: 'VISUALIZING LOAN SITUATIONS', value: 'LS' },\n ];\n }\n\n getOperationName(value) {\n return this.operations.filter((item) => {\n return item.value === value;\n })[0];\n }\n\n setPage(i, event: any) {\n event.preventDefault();\n this.page = i;\n this.getbillings(i);\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Billing Report
\r\n This page allows the admin to view all the billing reports\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
Billing Details for : {{bilDet[0].branch}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Credit UnionBranchUserOperationFrequencyUnit Price (XAF)Total (XAF)
{{bd.bank}}{{bd.branch}}{{bd.name}}{{getOperationName(bd.act).name}} {{bd.FREQ | number}}{{bd.TOTAL_AMOUNT / bd.FREQ | number}}{{bd.TOTAL_AMOUNT | number}}
\r\n
Total:
\r\n
\r\n
{{detailTot | number}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Billing Summary
\r\n
\r\n
\r\n Total Billing Summary (XAF): {{tot | number}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
Credit UnionBranchFrequencyTotal (XAF)
\r\n
{{bs.bank}}
\r\n
{{bs.bank}}{{b.branch}}{{b.FREQ}}{{b.TOTAL_AMOUNT | number}}
\r\n
    \r\n \r\n
  • {{i}}
  • \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\nimport { PageChapter, BankResponseType, Agency, SituationRequestType, Situation, APIResponse, User, Chapter, Bank, LoanAgeingResponseType } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-loan-ageing',\n templateUrl: './loan-ageing.component.html',\n styleUrls: ['./loan-ageing.component.css']\n})\nexport class LoanAgeingComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n banks: Array;\n fbanks: Array;\n fbank: BankResponseType;\n branchs: Array;\n sbranchs: Array;\n sebranchs: Array;\n showBranch: boolean;\n srt: SituationRequestType;\n sits: Array;\n filterSits: Array;\n usr: User;\n base64File: string;\n\n constructor(private ds: DataService, private loc: Location, private auth: AuthService, private alert: ToastrService) {\n this.initView();\n\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.sits = new Array();\n this.filterSits = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.branchs = new Array();\n this.sebranchs = new Array();\n this.fbank = {} as BankResponseType;\n this.fbank.bank = {} as Bank;\n this.fbank.chapter = {} as Chapter;\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.showBranch = false;\n this.srt = {} as SituationRequestType;\n this.usr = {} as User;\n this.base64File = '';\n // this.sits = new Array();\n this.usr = this.auth.getUser();\n this.getbanks();\n //this.getBranches();\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.banks = res.body.data;\n\n this.fbanks = this.banks.filter((x) => {\n return this.usr.codchap ? x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase() : x;\n });\n\n\n if(this.usr.bqId != null) {\n this.fbank = this.banks.find((x) => {\n return x.bank?.code.toLowerCase() === this.usr.bqId.toLowerCase();\n });\n }\n\n this.getBranches();\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.branchs = res.body.data;\n //console.log(this.branchs);\n this.sbranchs = this.branchs.filter((x) => {\n return x.bqId === this.fbank.bank.id;\n });\n this.sebranchs = this.branchs.filter((x) => {\n return x.bqId === this.fbank.bank.id;\n });\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n // onSelectBank(value: number) {\n // console.log(value);\n // if (value == 0) {\n // this.showBranch = false;\n // } else {\n // this.sbranchs = this.branchs.filter((x) => {\n // return Number(x.bqId) === Number(value);\n // });\n // let bk = this.banks.find((x) => {\n // return Number(x.bank.id) === Number(value);\n // });\n // this.srt.bank = bk.bank.code;\n // this.showBranch = true;\n // }\n\n // }\n\n onSelectBank(value: string) {\n if (value == null && value === undefined && value === '') {\n this.showBranch = false;\n } else {\n this.sbranchs = this.branchs.filter((x) => {\n return Number(x.bqId) === Number(value);\n });\n let bk = this.banks.find((x) => {\n return Number(x.bank.id) === Number(value);\n });\n this.srt.bank = bk.bank.code;\n this.showBranch = true;\n }\n\n }\n\n onSelectBank1(value: string) {\n if (value == null && value === undefined && value === '') {\n this.showBranch = false;\n } else {\n // console.log(this.branchs);\n this.sbranchs = this.branchs.filter((x) => {\n let bank = this.fbanks.find(bk => bk.bank.id === x.bqId);\n return value.toLowerCase() === bank.bank?.code.toLowerCase();\n });\n //console.log(this.sbranchs);\n this.showBranch = true;\n }\n\n }\n\n onLoadData(page: number) {\n showLoader(true);\n if (this.usr.roleId != 2) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n this.ds.post(`/situation-loans/loan-ageing?page=${page}`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.pageCredit = res.body.data;\n //console.log(this.pageCredit);\n this.pages = new Array(this.pageCredit.totalPages);\n this.sits = this.pageCredit.content;\n this.filterSits = this.pageCredit.content;\n } else {\n //console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n }\n\n\n printLoanAgeingReport() {\n //if (this.usr.roleId != 2) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n showLoader(true);\n this.ds.post(`/situation-loans/loan-ageing`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n // }\n }\n\n setPage(i, event: any) {\n event.preventDefault();\n this.page = i;\n this.onLoadData(i);\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterSits = this.sits.filter((cre) => {\n return cre.loan.numdos.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.loan.numcli.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.loan.nomcli.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } else {\n this.filterSits = this.sits;\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/situations/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n this.alert.success('SUCCESS', 'BORROWER SITUATION DELETED SUCCESSFULLY');\n } else {\n showLoader(false);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Loan Ageing Balance
\n This page list all existing Loan Ageing Balance by Agency\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n\n
\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n
\n
\n\n \n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Location } from '@angular/common';\nimport { LoanBalanceResponseType, BankResponseType, Agency, SituationRequestType, APIResponse, User } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-loan-portfolio-balance',\n templateUrl: './loan-portfolio-balance.component.html',\n styleUrls: ['./loan-portfolio-balance.component.css']\n})\nexport class LoanPortfolioBalanceComponent implements OnInit {\n\n banks: Array;\n fbanks: Array;\n branchs: Array;\n sbranchs: Array;\n showBranch: boolean;\n srt: SituationRequestType;\n lbts: Array;\n amntTot: number;\n base64File: string;\n usr: User;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.lbts = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.showBranch = false;\n this.srt = {} as SituationRequestType;\n this.amntTot = 0;\n this.base64File = '';\n // this.sits = new Array();\n this.usr = this.auth.getUser();\n this.getbanks();\n if(this.usr.roleId !=2 && this.usr.roleId==3){\n this.srt.bank = this.usr.bqId;\n this.onLoadData(0);\n }\n // this.getBranches();\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n\n this.fbanks = this.banks.filter((x) => {\n return x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase();\n });\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.branchs = res.body.data;\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n onSelectBank(value: string) {\n //console.log(value);\n if (value == null && value === undefined && value === '') {\n this.srt.branch = \"\";\n this.showBranch = false;\n } else {\n this.sbranchs = this.branchs.filter((x) => {\n let bank = this.banks.find(bk => bk.bank.id === x.bqId);\n return value.toLowerCase() === bank.bank.code.toLowerCase();\n });\n this.showBranch = true;\n }\n\n }\n\n onLoadData(page: number) {\n //console.log(this.srt);\n showLoader(true);\n this.ds.post(`/loans/agency-balance`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.lbts = res.body.data;\n //console.log(this.lbts);\n this.amntTot = 0;\n this.lbts.forEach((x) => {\n this.amntTot += Number(x.balance);\n });\n } else {\n // console.log(res.body.message);\n this.alert.error('SERVER ERROR', res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //console.log(err);\n });\n }\n\n printLoanBalanceReport() {\n showLoader(true);\n this.ds.post(`/loans/reports/agency-balance/list`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Loan Portfolio Balances
\n This page list existing Loan Portfolio Balance by Credit Union\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n \n
\n \n\n \n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
Loan Portfolio Balances
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
BranchTotal Loan Amount
{{lr.branch}}{{lr.balance | number}}
TOTAL AMOUNT{{amntTot | number}}
\n
\n\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { LoanResponseType, SituationRequestType, PageChapter, BankResponseType, Agency, APIResponse, User, Bank, Chapter, LoanBalanceResponseType } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-loan-portfolio',\n templateUrl: './loan-portfolio.component.html',\n styleUrls: ['./loan-portfolio.component.css']\n})\nexport class LoanPortfolioComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n banks: Array;\n fbanks: Array;\n fbank: BankResponseType;\n branchs: Array;\n sbranchs: Array;\n sebranchs: Array;\n showBranch: boolean;\n srt: SituationRequestType;\n lrts: Array;\n lbrt: LoanBalanceResponseType;\n filterLrts: Array;\n usr: User;\n balance: number;\n base64File: string;\n\n constructor(private ds: DataService, private loc: Location, private auth: AuthService, private alert: ToastrService) {\n this.initView();\n\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.lrts = new Array();\n this.filterLrts = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.branchs = new Array();\n this.sebranchs = new Array();\n this.fbank = {} as BankResponseType;\n this.fbank.bank = {} as Bank;\n this.fbank.chapter = {} as Chapter;\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.showBranch = false;\n this.srt = {} as SituationRequestType;\n this.usr = {} as User;\n this.lbrt = {} as LoanBalanceResponseType;\n this.balance = 0;\n this.base64File = '';\n // this.sits = new Array();\n this.usr = this.auth.getUser();\n this.getbanks();\n // this.getBranches();\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n\n\n this.fbanks = this.banks.filter((x) => {\n return this.usr.codchap ? x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase() : x;\n });\n\n\n if(this.usr.bqId != null) {\n this.fbank = this.banks.find((x) => {\n return x.bank.code.toLowerCase() === this.usr.bqId.toLowerCase();\n });\n }\n\n this.getBranches();\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n getBranches(): void {\n showLoader(true);\n this.ds.get(`/branches/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.branchs = res.body.data;\n this.sbranchs = this.branchs.filter((x) => {\n return Number(x.bqId) === Number(this.fbank.bank.id);\n });\n this.sebranchs = this.branchs.filter((x) => {\n return x.bqId === this.fbank.bank.id;\n });\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n onSelectBank(value: string) {\n if (value == null && value === undefined && value === '') {\n this.showBranch = false;\n } else {\n this.sbranchs = this.branchs.filter((x) => {\n return Number(x.bqId) === Number(value);\n });\n let bk = this.banks.find((x) => {\n return Number(x.bank.id) === Number(value);\n });\n this.srt.bank = bk.bank.code;\n this.showBranch = true;\n }\n\n }\n\n onSelectBank1(value: string) {\n if (value == null && value === undefined && value === '') {\n this.showBranch = false;\n } else {\n // console.log(this.branchs);\n this.sbranchs = this.branchs.filter((x) => {\n let bank = this.fbanks.find(bk => bk.bank.id === x.bqId);\n return value.toLowerCase() === bank.bank.code.toLowerCase();\n });\n //console.log(this.sbranchs);\n this.showBranch = true;\n }\n\n }\n\n onLoadData(page: number) {\n showLoader(true);\n if (this.usr.roleId != 2) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n this.ds.post(`/loans/list?page=${page}`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.pageCredit = res.body.data;\n //console.log(this.pageCredit);\n this.pages = new Array(this.pageCredit.totalPages);\n this.lrts = this.pageCredit.content;\n this.filterLrts = this.pageCredit.content;\n // console.log(this.filterLrts);\n } else {\n // console.log(res.body.message);\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n }\n\n getLoansBalances() {\n this.balance = 0;\n if (this.usr.roleId != 2) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n showLoader(true);\n this.ds.post(`/loans/balance`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.balance = res.body.data;\n } else {\n // console.log(res.body.message);\n showLoader(false);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n }\n\n printLoanPortofolioReport() {\n //if (this.usr.roleId != 2) {\n if (this.usr.roleId == 1) {\n this.srt.isBilling = false;\n } else if (this.usr.roleId == 3) {\n this.srt.bank = this.usr.bqId;\n this.srt.isBilling = true;\n this.srt.username = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.username : '';\n this.srt.name = this.usr.roleId == 3 || this.usr.roleId == 2 ? this.usr.name : '';\n }\n showLoader(true);\n this.ds.post(`/loans/reports/list`, this.srt).subscribe((res: HttpResponse) => {\n\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n // console.log(res.body.data);\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n // }\n }\n\n setPage(i, event: any) {\n event.preventDefault();\n this.page = i;\n this.onLoadData(i);\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterLrts = this.lrts.filter((cre) => {\n return cre.loan.numcli.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.loan.nomcli.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.loan.numdos.toLowerCase().indexOf(query.toLowerCase()) !== -1;\n });\n } else {\n this.filterLrts = this.lrts;\n }\n }\n\n onDelete(id: number) {\n showLoader(true)\n this.ds.delete('/situations/delete/' + id)\n .subscribe((res: HttpResponse) => {\n if (res.status === 200) {\n showLoader(false);\n this.initView();\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Loan Portfolio
\n This page list all existing Loan Portfolio by Credit Union and branche\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n\n
\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n\n \n
\n
\n
\n
\n\n\n \n\n \n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { DataService } from 'src/app/shared/DataService';\nimport { Agency, APIResponse, BankResponseType, MonthSituation, PageChapter, Payment, PayDetailResponse, SituationRequestType, User } from 'src/app/shared/models';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { HttpResponse } from '@angular/common/http';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-month-situation',\n templateUrl: './month-situation.component.html',\n styleUrls: ['./month-situation.component.css']\n})\nexport class MonthSituationComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n banks: Array;\n fbanks: Array;\n branchs: Array;\n sbranchs: Array;\n showBranch: boolean;\n srt: MonthSituation;\n lrts: Array;\n filterLrts: Array;\n base64File: string;\n usr: User;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n dt: Date;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n this.usr = this.auth.getUser();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.lrts = new Array();\n this.filterLrts = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.showBranch = false;\n this.srt = {} as MonthSituation;\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.getbanks();\n }\n\n\n\n onLoadData(page: number) {\n this.filterLrts = new Array();\n this.srt.dat = new Date(this.dt);\n //console.log(this.srt);\n showLoader(true);\n this.ds.post(`/payments/situations/${this.pagnum}?page=${page}`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.pageCredit = res.body.data;\n //console.log(this.pageCredit);\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.lrts = this.pageCredit.content;\n this.lrts.sort((a,b)=>a.BANK.localeCompare(b.BANK));\n\n this.filterLrts = this.lrts;\n //console.log(this.filterLrts);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n // console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n setPage(i) {\n this.onLoadData(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.onLoadData(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n this.fbanks = this.banks.filter(x => x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase());\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterLrts = this.lrts.filter((cre) => {\n return cre.BANK.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.CHARGE.toString().indexOf(query.toLowerCase()) !== -1 ||\n cre.UNIT_CHARGE.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1\n\n });\n } else {\n this.filterLrts = this.lrts;\n }\n }\n\n printPaymentReportList() {\n showLoader(true);\n this.ds.post(`/payments/situations/reports/list`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n printPaymentReport(pId: number) {\n showLoader(true);\n this.ds.get(`/licences/payment/${pId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Payement Situation
\n This page allows specific user to view Month or Annual situation\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n\n
\n \n\n \n
\n\n
\n
\n\n\n
\n
\n
\n
\n
Payment Situation
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
Credit UnionPaid AmountStart PeriodEnd Period
{{p.BANK}}{{p.UNIT_CHARGE | number}}{{p.START_DATE | date}}{{p.END_DATE | date}}
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { PageChapter, BankResponseType, Agency, SituationRequestType, LoanResponseType, APIResponse, User, Payment } from 'src/app/shared/models';\nimport { DataService } from 'src/app/shared/DataService';\nimport { HttpResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { Printer } from 'src/app/shared/printer.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\n\ndeclare var showLoader;\n@Component({\n selector: 'app-payment-hist',\n templateUrl: './payment-hist.component.html',\n styleUrls: ['./payment-hist.component.css']\n})\nexport class PaymentHistComponent implements OnInit {\n\n page: number;\n pageCredit: PageChapter;\n pages: Array;\n banks: Array;\n fbanks: Array;\n branchs: Array;\n sbranchs: Array;\n showBranch: boolean;\n srt: SituationRequestType;\n lrts: Array;\n filterLrts: Array;\n base64File: string;\n usr: User;\n currentSelectedPage: number = 0;\n pag: number;\n pagnum: number;\n\n constructor(private ds: DataService, private loc: Location, private alert: ToastrService, private auth: AuthService) {\n this.initView();\n this.usr = this.auth.getUser();\n if (this.usr != null && this.usr != undefined && this.usr.bqId != null) {\n if(this.usr.roleId != 1){\n this.srt.bank = this.usr.bqId;\n this.onLoadData(0);\n }\n\n }\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.page = 0;\n this.pageCredit = {} as PageChapter;\n this.lrts = new Array();\n this.filterLrts = new Array();\n this.banks = new Array();\n this.fbanks = new Array();\n this.branchs = new Array();\n this.sbranchs = new Array();\n this.showBranch = false;\n this.srt = {} as SituationRequestType;\n this.base64File = '';\n this.pages =[];\n this.pagnum = 20;\n this.getbanks();\n }\n\n\n\n onLoadData(page: number) {\n this.filterLrts = new Array();\n //console.log(this.srt);\n showLoader(true);\n this.ds.post(`/payments/bankPayments/list/${this.pagnum}?page=${page}`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.pageCredit = res.body.data;\n this.pages = Array(this.pageCredit.totalPages).fill(0).map((x,i)=>i);\n this.lrts = this.pageCredit.content;\n if(this.srt.bank === \"all\") {\n this.lrts.sort((a,b)=>a.bankName.localeCompare(b.bankName));\n } else {\n this.lrts.sort((a,b)=>new Date(b.datereg).getTime() - new Date(a.datereg).getTime());\n }\n this.filterLrts = this.lrts;\n //console.log(this.filterLrts);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n //console.log(err);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n setPage(i) {\n this.onLoadData(i);\n }\n\n getPaginationWithIndex(index: number, pag: any) {\n this.setPage(index);\n }\n\n active(index: number) {\n if(this.currentSelectedPage == index ){\n return {\n active: true\n };\n }\n }\n\n onChangeNumber(pag: number){\n try {\n this.pagnum = pag;\n this.onLoadData(0);\n } catch (error) {\n\n }\n }\n\n nextClick() {\n if (this.currentSelectedPage < this.pageCredit.totalPages - 1) {\n this.setPage(++this.currentSelectedPage);\n }\n }\n\n previousClick() {\n if (this.currentSelectedPage > 0) {\n this.setPage(--this.currentSelectedPage);\n }\n }\n\n getbanks(): void {\n showLoader(true);\n this.ds.get(`/banks/`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n //console.log(res.body.data);\n this.banks = res.body.data;\n this.fbanks = this.banks.filter(x => x.chapter?.code.toLowerCase() === this.usr.codchap.toLowerCase());\n }else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n //console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n\n onSearch(query: string): void {\n if (query !== undefined && query.length > 0) {\n this.filterLrts = this.lrts.filter((cre) => {\n return cre.memName.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.bankName.toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.loanBal.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.amntPaid.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1 ||\n cre.datereg.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1\n\n });\n } else {\n this.filterLrts = this.lrts;\n }\n }\n\n printPaymentReportList() {\n showLoader(true);\n this.ds.post(`/payments/reports/list`, this.srt).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n printPaymentReport(pId: number) {\n showLoader(true);\n this.ds.get(`/licences/payment/${pId}`).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Payment History
\n This page list Payment History\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n
\n\n
\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n\n \n
\n\n
\n
\n
\n
\n\n
\n
\n \n \n\n\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n\n \n
\n\n
\n
\n\n
\n
\n\n
\n
\n \n\n \n\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n\n \n
\n\n
\n
\n\n
\n
\n
\n
\n
Payment History Details
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
Credit UnionPaid Date\n Member NameLoan BalancePaid AmountStart PeriodEnd PeriodAction
\n {{p.bankName}}{{p.datereg | date}}{{p.memName}}{{p.loanBal | number}}{{p.amntPaid | number}}{{p.periodStrt | date}}{{p.periodEnd | date}}\n\n \n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { DataService } from 'src/app/shared/DataService';\nimport { User } from 'src/app/shared/models';\n\n@Component({\n selector: 'app-provision',\n templateUrl: './provision.component.html',\n styleUrls: ['./provision.component.css']\n})\nexport class ProvisionComponent implements OnInit {\n\n usr: User;\n\n constructor(private ds: DataService, private auth: AuthService, private loc: Location, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.usr = this.auth.getUser();\n }\n\n\n backClicked() {\n this.loc.back();\n }\n\n}\n","
\n
\n
\n
\n \n
\n
Provision
\n This page allows specific user to Credit Union Provision\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { BillingComponent } from './billing/billing.component';\r\nimport { UsersLogComponent } from './users-log/users-log.component';\r\nimport { LoanAgeingComponent } from './loan-ageing/loan-ageing.component';\r\nimport { LoanPortfolioComponent } from './loan-portfolio/loan-portfolio.component';\r\nimport { LoanPortfolioBalanceComponent } from './loan-portfolio-balance/loan-portfolio-balance.component';\r\nimport { PaymentHistComponent } from './payment-hist/payment-hist.component';\r\nimport { BillingSimulComponent } from './billing-simul/billing-simul.component';\r\nimport { ProvisionComponent } from './provision/provision.component';\r\nimport { MonthSituationComponent } from './month-situation/month-situation.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'reports/billing', component: BillingComponent },\r\n { path: 'reports/loan-situation', component: LoanAgeingComponent },\r\n { path: 'reports/loan-portfolio', component: LoanPortfolioComponent },\r\n { path: 'reports/loan-portfolio/balances', component: LoanPortfolioBalanceComponent },\r\n { path: 'reports/payment-history', component: PaymentHistComponent },\r\n { path: 'reports/billing-summary', component: BillingSimulComponent },\r\n { path: 'reports/user-log', component: UsersLogComponent },\r\n { path: 'reports/provision', component: ProvisionComponent },\r\n { path: 'reports/month-situation', component: MonthSituationComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [\r\n RouterModule,\r\n SharedModule\r\n ]\r\n})\r\nexport class ReportsRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UsersLogComponent } from './users-log/users-log.component';\nimport { BillingComponent } from './billing/billing.component';\nimport { ReportsRoutingModule } from './reports-routing-module';\nimport { FormsModule } from '@angular/forms';\nimport { BillingSimulComponent } from './billing-simul/billing-simul.component';\nimport { PaymentHistComponent } from './payment-hist/payment-hist.component';\nimport { LoanAgeingComponent } from './loan-ageing/loan-ageing.component';\nimport { LoanPortfolioComponent } from './loan-portfolio/loan-portfolio.component';\nimport { LoanPortfolioBalanceComponent } from './loan-portfolio-balance/loan-portfolio-balance.component';\nimport { MonthSituationComponent } from './month-situation/month-situation.component';\nimport { ProvisionComponent } from './provision/provision.component';\n\n\n\n@NgModule({\n declarations: [\n UsersLogComponent, \n BillingComponent, \n BillingSimulComponent, \n PaymentHistComponent, \n LoanAgeingComponent, \n LoanPortfolioComponent, \n LoanPortfolioBalanceComponent, \n MonthSituationComponent, \n ProvisionComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReportsRoutingModule\n ],\n exports: [\n UsersLogComponent, \n BillingComponent, \n BillingSimulComponent, \n PaymentHistComponent, \n LoanAgeingComponent, \n LoanPortfolioComponent, \n LoanPortfolioBalanceComponent, \n MonthSituationComponent, \n ProvisionComponent\n ]\n})\nexport class ReportsModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { DataService } from 'src/app/shared/DataService';\nimport { AuthService } from 'src/app/shared/auth.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { logRequest, APIResponse, User, PageChapter, logRequestUser } from 'src/app/shared/models';\nimport { HttpResponse } from '@angular/common/http';\nimport { Printer } from 'src/app/shared/printer.service';\n\ndeclare var showLoader;\n\n@Component({\n selector: 'app-users-log',\n templateUrl: './users-log.component.html',\n styleUrls: ['./users-log.component.css']\n})\nexport class UsersLogComponent implements OnInit {\n\n month: string;\n usr: User;\n year: string;\n name: string;\n base64File;\n log: logRequest;\n logUser: logRequestUser;\n typ: boolean;\n pagnum: number;\n filterUsers: Array;\n pageUser: PageChapter;\n\n constructor(private ds: DataService, private loc: Location, private auth: AuthService, private alert: ToastrService) {\n this.initView();\n }\n\n ngOnInit(): void {\n }\n\n initView() {\n this.base64File = '';\n this.log = {} as logRequest;\n this.logUser = {} as logRequestUser;\n this.name = '';\n this.usr = {} as User;\n this.usr = this.auth.getUser();\n this.typ = true;\n this.pagnum = 0;\n this.filterUsers = new Array();\n this.pageUser = {} as PageChapter;\n this.getUsersList(0);\n }\n\n getUsersList(page: number): void {\n showLoader(true);\n this.ds.get(`/users/list/${this.pagnum}?page=${page}`).subscribe((res: HttpResponse) => {\n showLoader(false);\n if (res.body.status === 200) {\n this.pageUser = res.body.data;\n this.filterUsers = this.pageUser.content;\n this.filterUsers.sort((a,b)=>a.username.localeCompare(b.username));\n this.filterUsers.sort((a,b) => a.name > b.name ? 1 : -1);\n\n } else {\n showLoader(false);\n this.alert.error('SERVER ERROR', res.body.message);\n //console.log(res.body.message);\n }\n }, (err) => {\n // console.log(err);\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n });\n }\n\n printLogsReport() {\n showLoader(true);\n this.logUser.from = this.log.from;\n this.logUser.to = this.log.to;\n if(this.name != ''){\n this.logUser.name = this.name;\n this.printReport(this.logUser);\n }else {\n this.logUser.name = '';\n this.printReport(this.logUser);\n }\n }\n\n printReport(logObject : any){\n this.ds.post(`/logs/reports/list`, logObject).subscribe((res: HttpResponse) => {\n if (res.body.status === 200) {\n showLoader(false);\n this.base64File = res.body.data;\n setTimeout(() => {\n Printer.print2(encodeURI(this.base64File), 'application/pdf');\n }, 300);\n //console.log(res.body.data);\n } else {\n showLoader(false);\n this.alert.warning('WARNING', 'LOG TO HEAVY TO BE PRINTED. IT IS RECOMMENDED TO CHOOSE A SHORT PERIOD');\n }\n }, (err) => {\n showLoader(false);\n this.alert.error('SERVER ERROR', 'AN UNEXPECTED ERROR HAS OCCURED');\n //this.alert.warning('WARNING', 'LOG TO HEAVY TO BE PRINTED. IT IS RECOMMENDED TO CHOOSE A SHORT PERIOD');\n });\n }\n\n backClicked() {\n this.loc.back();\n }\n\n onUserChange(value : string){\n this.name = value.toString();\n }\n\n\n}\n","
\n
\n
\n
\n \n
\n
Users Log
\n This page list every users activities\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n\n
\n
\n
\n
\n \n \n\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
","import { HttpClient, HttpEvent, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n constructor(private http: HttpClient) { }\r\n //public baseUrl = 'http://173.249.63.190:8787/CRMApi';\r\n public baseUrl = 'https://crmapi.camcculapps.com/CRMApi';\r\n //public baseUrl = 'https://crmapi.camcculapps.com/CRMApi-new';\r\n //public baseUrl = 'http://localhost:8787/CRMApi'\r\n //public baseUrl = 'http://192.168.1.104:8787'\r\n //public baseUrl = 'http://161.97.171.101:8787/CRMApi';\r\n //public baseUrl = 'http://173.249.63.190:8787/CRMApi-new';\r\n\r\n\r\n async uploadFile(file: File) : Promise {\r\n const formData: FormData = new FormData();\r\n formData.append('file', file);\r\n \r\n const resp = await fetch(`${this.baseUrl}/file-upload/external-clients/single-file`, {\r\n method: 'POST',\r\n body: formData\r\n });\r\n \r\n\r\n const apiResponse = await resp.json()\r\n return apiResponse;\r\n }\r\n\r\n /**\r\n * Function to send get request.\r\n */\r\n public get(url: string, options?: HttpHeaders): any {\r\n return this.http.get(`${this.baseUrl}${url}`, { observe: 'response', responseType: 'text' });\r\n }\r\n\r\n /**\r\n * Function to send post request\r\n */\r\n public post(url: string, data: any, options?: HttpHeaders): Observable {\r\n return this.http.post(`${this.baseUrl}${url}`, data, { observe: 'response', responseType: 'text' });\r\n }\r\n\r\n public uploadSync(files: File[], options?: HttpHeaders): Observable {\r\n const formData: FormData = new FormData();\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n formData.append('files' ,files[i]);\r\n }\r\n\r\n const req = new HttpRequest('POST', `${this.baseUrl}/file-upload/external-clients`, formData, {\r\n reportProgress: true,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req);\r\n }\r\n\r\n /**\r\n * Function to send put request\r\n */\r\n public put(url: string, data: any, options?: HttpHeaders): Observable {\r\n return this.http.put(`${this.baseUrl}${url}`, data, { observe: 'response', responseType: 'text' });\r\n }\r\n\r\n /**\r\n * Function to send put request which will delete an element\r\n */\r\n public archive(url: string, data: any, options?: HttpHeaders): Observable {\r\n return this.http.put(`${this.baseUrl}${url}`, data, { observe: 'response', responseType: 'text' });\r\n }\r\n\r\n /**\r\n * Function to send delete request\r\n */\r\n public delete(url: string, options?: HttpHeaders): Observable {\r\n return this.http.delete(`${this.baseUrl}${url}`, { observe: 'response', responseType: 'text' });\r\n }\r\n\r\n // host: 173.249.63.190\r\n // username: crm\r\n // database: camccul_crm\r\n // password: 092o!hPp\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { enc } from 'crypto-js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class EncrDecrService {\r\n\r\n protected key = 'ptNsPdPA8ivWw6RWka/yUA==';\r\n\r\n constructor() { }\r\n\r\n public encrypt(strToEncrypt: string): string {\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n const encrypted = CryptoJS.AES.encrypt(strToEncrypt, key, this.getCipherConfig());\r\n // const result = (cipherparams.ciphertext.toString());\r\n return this.base64ToHexString(CryptoJS.enc.Base64.stringify(encrypted.ciphertext));\r\n }\r\n\r\n public decrypt(strToDecrypt: string): string {\r\n try {\r\n const bytesToDecrypt = this.stringHexToBase64(strToDecrypt);\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n const bytes = CryptoJS.AES.decrypt(bytesToDecrypt, key, this.getCipherConfig());\r\n const decryptedData = bytes.toString(enc.Utf8);\r\n return decryptedData;\r\n\r\n } catch (err) {\r\n throw new Error('Error while decrypting: ' + err);\r\n }\r\n }\r\n private getCipherConfig(): {} {\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n return {\r\n keySize: 128 / 32,\r\n iv: key,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n };\r\n }\r\n private stringHexToBase64(str: string): string {\r\n return btoa(str.match(/\\w{2}/g).map(function (a) {\r\n return String.fromCharCode(parseInt(a, 16));\r\n }).join(''));\r\n }\r\n\r\n private base64ToHexString(str: string): string {\r\n const raw = atob(str);\r\n let HEX = '';\r\n\r\n for (let i = 0; i < raw.length; i++) {\r\n const _hex = raw.charCodeAt(i).toString(16);\r\n HEX += (_hex.length === 2 ? _hex : '0' + _hex);\r\n }\r\n return HEX.toUpperCase();\r\n }\r\n\r\n _base64ToArrayBuffer(base64) {\r\n const binary_string = window.atob(base64);\r\n const len = binary_string.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n }\r\n\r\n public hashPwd(raw) {\r\n }\r\n\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n} from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { map, tap, catchError } from \"rxjs/operators\";\r\nimport { AuthService } from \"./auth.service\";\r\n//import { CryptoService } from './crypto.service';\r\nimport { APIResponse } from \"./models\";\r\nimport { TrameUtilService } from \"./trame-util.service\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n // req.url.indexOf('patients/new') === -1 &&\r\n constructor(\r\n private auth: AuthService,\r\n private router: Router,\r\n private cs: TrameUtilService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (\r\n req.url.indexOf(\"login\") === -1 &&\r\n req.url.indexOf(\"register\") === -1 &&\r\n req.url.indexOf(\"upload\") === -1 &&\r\n req.url.indexOf(\"change-pass\") === -1 &&\r\n req.url.indexOf(\"forgot/password\") === -1 &&\r\n req.url.indexOf(\"verify/otp\") === -1 &&\r\n req.url.indexOf(\"set-new-password\") === -1\r\n ) {\r\n let authReq: HttpRequest;\r\n authReq = req.clone({\r\n setHeaders: {\r\n //'User-Agent': `${this.auth.getDeviceInfo()}`,\r\n UUID: `${this.auth.getToken()}`,\r\n PRINTBY: `${this.auth.getUser().name}`,\r\n },\r\n body: this.cs.encrypt(JSON.stringify(req.body)),\r\n });\r\n // console.log(authReq);\r\n // send cloned request with header to the next handler.\r\n return next.handle(authReq).pipe(\r\n map(\r\n (event) => {\r\n if (\r\n event instanceof HttpResponse &&\r\n req.url.indexOf(\"i18n\") === -1\r\n ) {\r\n event = event.clone({\r\n body: this.cs.GetResponse(event.body),\r\n });\r\n }\r\n // showLoader(false);\r\n //console.log(event);\r\n return event;\r\n },\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage = \"\";\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${\r\n error.status\r\n }\\nMessage: ${this.cs.decrypt(error.error)}`;\r\n }\r\n // showLoader(false);\r\n return throwError(errorMessage);\r\n })\r\n )\r\n );\r\n } else {\r\n return next.handle(req).pipe(\r\n map(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n event = event.clone({\r\n body: this.cs.GetEntityFromTrame>(\r\n event.body\r\n ),\r\n });\r\n }\r\n //console.log(event);\r\n // showLoader(false);\r\n return event;\r\n },\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.message === \"Access Denied\") {\r\n this.auth.clearTokens();\r\n this.router.navigate([\"/login\"]);\r\n }\r\n // showLoader(false);\r\n return throwError(error);\r\n })\r\n )\r\n );\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanLoad, Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanLoad, CanActivate {\r\n\r\n constructor(private auth: AuthService,\r\n private router: Router) {\r\n }\r\n\r\n canLoad(\r\n route: import('@angular/router').Route,\r\n segments: import('@angular/router').UrlSegment[]): boolean | Observable | Promise {\r\n\r\n if (this.auth.getUser() != null && this.auth.getUser() !== undefined) {\r\n return true;\r\n } else if (localStorage.getItem(\"defaultPassword\") == \"true\") {\r\n this.router.navigate(['/change-default-password']);\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.auth.getUser() != null && this.auth.getUser() !== undefined) {\r\n return true;\r\n } else if (localStorage.getItem(\"defaultPassword\") == \"true\") {\r\n this.router.navigate(['/change-default-password']);\r\n } else {\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url} });\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DeviceDetectorService, DeviceInfo } from 'ngx-device-detector';\r\n// import { AuthUser } from './models';\r\n//import { CookieService } from 'ngx-cookie-service';\r\nimport { EncrDecrService } from './EncrDecrService';\r\nimport { User } from './models';\r\n\r\ndeclare var imprint: any;\r\n\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public static TOKEN_HEADER_NAME = 'Authorization';\r\n protected USER_KEY = 'syjndkdhzo';\r\n protected TOKEN_KEY = 'dhlesbj';\r\n protected LANG = 'lang';\r\n\r\n protected expiredDate = new Date();\r\n constructor(private crypto: EncrDecrService, private dvs: DeviceDetectorService) {\r\n this.expiredDate.setDate( this.expiredDate.getDate() + 1 );\r\n }\r\n\r\n \r\n /**\r\n * Get active user from session.\r\n * @return Object: UserInfo\r\n */\r\n getUser(): User {\r\n if (localStorage.getItem(this.USER_KEY) !== null && localStorage.getItem(this.USER_KEY) !== undefined) {\r\n let usr = this.crypto.decrypt(localStorage.getItem(this.USER_KEY));\r\n return JSON.parse(usr) as User;\r\n } else {\r\n return null\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Set active user in session.\r\n * @param object: UserInfo\r\n * @return void\r\n */\r\n setUser(user: User): void {\r\n let usr = this.crypto.encrypt(JSON.stringify(user));\r\n localStorage.setItem(this.USER_KEY, usr);\r\n }\r\n\r\n /**\r\n * Get's user token from local storage\r\n * @return string\r\n */\r\n getToken(): string {\r\n return localStorage.getItem(this.TOKEN_KEY);\r\n }\r\n\r\n /**\r\n * Set user token in local storage\r\n * @return void\r\n */\r\n setToken(token: string): void {\r\n localStorage.setItem(this.TOKEN_KEY, token);\r\n }\r\n\r\n /**\r\n * Removes values of hpCode, token and user from local storage\r\n */\r\n public clearTokens(): void {\r\n localStorage.clear();\r\n localStorage.clear();\r\n }\r\n\r\n /**\r\n * Returns Browser information of connected device\r\n */\r\n public getDeviceInfo(): DeviceInfo {\r\n return this.dvs.getDeviceInfo();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\nimport * as XLSX from 'xlsx';\nimport jsPDF from 'jspdf';\nimport autoTable, { RowInput } from 'jspdf-autotable';\nimport { DatePipe } from \"@angular/common\";\nimport { PaymentResponseToPrint, groupeBySite } from \"./models\";\n\nconst EXCEL_EXTENSION = '.xlsx';\nconst PDF_EXTENSION = '.pdf';\n\n@Injectable()\nexport class ExportHelper {\n\n constructor(private datePipe: DatePipe) {}\n\n public exportexcel(json: any[], excelFileName: string): void {\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, excelFileName);\n XLSX.writeFile(wb, 'crm_export_' + excelFileName + '_' + new Date().getTime() + EXCEL_EXTENSION);\n}\n\npublic openPDF(pdfFileName: string, json: any[], total1: number, total2: number, username: string, period: string): void {\n const doc = new jsPDF();\n var imgData\n this.getBase64ImageFromUrl().then(res => {\n imgData = 'data:image/png;base64' + res\n const currentDateAndTime = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\n const headerRight = \"Date: \" + currentDateAndTime + \"\\n \\n\" + \"Printed by: \" + username + \"\\n \\n\" + \"Period: \" + period\n const pageTitle = pdfFileName\n doc.setFontSize(8)\n doc.setFont('Times', 'bold')\n doc.text(headerRight, 150, 15)\n doc.setFontSize(8)\n doc.addImage(imgData, 'PNG', 10, 10, 50, 20)\n doc.setFontSize(10)\n doc.setFont('helvetica', 'bold')\n doc.text(pageTitle, doc.internal.pageSize.getWidth() / 2, 45, {align: 'center'})\n doc.setFontSize(10)\n doc.setFont('times')\n doc.text('Number of Elements: ' + json.length, 10, 60)\n doc.text('Total Credit Union Fees: XAF ' + total1, 10, 70)\n doc.text('Total CAMCCUL Fees: XAF ' + total2, 10, 80)\n var header: RowInput[] = [];\n var rows: string[][] = [];\n json.forEach(element => {\n header.push(Object.keys(element))\n })\n json.forEach(element => {\n rows.push(Object.values(element))\n })\n autoTable(doc, {\n head: [header[0]],\n body: rows,\n theme: 'striped',\n styles: {font: 'times'},\n headStyles: {fontStyle: 'bold', fillColor: '0D47A1', fontSize: 8},\n bodyStyles: {fontSize: 6},\n startY: 90,\n });\n const pageCount = (doc as any).internal.getNumberOfPages();\n for (let i = 1; i <= pageCount; i++) {\n doc.setFontSize(8);\n doc.setPage(i);\n var pageSize = doc.internal.pageSize;\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight();\n doc.text('Page ' + String(i) + ' of ' + String(pageCount), doc.internal.pageSize.getWidth() / 2, pageHeight - 8);\n }\n doc.save('crm_export_' + pdfFileName + '_' + new Date().getTime() + PDF_EXTENSION)\n })\n}\n\npublic openMiniTabs(pdfFileName: string, json: groupeBySite[], total: number, username: string, branchName: string, period: string): void {\n const doc = new jsPDF();\n var imgData\n var pageSize = doc.internal.pageSize;\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight();\n\n console.log(pageHeight)\n this.getBase64ImageFromUrl().then(res => {\n imgData = 'data:image/png;base64' + res\n const currentDateAndTime = this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');\n const headerRight = \"Date: \" + currentDateAndTime + \"\\n \\n\" + \"Printed by: \" + username + \"\\n \\n\" + \"Period: \" + period\n const pageTitle = pdfFileName\n const next = branchName\n doc.setFontSize(8)\n doc.setFont('Times', 'bold')\n doc.text(headerRight, 150, 15)\n doc.setFontSize(8)\n doc.addImage(imgData, 'PNG', 10, 10, 50, 20)\n doc.setFontSize(10)\n doc.setFont('helvetica', 'bold')\n doc.text(pageTitle, doc.internal.pageSize.getWidth() / 2, 45, {align: 'center'})\n doc.setFontSize(10)\n doc.setFont('helvetica', 'bold')\n doc.text(next, doc.internal.pageSize.getWidth() / 2, 50, {align: 'center'})\n doc.setFontSize(10)\n doc.setFont('times')\n doc.text('Number of Elements: ' + json.length, 10, 60)\n doc.text('Total Fees: XAF ' + total, 10, 70)\n var startFirst = 80\n json.forEach(element => {\n var height = element.payment.length * 7\n var header: RowInput[] = [];\n var rows: string[][] = [];\n element.payment.forEach(item => {\n header.push(Object.keys(new PaymentResponseToPrint(item)))\n })\n element.payment.forEach(item => {\n rows.push(Object.values(new PaymentResponseToPrint(item)))\n })\n console.log(startFirst)\n autoTable(doc, {\n head: [header[0]],\n body: rows,\n foot: [['', '', '', '', '', '', '', 'Agency Fees: ', element.total]],\n theme: 'striped',\n styles: {font: 'times'},\n headStyles: {fontStyle: 'bold', fillColor: '37474f', fontSize: 8},\n bodyStyles: {fontSize: 6},\n footStyles: {fontSize: 8, fillColor: '516670', textColor: 'FFFFFF'},\n startY: startFirst,\n });\n\n startFirst = startFirst + height + 15\n\n if(startFirst > pageHeight){\n startFirst = startFirst - pageHeight + 35\n }\n })\n const pageCount = (doc as any).internal.getNumberOfPages();\n for (let i = 1; i <= pageCount; i++) {\n doc.setFontSize(8);\n doc.setPage(i);\n doc.text('Page ' + String(i) + ' of ' + String(pageCount), doc.internal.pageSize.getWidth() / 2, pageHeight - 8);\n }\n doc.save('crm_export_' + pdfFileName + '_' + new Date().getTime() + PDF_EXTENSION)\n })\n}\n\ngetBase64ImageFromUrl = async() => {\n var res = await fetch('assets/images/log111.png');\n var blob = await res.blob();\n\n return new Promise((resolve, reject) => {\n var reader = new FileReader();\n reader.addEventListener(\"load\", function () {\n resolve(reader.result);\n }, false);\n\n reader.onerror = () => {\n return reject(this);\n };\n reader.readAsDataURL(blob);\n })\n}\n}\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InvokerService {\r\n\r\n constructor(private authService: AuthService) {\r\n // this.authService.getUser();\r\n }\r\n\r\n\r\n public getKey(): string {\r\n if (this.authService.getUser() == null && this.authService.getUser() === undefined) {\r\n return null;\r\n } else {\r\n const key = this.authService.getUser().secuKey;\r\n return key;\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MegaMenu } from './models';\r\nimport { TreeviewItem } from 'ngx-treeview';\r\n\r\n@Injectable()\r\nexport class MenuServiceEn {\r\n public seperator: string;\r\n public secuVal: string;\r\n public agci: string;\r\n public index: number[];\r\n constructor() {\r\n this.seperator = 'Þ';\r\n this.secuVal = 'ITAWB';\r\n this.agci = '%';\r\n this.index = [1, 6, 12, 15, 4, 7, 14, 9, 16, 11, 5, 2, 13, 10, 3, 8];\r\n }\r\n\r\n public getMenuItems(): Array {\r\n return [\r\n // {\r\n // value: 'A00', text: 'Dashboard', icon: 'fa fa-dashboard', children: [\r\n // {\r\n // value: 'A01', text: 'Dashboard', children: [\r\n // { value: 'A011', path: 'dashboard', text: 'Dashboard' }\r\n // ]\r\n // }\r\n // ]\r\n // },\r\n {\r\n value: 'C00', text: 'Account', icon: 'feather icon-user', children: [\r\n { value: 'C001', path: '/account/change-pass', text: 'Change Password' },\r\n { value: 'C002', path: '/account/payment', text: 'Payment' },\r\n { value: 'C003', path: '/account/invoice', text: 'Billing Statement' },\r\n // { value: 'C004', path: '/account/retro-commission', text: 'Retro Commission' },\r\n ]\r\n },\r\n {\r\n value: 'D00', text: 'Management', icon: 'feather icon-layers', children: [\r\n { value: 'D001', path: '/management/chapters', text: 'Chapters' },\r\n { value: 'D002', path: '/management/credit-union', text: 'Credit Unions' },\r\n { value: 'D003', path: '/management/branches', text: 'Branches' },\r\n { value: 'D004', path: '/management/users/role', text: 'Users Role' },\r\n { value: 'D005', path: '/management/users', text: 'Users' },\r\n { value: 'D006', path: '/management/loan-analysis', text: 'Loan Analysis' },\r\n { value: 'D007', path: '/management/blacklist-history', text: 'Blacklist History' }\r\n ]\r\n },\r\n {\r\n value: 'E00', text: 'Reports', icon: 'feather icon-pie-chart', children: [\r\n { value: 'E001', path: '/reports/user-log', text: 'User Logs' },\r\n { value: 'E002', path: '/reports/loan-situation', text: 'Loan Ageing Balance' },\r\n { value: 'E003', path: '/reports/loan-portfolio', text: 'Loan Portfolio' },\r\n { value: 'E004', path: '/reports/loan-portfolio/balances', text: 'Loan Portfolio Balances' },\r\n // { value: 'E005', path: '/reports/billing', text: 'Billing' },\r\n { value: 'E006', path: '/reports/billing-summary', text: 'Billing Summary' },\r\n { value: 'E007', path: '/reports/payment-history', text: 'Payment History' },\r\n { value: 'E008', path: '/reports/month-situation', text: 'Monthly Payment History' },\r\n //{ value: 'E009', path: '/reports/provision', text: 'Provision' },\r\n ]\r\n },\r\n {\r\n value: 'F00', text: 'Configurations', icon: 'feather icon-settings', children: [\r\n { value: 'F001', path: '/configuration/access-charges', text: 'Access Charges' },\r\n { value: 'F002', path: '/configuration/licences', text: 'Licences' },\r\n { value: 'F003', path: '/configuration/general-setup', text: 'Settings' },\r\n { value: 'F004', path: '/configuration/alerts', text: 'Alert Message' },\r\n { value: 'F005', path: '/configuration/upload', text: 'Import Contact' },\r\n { value: 'F006', path: '/configuration/merchant-config', text: 'Merchant Settings' },\r\n { value: 'F007', path: '/configuration/upload-sync', text: 'Upload Sync' },\r\n ]\r\n },\r\n ];\r\n }\r\n\r\n getMenuTreeItems(): Array {\r\n const m1 = new TreeviewItem({\r\n value: 'A00', text: 'Dashboard'\r\n });\r\n const m2 = new TreeviewItem(\r\n {\r\n value: 'C00', text: 'Accounts', children: [\r\n { value: 'C001', text: 'Change Password' },\r\n { value: 'C002', text: 'Payment' },\r\n { value: 'C003', text: 'Billing Statement' },\r\n // { value: 'C004', text: 'Retro Commission' },\r\n ]\r\n }\r\n );\r\n const m3 = new TreeviewItem(\r\n {\r\n value: 'D00', text: 'Managements', children: [\r\n { value: 'D001', text: 'Chapters' },\r\n { value: 'D002', text: 'Credit Unions' },\r\n { value: 'D003', text: 'Branches' },\r\n { value: 'D004', text: 'Users Role' },\r\n { value: 'D005', text: 'Users' },\r\n { value: 'D006', text: 'Loan Analysis' },\r\n { value: 'D007', text: 'Blacklist History' },\r\n ]\r\n }\r\n );\r\n const m4 = new TreeviewItem(\r\n {\r\n value: 'E00', text: 'Reports', children: [\r\n { value: 'E001', text: 'User Logs' },\r\n { value: 'E002', text: 'Loan Ageing Balance' },\r\n { value: 'E003', text: 'Loan Portfolio' },\r\n { value: 'E004', text: 'Loan Portfolio Balances' },\r\n // { value: 'E005', text: 'Billing' },\r\n { value: 'E006', text: 'Billing summary' },\r\n { value: 'E007', text: 'Payment History' },\r\n { value: 'E008', text: 'Monthly Payment History' },\r\n //{ value: 'E009', text: 'Provision' },\r\n ]\r\n }\r\n );\r\n\r\n const m5 = new TreeviewItem(\r\n {\r\n value: 'F00', text: 'Configurations', children: [\r\n { value: 'F001', text: 'Access Charges' },\r\n // { value: 'F002', text: 'Licences' },\r\n { value: 'F003', text: 'Settings' },\r\n { value: 'F004', text: 'Alert Message' },\r\n { value: 'F005', text: 'Import Contact' },\r\n { value: 'F006', text: 'Merchant Settings' },\r\n { value: 'F007', text: 'Upload Sync' },\r\n ]\r\n }\r\n );\r\n\r\n return [m1, m2, m3, m4, m5];\r\n }\r\n}\r\n","export enum STATUS {\r\n OK = 200,\r\n SERVER_ERROR = 500,\r\n UNAUTHORISED = 401,\r\n NOT_FOUND = 404,\r\n BAD_REQUEST = 400,\r\n FORBIDEN = 403,\r\n CONFLICT = 409,\r\n CHANGE_PASSWORD = 4232\r\n}\r\n\r\nexport interface APIResponse {\r\n status: number;\r\n message?: string;\r\n data?: any;\r\n}\r\n\r\nexport interface paymentObj{\r\n responseMessage: string;\r\n responseCode : string;\r\n}\r\n\r\nexport interface MomoPayment{\r\n accountIdentifier: string;\r\n amount: string;\r\n providerIdentifier: string;\r\n referenceOrder: string;\r\n}\r\n\r\n\r\nexport interface MenuItem {\r\n value: string;\r\n path?: string;\r\n text: string;\r\n children?: Array;\r\n}\r\nexport interface MegaMenu {\r\n value: string;\r\n text: string;\r\n icon: string;\r\n children: Array;\r\n}\r\nexport interface Menu {\r\n value: string;\r\n text: string;\r\n path?: string;\r\n children?: Array;\r\n}\r\n\r\nexport interface ResponsePolicy {\r\n Status: number;\r\n Error?: string;\r\n Data?: any;\r\n}\r\n\r\nexport interface AuthModel {\r\n username: string;\r\n password: string;\r\n uuid: string;\r\n module: string;\r\n}\r\n\r\nexport interface UserRole {\r\n id?: number;\r\n name: string;\r\n menu: string;\r\n privilege: string;\r\n createdAt?: Date;\r\n updatedAt?: Date;\r\n}\r\n\r\nexport interface ChangePass {\r\n uId: number;\r\n oldPwd: string;\r\n newPwd: string;\r\n confirmPwd?: string;\r\n}\r\n\r\nexport interface User {\r\n id: number;\r\n name: string;\r\n username: string;\r\n email: string;\r\n phone?: string;\r\n password: string;\r\n codchap: string;\r\n bqId: string;\r\n agccpt: string;\r\n token: string;\r\n secuKey: string;\r\n active: boolean;\r\n roleId: number;\r\n roles?: string;\r\n priv: string;\r\n roleName?: string;\r\n isLicenceActive: boolean;\r\n expiryDate: string;\r\n userAgencyLastSyncDate: string\r\n uuid: string\r\n}\r\n\r\nexport interface Chapter {\r\n id: number;\r\n name: string;\r\n code: string;\r\n location: string;\r\n}\r\n\r\nexport interface PageChapter {\r\n content: any\r\n empty: boolean;\r\n first: boolean;\r\n last: boolean;\r\n number: number;\r\n numberOfElements: number;\r\n pageable: any;\r\n size: number;\r\n sort: any;\r\n totalElements: number;\r\n totalPages: number;\r\n}\r\n\r\nexport interface PageBank {\r\n content: Array;\r\n empty: boolean;\r\n first: boolean;\r\n last: boolean;\r\n number: number;\r\n numberOfElements: number;\r\n pageable: any;\r\n size: number;\r\n sort: any;\r\n totalElements: number;\r\n totalPages: number;\r\n}\r\n\r\nexport interface Bank {\r\n id: number;\r\n name: string;\r\n code: string;\r\n codeName?: string;\r\n abrv: string;\r\n chapterId: number;\r\n box: string;\r\n tel: string;\r\n tel2: string;\r\n email1: string;\r\n email2: string;\r\n headOffice: string;\r\n grEndDate: Date;\r\n type: string;\r\n feeAmount: number;\r\n loanPortfolioAmount: number;\r\n}\r\n\r\nexport interface MerchantConfig {\r\n id: number,\r\n uuid: string,\r\n label: string,\r\n color: string,\r\n logo: string,\r\n code: number,\r\n merchantCode: string,\r\n merchantAccount?: string,\r\n secureHashCode: string,\r\n devise: string,\r\n provider: string,\r\n depositAvailable: boolean,\r\n withdrawalAvailable: boolean\r\n}\r\n\r\nexport interface FeesConfig {\r\n id: number,\r\n operatorMtn: number,\r\n operatorOrange: number,\r\n provider: number,\r\n service: number\r\n}\r\n\r\nexport interface UpdateFeeRequest {\r\n paymentConfig: MerchantConfig,\r\n feeConfig: FeesConfig\r\n}\r\n\r\nexport interface BankResponseType {\r\n bank: Bank;\r\n chapter: Chapter;\r\n selected?: boolean;\r\n}\r\n\r\nexport interface RetroCommissionRequest {\r\n userId: number;\r\n period: string;\r\n}\r\n\r\nexport interface RetroCommissionResponse {\r\n period: string;\r\n bankCode: string;\r\n bankName: string\r\n loanTotal: number;\r\n feePaid: number;\r\n mifiFeeShare: number;\r\n camcculFeeShare: number;\r\n}\r\n\r\nexport class RetroCommissionToPrint {\r\n\r\n period: string;\r\n bankCode: string;\r\n bankName: string\r\n totalLoan: number;\r\n feePaid: number;\r\n creditUnionShare: number;\r\n camcculFeeShare: number;\r\n\r\n constructor(obj: RetroCommissionResponse) {\r\n this.period = obj.period;\r\n this.bankCode = obj.bankCode;\r\n this.bankName = obj.bankName;\r\n this.totalLoan = obj.loanTotal;\r\n this.feePaid = obj.feePaid;\r\n this.creditUnionShare = obj.mifiFeeShare\r\n this.camcculFeeShare = obj.camcculFeeShare\r\n }\r\n}\r\n\r\n// export interface AgencyResponseType {\r\n// bank: Bank;\r\n// agency: Agency;\r\n// }\r\n\r\nexport interface AgencyResponseType {\r\n id: number;\r\n code: String;\r\n tel: String;\r\n tel2: String;\r\n email: String;\r\n box: String;\r\n bank_id: number;\r\n loc: String;\r\n name: String;\r\n bank_name: String;\r\n BQID: String;\r\n last_sync: Date;\r\n tag: boolean;\r\n deleted: boolean;\r\n}\r\n\r\nexport interface Agency {\r\n id: number;\r\n name: string;\r\n code: string;\r\n bqId: number;\r\n tel: string;\r\n tel2: string;\r\n email: string;\r\n box: string;\r\n loc: string;\r\n lastSync: Date;\r\n dateReg?: Date;\r\n tag?: boolean;\r\n selected?: boolean;\r\n}\r\n\r\nexport interface SituationRequestType {\r\n bank: string;\r\n branch?: string;\r\n isBilling?: boolean;\r\n username?: string; //numcli dans la fonction approuveUnblacklist\r\n name?: string; // numdos dans la fonction approuveUnblacklist\r\n reason?: string;\r\n id?: number;\r\n from?: Date;\r\n to?: Date;\r\n user?: number;\r\n}\r\n\r\nexport interface MonthSituation {\r\n typ: string;\r\n dat: Date;\r\n}\r\n\r\nexport interface PayDetailResponse {\r\n BANK: string;\r\n TOTAL_LOANS: number;\r\n CHARGE: number;\r\n UNIT_CHARGE: number;\r\n START_DATE: Date;\r\n END_DATE: Date;\r\n\r\n}\r\n\r\nexport interface Situation {\r\n id: number;\r\n bqId: string;\r\n branchId: string;\r\n chapterId: string;\r\n isBlocked: boolean;\r\n isPermanentBlocked: number;\r\n numcli: string;\r\n nomcli: string;\r\n numdos: string;\r\n memo: string;\r\n reasonPerBlck: string;\r\n approuver: string;\r\n}\r\n\r\nexport interface AccessCharge {\r\n id: number;\r\n act?: string;\r\n amntStrt: number;\r\n amntEnd: number;\r\n amount: number;\r\n}\r\n\r\nexport interface AppSetting {\r\n id: number;\r\n ammntValLimit: number;\r\n region: string;\r\n town: string;\r\n quarter: string;\r\n phone: string;\r\n email: string;\r\n msg1: string;\r\n msg2: string;\r\n msg3: string;\r\n msg4: string;\r\n msg5: string;\r\n msg6: string;\r\n msg7: string;\r\n msg8: string;\r\n phonemtn: string;\r\n phoneorang: string;\r\n gperiod: number;\r\n mifiFeeRate: number\r\n}\r\n\r\nexport interface Loan {\r\n id: number;\r\n bqId: string;\r\n bqName?: string;\r\n agccpt: string;\r\n agcName?: string;\r\n numcli: string;\r\n nomcli: string;\r\n numdos: string;\r\n datedem: Date;\r\n motifdem: string;\r\n mtpret: number;\r\n periodic: string;\r\n garantie: string;\r\n datacc: Date;\r\n nbreche: number;\r\n nbecht: number;\r\n}\r\n\r\nexport interface Client {\r\n id: number;\r\n bqId: string;\r\n codage: string;\r\n numcli: string;\r\n name: string;\r\n datebirth: Date;\r\n placebirth: string;\r\n sex: string;\r\n adrescli: string;\r\n city: string;\r\n quata: string;\r\n box: string;\r\n phone: string;\r\n income: Date;\r\n datereg: Date;\r\n cniclient: string;\r\n lieucni: string;\r\n datedelivcni: Date;\r\n searchparams: string;\r\n}\r\n\r\nexport interface LoanResponseType {\r\n loan: Loan;\r\n client: Client;\r\n}\r\n\r\nexport interface LoanBalanceResponseType {\r\n branch: string;\r\n balance: number;\r\n}\r\n\r\nexport interface BlacklistReponseType {\r\n id: number;\r\n sit_id: number;\r\n client_name: string;\r\n num_cli: string;\r\n memo: string;\r\n numdos: string;\r\n bank_id: string;\r\n branch_id: string;\r\n is_blocked: boolean;\r\n is_permanent_block: number;\r\n reason_per_blck: string;\r\n unblock_motif: string;\r\n is_approved: string;\r\n admin_id: number;\r\n chapter_admin_id: number;\r\n date_unblocked: Date;\r\n time_unblocked: Date;\r\n admin_name: string;\r\n chapter_admin_name: string;\r\n}\r\n\r\nexport interface ThreatHis {\r\n id: number;\r\n bqId: string;\r\n agccpt: string;\r\n numcli: string;\r\n nomcli: string;\r\n cni: string;\r\n phone: string;\r\n mtpret: number;\r\n montrest: number;\r\n retard: number;\r\n deliquency: string;\r\n numdos: string;\r\n unblackMotif: string;\r\n isAprrouved: boolean;\r\n adminId: number;\r\n chapterAdminId: number;\r\n dateUnblocked: Date;\r\n timeUnblocked: Date;\r\n}\r\n\r\nexport interface Relation {\r\n id: number;\r\n bqId: string;\r\n codage: string;\r\n numcli: string;\r\n nombenef: string;\r\n relbenef: string;\r\n cnibenef: string;\r\n}\r\n\r\nexport interface SitLoan {\r\n id: number;\r\n bqId: string;\r\n agccpt: string;\r\n numcli: string;\r\n nomcli: string;\r\n numdos: string;\r\n datacc: Date;\r\n mtpret: number;\r\n montrest: number;\r\n retard: number;\r\n valretard: number;\r\n}\r\n\r\nexport interface SubSituationRequestType {\r\n numcli: string;\r\n BQID: string;\r\n AGCCPT: string;\r\n CNI: string;\r\n PHONE: string;\r\n}\r\n\r\nexport interface SubSituationResponseType {\r\n bank: Bank;\r\n branch: Agency;\r\n client: Client;\r\n loan: Loan;\r\n}\r\n\r\nexport interface SubSituation {\r\n id: number;\r\n BQID: string;\r\n AGCCPT: string;\r\n numcli: string;\r\n nomcli: string;\r\n NUMDOS: string;\r\n DATEDEM: Date;\r\n MOTIFDEM: string;\r\n MTPRET: number;\r\n garantie: string;\r\n periodic: string;\r\n Datacc: Date;\r\n nbecht: number;\r\n income: number;\r\n cniclient: string;\r\n phone: string;\r\n name: string;\r\n bank_name: string;\r\n branch_name: string;\r\n}\r\n\r\nexport interface SituationDetailsResponse {\r\n situation: Situation;\r\n loan: Loan;\r\n relation: Array;\r\n bank: Bank;\r\n branch: Agency;\r\n sitLoan: SitLoan;\r\n client: Client;\r\n}\r\n\r\nexport interface Garantie {\r\n id: number;\r\n bqId: string;\r\n codage: string;\r\n codgar: string;\r\n nomaval: string;\r\n placebirth: string;\r\n datebirth: Date;\r\n phone: string;\r\n catpro: string;\r\n valeur: number;\r\n adraval: string;\r\n cidentite: string;\r\n datereg: Date;\r\n numcli: string;\r\n numdos: string;\r\n garanty: string;\r\n descript: string;\r\n etat: string;\r\n}\r\n\r\nexport interface LoanAgeingResponseType {\r\n sitLoan: SitLoan;\r\n loan: Loan;\r\n client: Client;\r\n garantie: Garantie;\r\n}\r\n\r\nexport interface Payment {\r\n id: number;\r\n bqId: string;\r\n payMethod: string;\r\n amntDue: number;\r\n amntPaid: number;\r\n loanBal: number;\r\n payPhone: string;\r\n memName: string;\r\n memPhone: string;\r\n uId: number;\r\n periodStrt: Date;\r\n periodEnd: Date;\r\n datereg: Date;\r\n timereg: Date;\r\n sts: string;\r\n bankName?: string;\r\n amntf?: number;\r\n discount?: number;\r\n}\r\n\r\nexport interface MobileFees {\r\n amount: number\r\n operator: string\r\n}\r\n\r\nexport interface BankPaymentRequest {\r\n id: number;\r\n bank_code : string;\r\n amount_paid: number;\r\n period_loan_balance: number;\r\n payment_period: string;\r\n payment_date: Date;\r\n payer_name: string;\r\n payer_phone: string;\r\n pay_method: string;\r\n user_id: number;\r\n sts: string;\r\n mobile_payment_number: string\r\n amount_with_fees: number\r\n}\r\n\r\nexport interface PaymentReq {\r\n pay: Payment;\r\n prs: Array;\r\n}\r\n\r\nexport interface groupeBySite {\r\n payment: Array\r\n site: string\r\n total: number\r\n}\r\n\r\nexport interface AgencyBilling {\r\n branch: string;\r\n freq: number;\r\n TOTAL_AMOUNT: number;\r\n AGCCPT: string;\r\n BQID: string;\r\n}\r\n\r\nexport interface BillingResponseType {\r\n bank: string;\r\n agc: Array;\r\n\r\n}\r\n\r\nexport interface BillingDetail {\r\n branch: string;\r\n FREQ: number;\r\n TOTAL_AMOUNT: number;\r\n act: string;\r\n username: string;\r\n name: string;\r\n bank: string;\r\n}\r\n\r\nexport interface Operations {\r\n name: string;\r\n value: string;\r\n}\r\n\r\nexport interface PermanentlyBlockedResponse {\r\n id: number;\r\n client_name: string;\r\n num_cli: string;\r\n memo: string;\r\n numdos: string;\r\n bank_id: string;\r\n branch_id: string;\r\n is_blocked: boolean;\r\n is_permanent_block: number;\r\n reason_per_blck: string;\r\n approver: string;\r\n bank_name: string;\r\n branch_name: string;\r\n}\r\n\r\nexport interface SearchRequest {\r\n query: Array;\r\n bank: string;\r\n branch: string;\r\n isBilling?: boolean;\r\n username?: string;\r\n name?: string;\r\n\r\n}\r\n\r\nexport interface SearchClientResponse {\r\n clId: number;\r\n name: string;\r\n numcli: string;\r\n cni: string;\r\n bank: string;\r\n b_code: string;\r\n branch: string;\r\n branch_code: string;\r\n blackHis: string;\r\n}\r\n\r\nexport interface LoanSearchResponse {\r\n\r\n numdos: string;\r\n datacc: Date;\r\n mtpret: number;\r\n montrest: number;\r\n retard: number;\r\n valretard: number;\r\n motifdem: string;\r\n garantee: string;\r\n client: SearchClientResponse;\r\n color: string;\r\n}\r\n\r\nexport interface FinalSearchResult {\r\n\r\n loans: Array;\r\n exec_time: number;\r\n}\r\n\r\nexport interface PaymentResponse {\r\n chargeAmount: number;\r\n loan: LoanResponse\r\n}\r\n\r\nexport interface PaymentResponseWithFees {\r\n paymentListResponse: PaymentResponse[]\r\n totalFees: number\r\n payableAmount: number\r\n}\r\n\r\nexport interface LoanResponse {\r\n agccpt: string\r\nbqId: string\r\ndateacc: Date\r\ndatedem: string\r\ngarantie: string\r\nid: number\r\nmotifdem: string\r\nmtpret: number\r\nnbecht: number\r\nnbreche: number\r\nnomcli: string\r\nnumcli: string\r\nnumdos: string\r\nperiodic: string\r\n}\r\n\r\nexport class PaymentResponseToPrint {\r\n chargeAmount: number;\r\n agency: string\r\nloanDate: string\r\ngarantie: string\r\nloanMotif: string\r\nloanAmount: number\r\nclientName: string\r\nclientNumber: string\r\nperiodicity: String\r\n\r\n constructor(obj: PaymentResponse) {\r\n this.agency = obj.loan.agccpt\r\n this.loanDate = obj.loan.datedem\r\n this.clientName = obj.loan.nomcli\r\n this.clientNumber = obj.loan.numcli\r\n this.loanAmount = obj.loan.mtpret\r\n this.periodicity = obj.loan.periodic\r\n this.garantie = obj.loan.garantie\r\n this.loanMotif = obj.loan.motifdem\r\n this.chargeAmount = obj.chargeAmount\r\n }\r\n\r\n}\r\n\r\nexport class PaymentResponseToExcel {\r\n chargeAmount: number;\r\n agency: string\r\nbankId: string\r\naccountingDate: Date\r\nloanDate: string\r\ngarantie: string\r\nid: number\r\nloanMotif: string\r\nloanAmount: number\r\nclientName: string\r\nclientNumber: string\r\nfileNumber: string\r\nperiodicity: string\r\n\r\n constructor(obj: PaymentResponse) {\r\n this.chargeAmount = obj.chargeAmount\r\n this.agency = obj.loan.agccpt\r\n this.bankId = obj.loan.bqId\r\n this.accountingDate = obj.loan.dateacc\r\n this.loanDate = obj.loan.datedem\r\n this.garantie = obj.loan.garantie\r\n this.id = obj.loan.id\r\n this.loanMotif = obj.loan.motifdem\r\n this.loanAmount = obj.loan.mtpret\r\n this.clientName = obj.loan.nomcli\r\n this.clientNumber = obj.loan.numcli\r\n this.fileNumber = obj.loan.numdos\r\n this.periodicity = obj.loan.periodic\r\n }\r\n\r\n}\r\n\r\nexport interface BillingSummary {\r\n BANK: string;\r\n TOTAL_LOANS: number;\r\n CHARGE: number;\r\n START_DATE: Date;\r\n END_DATE: Date;\r\n}\r\n\r\nexport interface ChapterBillingSummary {\r\n chapter: string;\r\n bills: Array;\r\n totLoan: number;\r\n totFees: number;\r\n}\r\n\r\nexport interface logRequest {\r\n from: Date;\r\n to: Date;\r\n}\r\n\r\nexport interface logRequestUser {\r\n from: Date;\r\n to: Date;\r\n name : string;\r\n}\r\n\r\nexport interface AlertMessage {\r\n id: number;\r\n title: string;\r\n msg: string;\r\n state: boolean;\r\n createdAt: Date;\r\n}\r\n\r\nexport interface SubSituation {\r\n\r\n id: number;\r\n BQID: string;\r\n AGCCPT: string;\r\n numcli: string;\r\n nomcli: string;\r\n NUMDOS: string;\r\n DATEDEM: Date;\r\n MOTIFDEM: string;\r\n MTPRET: number;\r\n garantie: string;\r\n periodic: string;\r\n Datacc: Date;\r\n nbecht: number;\r\n income: number;\r\n cniclient: string;\r\n phone: string;\r\n name: string;\r\n bank_name: string;\r\n branch_name: string;\r\n}\r\n\r\nexport interface SearchReportRequest {\r\n query: Array;\r\n lsrs: Array;\r\n}\r\n\r\nexport interface Numero {\r\n id: number;\r\n num: string;\r\n code: string;\r\n msg: string;\r\n}\r\n\r\nexport interface NumeroReq {\r\n bNum: Array;\r\n cNum: Array;\r\n}\r\n\r\nexport interface PaymentMonthResponse {\r\n bqId: string;\r\n bankName: string;\r\n payMethod: string;\r\n amntDue: number;\r\n amntPaid: number;\r\n loanBal: string;\r\n payPhone: string;\r\n memName: string;\r\n memPhone: string;\r\n uId: number;\r\n periodStrt: Date;\r\n periodEnd: Date;\r\n datereg: Date;\r\n timereg: Date;\r\n}\r\n\r\nexport interface ChargesRequest {\r\n bqId: string\r\n monthYear: string\r\n}","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../auth.service';\nimport { Router } from '@angular/router';\nimport { User } from '../models';\n\n@Component({\n selector: 'app-nav',\n templateUrl: './nav.component.html',\n styleUrls: ['./nav.component.css']\n})\nexport class NavComponent implements OnInit {\n\n usr: User;\n\n constructor(private auth: AuthService, private router: Router) {\n this.initView();\n }\n\n\n ngOnInit(): void {\n\n }\n\n initView() {\n this.usr = {} as User;\n this.usr = this.auth.getUser();\n }\n\n onLogout() {\n this.auth.clearTokens();\n this.router.navigateByUrl('/login');\n }\n\n}\n","\n","import { HttpBackend, HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { MomoPayment, paymentObj } from './models';\n\nconst mobileUrl = 'https://momo.camcculapps.com/api/payment/';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentService {\n\n private _httpClient: HttpClient;\n\n constructor(handler: HttpBackend) { \n this._httpClient = new HttpClient(handler);\n }\n\n public payInitialDeposit(momo: MomoPayment): Observable {\n return this._httpClient.post(mobileUrl, JSON.stringify(momo), {\n headers: { 'Content-Type': 'application/json' }\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Printer {\r\n\r\n constructor(private auth: AuthService) {\r\n }\r\n\r\n /**\r\n * Open Base64 PDF File in new Tab\r\n * @param base64URL\r\n */\r\n public static print2(_base64Str: string, _contentType: string): void {\r\n const byte = Printer.base64ToArrayBuffer(_base64Str);\r\n const blob = new Blob([byte], { type: _contentType });\r\n window.open(URL.createObjectURL(blob), '_blank');\r\n }\r\n\r\n private static base64ToArrayBuffer(_base64Str) {\r\n const binaryString = window.atob(_base64Str);\r\n const binaryLen = binaryString.length;\r\n const bytes = new Uint8Array(binaryLen);\r\n for (let i = 0; i < binaryLen; i++) {\r\n const ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NavComponent } from './nav/nav.component';\nimport { SideNavComponent } from './side-nav/side-nav.component';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthInterceptor } from './auth-interceptor';\nimport { DataService } from './DataService';\nimport { AuthService } from './auth.service';\nimport { AuthGuard } from './auth.guard';\nimport { TrameUtilService } from './trame-util.service';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { Printer } from './printer.service';\nimport { UiSwitchModule } from 'ngx-ui-switch';\n\n\n@NgModule({\n declarations: [NavComponent, SideNavComponent],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n UiSwitchModule,\n ],\n providers: [\n DataService,\n AuthService,\n AuthGuard,\n TrameUtilService,\n Printer,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n }\n ],\n exports: [\n NavComponent, SideNavComponent\n ]\n})\nexport class SharedModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { User, MegaMenu } from '../models';\nimport { AuthService } from '../auth.service';\nimport { MenuServiceEn } from '../menu.en.service';\n\n@Component({\n selector: 'app-side-nav',\n templateUrl: './side-nav.component.html',\n styleUrls: ['./side-nav.component.css']\n})\nexport class SideNavComponent implements OnInit {\n items: Array;\n user: User;\n hpCode: string;\n profilImg: Array;\n\n constructor(private auth: AuthService, private _men: MenuServiceEn) {\n this.initView();\n }\n\n ngOnInit() {\n\n }\n initView() {\n this.items = new Array();\n try {\n this.user = this.auth.getUser();\n this.items = this._men.getMenuItems();\n\n if (this.user.roleId !== 1 && this.user.roleId !== 2) {\n if (!this.user.isLicenceActive) {\n this.items = [\n {\n \"value\": \"C00\",\n \"text\": \"Account\",\n \"icon\": \"feather icon-user\",\n \"children\": [\n {\n \"value\": \"C001\",\n \"path\": \"/account/change-pass\",\n \"text\": \"Change Password\"\n },\n {\n \"value\": \"C002\",\n \"path\": \"/account/payment\",\n \"text\": \"Payment\"\n }\n ]\n }\n ]\n }\n }\n\n } catch (error) {\n this.user = {} as User;\n }\n }\n\n /**\n * Check if user menu codes contains parsed code\n * @param code\n * @returns true | false\n */\n hasCode(code: string): boolean {\n if (!this.user.roles) {\n return false;\n }\n\n return this.user.roles.indexOf(code) !== -1 ? true : false;\n }\n\n}\n","","import { Injectable, Inject } from '@angular/core';\r\nimport { AES, enc, mode, pad } from 'crypto-js';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { InvokerService } from './invoker.service';\r\nimport { AuthService } from './auth.service';\r\nimport { ResponsePolicy, STATUS, APIResponse } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TrameUtilService {\r\n\r\n public SecuVal = 'ITABW';\r\n public separator = 'Þ';\r\n protected keykey = 'syjndkdhzo';\r\n private key: string;\r\n private decryptedString: string;\r\n private encryptedString: string;\r\n public InvokeKeyProvider: () => string;\r\n public version = '1';\r\n constructor(private authService: AuthService) {\r\n // this.authService.getUser();\r\n this.key = this.getKey();\r\n // console.log(this.key);\r\n }\r\n\r\n // Object Building\r\n public GetEntityFromTrame(trame: string): T {\r\n //console.log(trame);\r\n // const strArray: string[] = trame.split(this.separator);\r\n // return JSON.parse(strArray[1]) as T;\r\n return JSON.parse(trame) as T;\r\n }\r\n\r\n public GetResponse(trame: string): T {\r\n //console.log(trame);\r\n const resp = this.GetEntityFromTrame(this.decrypt(trame));\r\n return resp;\r\n }\r\n\r\n public GetTrameForCnx(code: string, pwd: string, mac: string, module: string) {\r\n const builder = this.version;\r\n builder.concat(this.separator);\r\n builder.concat(code);\r\n builder.concat(this.separator);\r\n builder.concat(pwd);\r\n builder.concat(this.separator);\r\n builder.concat(module);\r\n builder.concat(this.separator);\r\n builder.concat(mac);\r\n builder.concat(this.separator);\r\n builder.concat(this.SecuVal);\r\n return builder.toString();\r\n }\r\n\r\n public GetTrameForDecnx(code: string, mac: string) {\r\n const builder = this.version;\r\n builder.concat(this.separator);\r\n builder.concat(code);\r\n builder.concat(this.separator);\r\n builder.concat(this.SecuVal);\r\n builder.concat(this.separator);\r\n builder.concat(mac);\r\n return builder.toString();\r\n }\r\n\r\n public GetTrameForUpdatePass(cdutilis: string, newpass: string, mac: string) {\r\n const builder = this.version;\r\n builder.concat(this.separator);\r\n builder.concat(cdutilis);\r\n builder.concat(this.separator);\r\n builder.concat(newpass);\r\n builder.concat(this.separator);\r\n builder.concat(this.SecuVal);\r\n builder.concat(this.separator);\r\n builder.concat(mac);\r\n return builder.toString();\r\n }\r\n\r\n public GetTrameForUtilisGuichet(codage: string, mac: string) {\r\n const builder = this.version;\r\n builder.concat(this.separator);\r\n builder.concat(codage);\r\n builder.concat(this.separator);\r\n builder.concat(this.SecuVal);\r\n builder.concat(this.separator);\r\n builder.concat(mac);\r\n return builder.toString();\r\n }\r\n\r\n public GetTrameForId(id: string) {\r\n return (this.version + this.separator + id + this.separator + this.SecuVal);\r\n }\r\n\r\n public GetTrameForEntity(param: any) {\r\n let clt = JSON.stringify(param);\r\n clt = this.version + this.separator + clt + this.separator + this.SecuVal;\r\n // console.log(clt);\r\n return clt;\r\n }\r\n\r\n public GetTrameWithSecurity() {\r\n return this.version + this.separator + this.SecuVal;\r\n }\r\n\r\n public GetTrameForTable(table: string[]) {\r\n return this.version + this.separator + table.join(this.separator) + this.separator + this.SecuVal;\r\n }\r\n\r\n public encrypt(strToEncrypt: string): string {\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n const encrypted = CryptoJS.AES.encrypt(strToEncrypt, key, this.getCipherConfig());\r\n // const result = (cipherparams.ciphertext.toString());\r\n return this.base64ToHexString(CryptoJS.enc.Base64.stringify(encrypted.ciphertext));\r\n }\r\n\r\n public decrypt(strToDecrypt: string): string {\r\n try {\r\n const bytesToDecrypt = this.stringHexToBase64(strToDecrypt);\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n const bytes = CryptoJS.AES.decrypt(bytesToDecrypt, key, this.getCipherConfig());\r\n const decryptedData = bytes.toString(enc.Utf8);\r\n return decryptedData;\r\n\r\n } catch (err) {\r\n throw new Error('Error while decrypting: ' + err);\r\n }\r\n }\r\n\r\n private getCipherConfig(): {} {\r\n const key = CryptoJS.enc.Hex.parse(this.base64ToHexString(this.key));\r\n return {\r\n keySize: 128 / 32,\r\n iv: key,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n };\r\n }\r\n private stringHexToBase64(str: string): string {\r\n return btoa(str.match(/\\w{2}/g).map(function (a) {\r\n return String.fromCharCode(parseInt(a, 16));\r\n }).join(''));\r\n }\r\n\r\n private base64ToHexString(str: string): string {\r\n const raw = atob(str);\r\n let HEX = '';\r\n\r\n for (let i = 0; i < raw.length; i++) {\r\n const _hex = raw.charCodeAt(i).toString(16);\r\n HEX += (_hex.length === 2 ? _hex : '0' + _hex);\r\n }\r\n return HEX.toUpperCase();\r\n }\r\n\r\n _base64ToArrayBuffer(base64) {\r\n const binary_string = window.atob(base64);\r\n const len = binary_string.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n }\r\n\r\n //#region Key Management\r\n /**\r\n * Returns Key from local storage.\r\n * @return string | null\r\n */\r\n public getKey(): string {\r\n try {\r\n return this.authService.getUser().secuKey;\r\n } catch (error) {\r\n return null;\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest, HttpHeaders, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UploadFileService {\r\n\r\n public baseUrl = 'http://173.249.63.190:9999/CRMApi/users';\r\n // public baseUrl = 'http://localhost:9999/CRMApi/users';\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n upload(file: File): Observable> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', file);\r\n\r\n const req = new HttpRequest('POST', `${this.baseUrl}/upload`, formData, {\r\n reportProgress: true,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req);\r\n }\r\n\r\n// getFiles(): Observable {\r\n// return this.http.get(`${this.baseUrl}/files`);\r\n// }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"]}