{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","HttpConfigInterceptor","cookieService","request","next","tokenInfo","JSON","parse","localStorage","getItem","url","includes","headers","has","clone","set","location","protocol","host","token","cooval","get","undefined","length","replace","toString","console","log","handle","pipe","event","_angular_common_http__WEBPACK_IMPORTED_MODULE_2__","error","status","router","navigate","ngx_cookie_service__WEBPACK_IMPORTED_MODULE_0__","AppComponent","selector","template","AppModule","declarations","_app_component__WEBPACK_IMPORTED_MODULE_1__","_components_home_home_component__WEBPACK_IMPORTED_MODULE_4__","_components_header_header_component__WEBPACK_IMPORTED_MODULE_2__","_components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__","_components_dynamic_grid_dynamic_grid_component__WEBPACK_IMPORTED_MODULE_5__","_components_import_file_import_file_component__WEBPACK_IMPORTED_MODULE_6__","src_services_directives_drag_drop_directive__WEBPACK_IMPORTED_MODULE_14__","_components_contract_contract_component__WEBPACK_IMPORTED_MODULE_15__","_components_contract_detail_contract_detail_component__WEBPACK_IMPORTED_MODULE_16__","_components_reports_true_up_report_true_up_report_component__WEBPACK_IMPORTED_MODULE_19__","_components_reports_missing_purchase_missing_purchase_component__WEBPACK_IMPORTED_MODULE_21__","_components_reports_report_report_component__WEBPACK_IMPORTED_MODULE_23__","_components_reports_boardreport_boardreport_component__WEBPACK_IMPORTED_MODULE_25__","_components_login_login_component__WEBPACK_IMPORTED_MODULE_26__","_components_admin_userdetails_userdetails_component__WEBPACK_IMPORTED_MODULE_27__","_components_reports_performance_cust_performance_cust_component__WEBPACK_IMPORTED_MODULE_28__","_components_reports_master_list_master_list_component__WEBPACK_IMPORTED_MODULE_29__","_components_reports_expiring_contracts_expiring_contracts_component__WEBPACK_IMPORTED_MODULE_30__","src_services_formatamount_pipe__WEBPACK_IMPORTED_MODULE_32__","_components_reports_missing_status_reason_missing_status_reason_component__WEBPACK_IMPORTED_MODULE_33__","_components_reports_mpr_report_mpr_report_component__WEBPACK_IMPORTED_MODULE_34__","_components_reports_zero_purchase_zero_purchase_component__WEBPACK_IMPORTED_MODULE_35__","_components_admin_lookup_lookup_component__WEBPACK_IMPORTED_MODULE_36__","_components_admin_wd_email_wd_email_component__WEBPACK_IMPORTED_MODULE_37__","_components_admin_wdemail_mapping_wdemail_mapping_component__WEBPACK_IMPORTED_MODULE_38__","imports","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_41__","appId","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_42__","_angular_common_http__WEBPACK_IMPORTED_MODULE_43__","_angular_forms__WEBPACK_IMPORTED_MODULE_44__","primeng_accordion__WEBPACK_IMPORTED_MODULE_10__","ngx_toastr__WEBPACK_IMPORTED_MODULE_45__","timeOut","positionClass","preventDuplicates","closeButton","ngx_spinner__WEBPACK_IMPORTED_MODULE_46__","primeng_multiselect__WEBPACK_IMPORTED_MODULE_7__","primeng_table__WEBPACK_IMPORTED_MODULE_8__","primeng_dropdown__WEBPACK_IMPORTED_MODULE_9__","primeng_dialog__WEBPACK_IMPORTED_MODULE_18__","primeng_fileupload__WEBPACK_IMPORTED_MODULE_11__","primeng_tabview__WEBPACK_IMPORTED_MODULE_24__","primeng_autocomplete__WEBPACK_IMPORTED_MODULE_39__","_ng_select_ng_select__WEBPACK_IMPORTED_MODULE_47__","_angular_router__WEBPACK_IMPORTED_MODULE_48__","path","component","pathMatch","canActivate","_guards_auth_guard_model__WEBPACK_IMPORTED_MODULE_31__","relativeLinkResolution","providers","provide","useClass","_helpers_httpconfig_interceptor__WEBPACK_IMPORTED_MODULE_0__","multi","ngx_cookie_service__WEBPACK_IMPORTED_MODULE_12__","primeng_api__WEBPACK_IMPORTED_MODULE_13__","src_services_export_excel_model__WEBPACK_IMPORTED_MODULE_17__","src_services_contract_calculation__WEBPACK_IMPORTED_MODULE_20__","src_services_filterGridData__WEBPACK_IMPORTED_MODULE_22__","bootstrap","schemas","_angular_core__WEBPACK_IMPORTED_MODULE_40__","LookupComponent","contractPerfService","spinner","filetrGridData","toastr","fb","masterData","group","masterKey","_angular_forms__WEBPACK_IMPORTED_MODULE_4__","keyId","keyValue","value","disabled","MasterCols","field","header","is_show","isEditable","serialNo","GetMasterKey","GetLookUp","reset","setValue","lookUpKeyddr","show","getMasterValueByKey","subscribe","res","masterValues","hide","deleteLookUp","selectedLookUpId","success","displayDeleteLookUp","modelon","invalid","updateMaster","updateBtFlag","disable","getMasterKey","rowObject","rowData","type","enable","patchValue","filterObj","filterData","addNewFlag","addBtFlag","data","addMaster","_services_contract_perf_service__WEBPACK_IMPORTED_MODULE_2__","ngx_spinner__WEBPACK_IMPORTED_MODULE_5__","_services_filterGridData__WEBPACK_IMPORTED_MODULE_3__","ngx_toastr__WEBPACK_IMPORTED_MODULE_6__","UserdetailsComponent","userId","firstName","userName","lastName","emailId","isActive","roleId","modifiedBy","UserDetailCols","getUserRoleData","getUsers","getUserRole","userRole","response","userData","selectedemail","getUserDetail","userDetail","UserId","UserName","FirstName","LastName","Email","selectedRole","Number","saveUserDetail","warning","resetUserdetail","deleteUser","sessionStorage","toLowerCase","src_services_contract_perf_service__WEBPACK_IMPORTED_MODULE_2__","ngx_spinner__WEBPACK_IMPORTED_MODULE_4__","src_services_filterGridData__WEBPACK_IMPORTED_MODULE_3__","ngx_toastr__WEBPACK_IMPORTED_MODULE_5__","WdEmailComponent","WDEmailForm","GetWdEmails","getWdEmailList","deleteWDEmail","selectedWDEmailId","displayDeleteWDEmail","Id","addWDEmail","WDEmailMappingComponent","WDEmailMappingForm","WdId","EmailId","IsActive","GetWDLookUp","WDEmails","GetWdEmailMapping","wdid","getWdEmailMapping","mappingValue","email","parseInt","isNaN","invalidEmailFlag","addWDEmailMapping","WDOptions","getWDEmails","displayDeleteWDEmailMapping","selectedWDEmailMappingId","deleteWDEmailMapping","filtered","query","i","WDEmail","indexOf","push","filteredWDEmails","ContractDetailComponent","_exportExcel","contractCal","isEmailContract","isNotifyWD","contractId","emails","FormData","item","selected","country","name","getCurrentNavigation","extras","state","isCreateContract","isAdmin","getMasterTableData","getContractDetailData","getTodaysDate","getAuditlog","commentGridCol","salesCols","getAuditlogs","auditlogs","getMasterData","customerSegment","filter","masterkeyDataList","agreementType","paintBrand","paintLines","WD","contractStatus","contractStatusReason","contractType","province","contractEmail","payment","contractCategory","downLoadDocument","fileId","downloadCommentfile","fileExtension","fileName","arrayBuffer","base64ToArrayBuffer","fileData","createAndDownloadBlobFile","htmlContent","document","getElementById","html2canvas__WEBPACK_IMPORTED_MODULE_5___default","then","imgData","canvas","toDataURL","imgWidth","pageHeight","imgHeight","height","width","heightLeft","pdf","jspdf__WEBPACK_IMPORTED_MODULE_6__","position","addImage","addPage","attachPDF","output","uploadedPDF","formData","append","contractFormData","wdNotifyEmail","val","sendContractPDFEmail","enablePopUpEmail","base64","binaryString","window","atob","bytes","Uint8Array","map","byte","charCodeAt","body","filename","extension","blob","Blob","link","createElement","download","URL","createObjectURL","setAttribute","style","visibility","appendChild","click","removeChild","contractObj","mainShopPurchase","forEach","salesData","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Total","mainShopPurchaseAP","comments","comment","date","fileDetail","bindMainShopPurchase","bindMainShopPurchaseAP","bindCommentGridData","commentGridData","mprToData","mprPerCal","contractMPRBalance","Contract","FixedRebate","toFixed","AnnualFixedRebate","VariableRebate","MPR","commafy","PaymentFiles","getCreateContractDetailData","commentDocs","docs","obj","result","commentgridLength","docgrpId","fileDetails","dateString","Date","MSO","TrueUp","disableTrueUpPlusbt","PviTrueUp","disablePVITrueUpPlusbt","Payment","disablePaymentPlusbt","isContractEdit","wdHeader","selectedwdHeader","displayComment","commentfileCount","commentFileData","k","fileType","fileID","getBase64_new","formFile","nativeElement","index","file","fileBuffer","fileReader","FileReader","onload","readAsDataURL","fileComment","disableSubmit","MarketInvestment","AdditionalPayment","MPRToDate","saveContractData","ContractStatus","x","wdNotifyContract","cumCal","j","TrueUpAmt","TrueUpCumalative","String","PviTrueUpAmt","PviTrueUpCumalative","getSalesData","exportAsExcelFile","today","dd","getDate","padStart","mm","getMonth","yyyy","getFullYear","todayDate","ContractTerm","ValidFrom","calculateMPRtoDate","ActualPaintPurchase","MPRPer","calculateMPRPerCal","ContractMPRBalance","calculatecontractMPRBalance","ActualAPPurchase","Customer","CompanyName","ContractType","shortname","ContractDescription","amt","total","parseFloat","Math","round","SFAccountNumber","getSFAccountDetails","DBAAKA","City","Province","PaintBrand","PaintLine","Segment","Distribution","WDExternalRefID","SFNumber","DistributorName","contractNumber","getIdByContractNumber","getWdEmails","wdcontractEmail","keyvalue","paymentfileCount","paymentFileData","getPaymentBase64_new","paymentfileBuffer","_angular_router__WEBPACK_IMPORTED_MODULE_7__","ngx_toastr__WEBPACK_IMPORTED_MODULE_8__","ngx_spinner__WEBPACK_IMPORTED_MODULE_9__","src_services_export_excel_model__WEBPACK_IMPORTED_MODULE_3__","src_services_contract_calculation__WEBPACK_IMPORTED_MODULE_4__","_angular_core__WEBPACK_IMPORTED_MODULE_10__","args","ContractComponent","service","contractCalculation","getContractData","yearArray","getYear","selectedCols","defaultWidth","cols","getAllContractData","contractData","element","MPRReqToDate","ContractDuration","PerMPR","MPRActualTODate","marketInvestment","trunc","fixedRebate","annualFixedRebate","variableRebate","filteredData","displayExportSales","importFile","diaplayUpload","selectedRows","displayDeleteContract","selectedContractId","Contract_id","selectedYear","displayedSalesJson","originalValue","jsonObject","Object","assign","Modified","APTotal","APModified","jsonString","stringify","exportFileType","exportSalesRecords","displayedContractJson","FileUpload","deleteContact","ngx_toastr__WEBPACK_IMPORTED_MODULE_7__","_angular_router__WEBPACK_IMPORTED_MODULE_8__","src_services_export_excel_model__WEBPACK_IMPORTED_MODULE_4__","src_services_contract_calculation__WEBPACK_IMPORTED_MODULE_5__","src_services_filterGridData__WEBPACK_IMPORTED_MODULE_6__","_import_file_import_file_component__WEBPACK_IMPORTED_MODULE_3__","encapsulation","DynamicGridComponent","_service","_angular_core__WEBPACK_IMPORTED_MODULE_4__","gridCols","primeng_api__WEBPACK_IMPORTED_MODULE_3__","trim","emit","selectRow","documentRowData","sendSelectedRows","_angular_router__WEBPACK_IMPORTED_MODULE_5__","ngx_spinner__WEBPACK_IMPORTED_MODULE_6__","FooterComponent","HeaderComponent","serv","route","menuConfig","clickEventsubscription","getNavmenustatus","changeText","_environments_environment__WEBPACK_IMPORTED_MODULE_3__","open","_angular_router__WEBPACK_IMPORTED_MODULE_4__","HomeComponent","messageService","setNavmenustatus","ngx_toastr__WEBPACK_IMPORTED_MODULE_4__","_angular_core__WEBPACK_IMPORTED_MODULE_7__","ImportFileComponent","uploadFileType","displayUpload","filesize","fileobj","uploadedFiles","size","importExcelFile","DisplayFileUploadNotification","fileUploadMessage","removeFile","message","split","fileUploadStatus","LoginComponent","_appServ","toast","decryptedUser","queryParams","params","encryptedUser","loginUser","SAMLService","getDecryptedUserDetails","apiResp","setItem","verifyUserAuthorization","getSAMLService","href","userID","getUserInfo","userroleName","userNotFound","roleName","ngx_spinner__WEBPACK_IMPORTED_MODULE_3__","BoardreportComponent","id","dynamicMonth","boardReportGridCol","boardmonth","boardyear","selectedMonth","getCurrentMonthYear","selectedEndYear","selectedEndMonth","bindReportGrid","getBoardReport","boardReportData","TotalSales","BRJan","BRFeb","BRMar","BRApr","BRMay","BRJun","BRJul","BRAug","BRSep","BROct","BRNov","BRDec","mprReqToDate","UpfrontPayment","mprActualToDate","convertStringWithCommatoNumber","NumberOfMonths","exportBoardReport","src_services_contract_perf_service__WEBPACK_IMPORTED_MODULE_1__","src_services_export_excel_model__WEBPACK_IMPORTED_MODULE_2__","src_services_contract_calculation__WEBPACK_IMPORTED_MODULE_3__","src_services_filterGridData__WEBPACK_IMPORTED_MODULE_4__","ExpiringContractsComponent","key","getGridHeader","expiringContractYear","selectedQuarter","bindExpiringContractGrid","expiringContractGridCol","getExpiringContract","expiringContractGridData","MPRReqDt","upfrontPmt","ContDuration","ContBalanceMPR","VarRebate","MasterListComponent","getMissingPurchaseGridHeader","bindMissingPurchaseGrid","masterlistCol","getMasterReport","masterlistReportData","MasterJan","MasterFeb","MasterMar","MasterApr","MasterMay","MasterJun","MasterJul","MasterAug","MasterSep","MasterOct","MasterNov","MasterDec","MasterActualAPPurchase","MasterActualPaintPurchase","MasterAnnualFixedRebate","MasterContractBalanceMPR","MasterContractDuration","MasterFixedRebate","MasterMPR","MasterMPRPercentage","MasterMPRRequired","MasterMarketInvestment","MasterTotalSales","MasterTrueUp1","MasterTrueUp2","MasterTrueUp3","MasterTrueUp4","MasterTrueUp5","MasterVariableRebate","MasterAPTrueUpAmt","_angular_router__WEBPACK_IMPORTED_MODULE_6__","_services_contract_calculation__WEBPACK_IMPORTED_MODULE_4__","ngx_spinner__WEBPACK_IMPORTED_MODULE_7__","MissingPurchaseComponent","missingPurchaseCol","getMissingPurchaseReport","missingPurchaseReportData","MPJan","MPFeb","MPMar","MPApr","MPMay","MPJun","MPJul","MPAug","MPSep","MPOct","MPNov","MPDec","MPTotalSales","MissingStatusReasonComponent","getMissingStatusReasonGridHeader","missingStatusReasonContractGridCol","getMissingStatusReasonReport","missingStatusReasonContractGridData","MprReportComponent","getmprReportGridHeader","bindmprReportGrid","mprReportGridCol","getMPRReport","mprReportGridData","_services_export_excel_model__WEBPACK_IMPORTED_MODULE_3__","_services_filterGridData__WEBPACK_IMPORTED_MODULE_4__","_services_contract_calculation__WEBPACK_IMPORTED_MODULE_1__","PerformanceCustComponent","getCustomerPerGridHeader","customerPerHeader","contractperfData","getCustPerfReport","customerName","customerPerData","mprReqToDataAmt","shortFall","mprPer","shortfallPer","shortfallAmt","PerformanceDataJson","CustomerPurchase","YearData","AP","MI","yeardata","Year","Amount","CPJan","CPFeb","CPMar","CPApr","CPMay","CPJun","CPJul","CPAug","CPSep","CPOct","CPNov","CPDec","CPTotalSales","CPYear","Val2","Val3","exportPerformanceReport","ReportComponent","TrueUpReportComponent","trueupmonth","trueupyear","bindTrueUpGrid","trueUpGridCol","getTrueUpReport","trueUpReportData","ContractBalanceMPR","trueup_amount","trueup_cumulative","TrueUpPer","ZeroPurchaseComponent","zeroPurchaseReportGridCol","getZeroPurchaseReport","zeroPurchaseReportGridData","AuthGuard","isAuthSuccess","_angular_router__WEBPACK_IMPORTED_MODULE_0__","BaseUrl","environment","dashboardURL","production","env_name","importExcel","getAllContracts","importSalesExcel","getContractDetail","getMasterTable","saveContracts","sendEmailwdNotify","emailContractPDFData","getSAMLURL","decryptUserDetails","getUserDetails","saveUser","ContractPerfReport","getMissingContractStatusReasonReport","updateMasterData","addMasterData","addWdEmail","addWdEmailMapping","getBaseUrl","getElementsByTagName","useFactory","deps","_environments_environment__WEBPACK_IMPORTED_MODULE_1__","bootstrapModule","_app_app_module__WEBPACK_IMPORTED_MODULE_0__","err","ContractCalculation","mpr","contractTerm","validFrom","mprToDataAmt","parseValidFromDate","monthDiff","parsedFromDate","mprToDataVal","mprToDataMonth","validfrmDate","parsedDate","moment__WEBPACK_IMPORTED_MODULE_0__","format","d1","d2","startOf","diff","actualPaintPurchase","mprToDateVal","replaceAll","mprPercentval","num","str","join","checkString","onlyNmuber","test","ContractPerfService","_http","rxjs__WEBPACK_IMPORTED_MODULE_1__","excelFileData","post","_environments_environment__WEBPACK_IMPORTED_MODULE_0__","responseType","contractPdfData","ContractId","ContractData","Month","EYear","EMonth","Name","nav_menuSubject","asObservable","emailaddress","year","quarter","contract","accountNumber","masterDate","put","wdEmails","wdEmailMappingData","_angular_common_http__WEBPACK_IMPORTED_MODULE_3__","providedIn","DragDropDirective","_angular_core__WEBPACK_IMPORTED_MODULE_0__","evt","preventDefault","stopPropagation","background","opacity","files","dataTransfer","onFileDropped","EXCEL_TYPE","EXCEL_EXTENSION","MonthsValues","ExportExcel","json","excelFileName","sheetName","columnValues","json2","sheetName2","columnValues2","headerValues","displayedJson","numHeaders","json2keys","keys","headerValues2","newHead","head","workbook","xlsx__WEBPACK_IMPORTED_MODULE_1__","worksheet","origin","skipHeader","range","C","s","c","address","v","t","alignment","textRotation","font","bold","excelBuffer","bookType","saveAsExcelFile","month","emonth","eyear","dateJson","From","To","wb","ws","merge","r","worksheet2","startLength","displayedJson2","jsonString2","tempGridData","range2","D","address2","buffer","file_saver__WEBPACK_IMPORTED_MODULE_0__","FiletrGridData","gridData","filteredFields","ff","fieldName","foundField","fieldObj","temp","fd","toUpperCase","d","selectedMonthYear","FormatamountPipe","__webpack_exports__","webpackContext"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/_helpers/httpconfig.interceptor.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/components/admin/lookup/lookup.component.ts","webpack:///src/app/components/admin/userdetails/userdetails.component.ts","webpack:///src/app/components/admin/wd-email/wd-email.component.ts","webpack:///src/app/components/admin/wdemail-mapping/wdemail-mapping.component.ts","webpack:///src/app/components/contract-detail/contract-detail.component.ts","webpack:///src/app/components/contract/contract.component.ts","webpack:///src/app/components/dynamic-grid/dynamic-grid.component.ts","webpack:///src/app/components/footer/footer.component.ts","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/components/home/home.component.ts","webpack:///src/app/components/import-file/import-file.component.ts","webpack:///src/app/components/login/login.component.ts","webpack:///src/app/components/reports/boardreport/boardreport.component.ts","webpack:///src/app/components/reports/expiring-contracts/expiring-contracts.component.ts","webpack:///src/app/components/reports/master-list/master-list.component.ts","webpack:///src/app/components/reports/missing-purchase/missing-purchase.component.ts","webpack:///src/app/components/reports/missing-status-reason/missing-status-reason.component.ts","webpack:///src/app/components/reports/mpr-report/mpr-report.component.ts","webpack:///src/app/components/reports/performance-cust/performance-cust.component.ts","webpack:///src/app/components/reports/report/report.component.ts","webpack:///src/app/components/reports/true-up-report/true-up-report.component.ts","webpack:///src/app/components/reports/zero-purchase/zero-purchase.component.ts","webpack:///src/app/guards/auth-guard.model.ts","webpack:///src/environments/environment.qa.ts","webpack:///src/main.ts","webpack:///src/services/contract-calculation.ts","webpack:///src/services/contract-perf.service.ts","webpack:///src/services/directives/drag-drop.directive.ts","webpack:///src/services/export-excel.model.ts","webpack:///src/services/filterGridData.ts","webpack:///src/services/formatamount.pipe.ts","webpack:///src/app/app.component.html","webpack:///src/app/components/admin/lookup/lookup.component.html","webpack:///src/app/components/admin/userdetails/userdetails.component.html","webpack:///src/app/components/admin/wd-email/wd-email.component.html","webpack:///src/app/components/admin/wdemail-mapping/wdemail-mapping.component.html","webpack:///src/app/components/contract-detail/contract-detail.component.html","webpack:///src/app/components/contract/contract.component.html","webpack:///src/app/components/dynamic-grid/dynamic-grid.component.html","webpack:///src/app/components/footer/footer.component.html","webpack:///src/app/components/header/header.component.html","webpack:///src/app/components/home/home.component.html","webpack:///src/app/components/import-file/import-file.component.html","webpack:///src/app/components/login/login.component.html","webpack:///src/app/components/reports/boardreport/boardreport.component.html","webpack:///src/app/components/reports/expiring-contracts/expiring-contracts.component.html","webpack:///src/app/components/reports/master-list/master-list.component.html","webpack:///src/app/components/reports/missing-purchase/missing-purchase.component.html","webpack:///src/app/components/reports/missing-status-reason/missing-status-reason.component.html","webpack:///src/app/components/reports/mpr-report/mpr-report.component.html","webpack:///src/app/components/reports/performance-cust/performance-cust.component.html","webpack:///src/app/components/reports/report/report.component.html","webpack:///src/app/components/reports/true-up-report/true-up-report.component.html","webpack:///src/app/components/reports/zero-purchase/zero-purchase.component.html","webpack:///node_modules/moment/locale|sync|/^/.*$","webpack:///ignored|D:\\a\\1\\s\\src\\ContractPerformanceTracking\\ClientApp\\node_modules\\xlsx|crypto","webpack:///ignored|D:\\a\\1\\s\\src\\ContractPerformanceTracking\\ClientApp\\node_modules\\xlsx|fs","webpack:///ignored|D:\\a\\1\\s\\src\\ContractPerformanceTracking\\ClientApp\\node_modules\\xlsx|stream"],"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;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpResponse, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n@Injectable()\r\n\r\nexport class HttpConfigInterceptor implements HttpInterceptor {\r\n constructor(\r\n private cookieService: CookieService\r\n ) {}\r\n \r\n private router:Router \r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n let tokenInfo = JSON.parse(localStorage.getItem('TokenInfo'));\r\n if (!request.url.includes('add') && !request.url.includes('CreateContracts') && !request.url.includes('saveContract') && !request.url.includes('CreateSalesData') && !request.url.includes('emailContractPDF')) {\r\n if (!request.headers.has('Content-Type')) {\r\n request = request.clone({ headers: request.headers.set('Content-Type', 'application/json') });\r\n request = request.clone({ headers: request.headers.set('Accept', 'application/json') });\r\n request = request.clone({ headers: request.headers.set('Cache-Control', 'no-cache') });\r\n request = request.clone({ headers: request.headers.set('Pragma', 'no-cache') });\r\n request = request.clone({ headers: request.headers.set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT') });\r\n request = request.clone({ headers: request.headers.set('If-Modified-Since', '0') });\r\n }\r\n request = request.clone({ headers: request.headers.set('Access-Control-Allow-Origin', location.protocol + '//' + location.host) });\r\n }\r\n if(tokenInfo!=null)\r\n request = request.clone({ headers: request.headers.set('Authorization', `Bearer ${tokenInfo.token}`) });\r\n\r\n let cooval=this.cookieService.get(\"Authorizarion\");\r\n if(cooval!=\"\" && cooval!=null && cooval!=undefined && cooval.length>0)\r\n { \r\n request = request.clone({ headers: request.headers.set('Authorization', cooval.replace(\"Bearer \",\"\").toString()) });\r\n }\r\n console.log(\"Before making api call : \", request);\r\n return next.handle(request).pipe(\r\n tap(\r\n event => {\r\n if (event instanceof HttpResponse) {\r\n console.log(\"api call success :\", event);\r\n }\r\n },\r\n error => {\r\n if (error instanceof HttpErrorResponse) {\r\n console.log(\"api call error :\", error);\r\n console.log(\"api call error status:\", error.status);\r\n if (error.status == 401) {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n },\r\n\r\n )\r\n );\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpConfigInterceptor } from './_helpers/httpconfig.interceptor';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { DynamicGridComponent } from './components/dynamic-grid/dynamic-grid.component';\r\nimport { ImportFileComponent } from './components/import-file/import-file.component';\r\n\r\n\r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { TableModule } from 'primeng/table';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { MessageService } from 'primeng/api';\r\nimport { DragDropDirective } from 'src/services/directives/drag-drop.directive';\r\nimport { ContractComponent } from './components/contract/contract.component';\r\nimport { ContractDetailComponent } from './components/contract-detail/contract-detail.component';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { DialogModule } from \"primeng/dialog\";\r\nimport { TrueUpReportComponent } from './components/reports/true-up-report/true-up-report.component';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { MissingPurchaseComponent } from './components/reports/missing-purchase/missing-purchase.component';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { ReportComponent } from './components/reports/report/report.component';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { BoardreportComponent } from './components/reports/boardreport/boardreport.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { UserdetailsComponent } from './components/admin/userdetails/userdetails.component';\r\nimport { PerformanceCustComponent } from './components/reports/performance-cust/performance-cust.component';\r\nimport { MasterListComponent } from './components/reports/master-list/master-list.component';\r\nimport { ExpiringContractsComponent } from './components/reports/expiring-contracts/expiring-contracts.component';\r\nimport { AuthGuard } from './guards/auth-guard.model';\r\nimport { FormatamountPipe } from 'src/services/formatamount.pipe';\r\nimport { MissingStatusReasonComponent } from './components/reports/missing-status-reason/missing-status-reason.component';\r\nimport { MprReportComponent } from './components/reports/mpr-report/mpr-report.component';\r\nimport { ZeroPurchaseComponent } from './components/reports/zero-purchase/zero-purchase.component';\r\nimport { LookupComponent } from './components/admin/lookup/lookup.component';\r\nimport { WdEmailComponent } from './components/admin/wd-email/wd-email.component';\r\nimport { WDEmailMappingComponent } from './components/admin/wdemail-mapping/wdemail-mapping.component';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n DynamicGridComponent,\r\n ImportFileComponent,\r\n DragDropDirective,\r\n ContractComponent,\r\n ContractDetailComponent,\r\n TrueUpReportComponent,\r\n MissingPurchaseComponent,\r\n ReportComponent,\r\n BoardreportComponent,\r\n LoginComponent,\r\n UserdetailsComponent,\r\n PerformanceCustComponent,\r\n MasterListComponent,\r\n ExpiringContractsComponent,\r\n FormatamountPipe,\r\n MissingStatusReasonComponent,\r\n MprReportComponent,\r\n ZeroPurchaseComponent,\r\n LookupComponent,\r\n WdEmailComponent,\r\n WDEmailMappingComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n AccordionModule,\r\n ToastrModule.forRoot({\r\n timeOut: 5000,\r\n positionClass: 'toast-top-right',\r\n preventDuplicates: true,\r\n closeButton: true\r\n }),\r\n ToastrModule,\r\n NgxSpinnerModule,\r\n MultiSelectModule,\r\n TableModule,\r\n DropdownModule,\r\n DialogModule,\r\n FileUploadModule,\r\n TabViewModule,\r\n ReactiveFormsModule,\r\n\r\n AutoCompleteModule,\r\n NgSelectModule,\r\n\r\n RouterModule.forRoot([\r\n { path: '', component: LoginComponent, pathMatch: 'full' },\r\n { path: 'Login', component: LoginComponent },\r\n { path: 'Home', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'home', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'Contracts', component: ContractComponent, canActivate: [AuthGuard] },\r\n { path: 'Contracts/contracts-details', component: ContractDetailComponent, canActivate: [AuthGuard] },\r\n { path: 'Reports', component: ReportComponent, canActivate: [AuthGuard] },\r\n { path: 'trueUpReport', component: TrueUpReportComponent, canActivate: [AuthGuard] },\r\n { path: 'missingPurchaseReport', component: MissingPurchaseComponent, canActivate: [AuthGuard] },\r\n { path: 'Admin', component: UserdetailsComponent, canActivate: [AuthGuard] },\r\n { path: 'masterreport', component: MasterListComponent, canActivate: [AuthGuard] },\r\n { path: 'Lookup', component: LookupComponent, canActivate: [AuthGuard] },\r\n { path: 'Wdemail', component: WdEmailComponent, canActivate: [AuthGuard] },\r\n { path: 'WdemailMapping', component: WDEmailMappingComponent, canActivate: [AuthGuard] }\r\n ], { relativeLinkResolution: 'legacy' })\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true },\r\n CookieService,\r\n MessageService,\r\n ExportExcel,\r\n ContractCalculation,\r\n FiletrGridData,\r\n AuthGuard\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ContractPerfService } from '../../../../services/contract-perf.service';\r\nimport { FiletrGridData } from '../../../../services/filterGridData';\r\n\r\n\r\n@Component({\r\n selector: 'app-lookup',\r\n templateUrl: './lookup.component.html',\r\n styleUrls: ['./lookup.component.css']\r\n})\r\n\r\nexport class LookupComponent implements OnInit {\r\n masterKey: any;\r\n lookUpKeyddr: string = 'Agreement Type';\r\n masterValues: any;\r\n MasterCols: any;\r\n masterData: FormGroup;\r\n addNewFlag: boolean = false;\r\n updateBtFlag: boolean = true;\r\n displayDeleteLookUp = false;\r\n modelon = false;\r\n selectedLookUpId: any;\r\n addBtFlag: boolean = false;\r\n constructor(private contractPerfService: ContractPerfService, private spinner: NgxSpinnerService, private filetrGridData: FiletrGridData, private toastr: ToastrService, private fb: FormBuilder) {\r\n this.masterData = fb.group({\r\n masterKey: new FormControl('', Validators.required),\r\n keyId: new FormControl(0, Validators.required),\r\n keyValue: new FormControl({ value: '', disabled: true }, Validators.required)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.MasterCols = [\r\n { field: 'masterKey', header: 'Master ID', is_show: true, isEditable: false, serialNo: 1 },\r\n { field: 'keyId', header: 'Master Key ID', is_show: true, isEditable: false, serialNo: 2 },\r\n { field: 'keyValue', header: 'Value', is_show: true, isEditable: true, serialNo: 3 },\r\n ]\r\n this.GetMasterKey();\r\n this.GetLookUp();\r\n }\r\n\r\n GetLookUp() {\r\n this.masterData.reset();\r\n this.masterData.get('keyId').setValue(0);\r\n if (this.lookUpKeyddr) {\r\n this.spinner.show();\r\n this.contractPerfService.getMasterValueByKey(this.lookUpKeyddr).subscribe(res => {\r\n if (res) {\r\n this.masterValues = res;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n }\r\n\r\n deleteLookUp() {\r\n this.spinner.show();\r\n this.contractPerfService.deleteLookUp(this.selectedLookUpId).subscribe(\r\n response => {\r\n this.spinner.hide();\r\n this.toastr.success(\"LookUp deleted succesfully.\")\r\n this.displayDeleteLookUp = false;\r\n this.modelon = false;\r\n this.GetLookUp();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n this.displayDeleteLookUp = false;\r\n this.modelon = false;\r\n });\r\n }\r\n\r\n closeConfirmationpopUp() {\r\n this.displayDeleteLookUp = false;\r\n this.modelon = false;\r\n }\r\n\r\n UpdateLookUp() {\r\n if (!this.masterData.invalid) {\r\n this.spinner.show();\r\n this.contractPerfService.updateMaster(this.masterData.value).subscribe(res => {\r\n if (res) {\r\n this.toastr.success(\"Updated Successfully!\");\r\n this.GetLookUp();\r\n this.spinner.hide();\r\n this.updateBtFlag = true;\r\n this.masterData.get('keyValue').setValue('');\r\n this.masterData.get('keyValue').disable();\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n GetMasterKey() {\r\n this.contractPerfService.getMasterKey().subscribe(res => {\r\n if (res) {\r\n this.masterKey = res;\r\n }\r\n });\r\n }\r\n onSelectRow(rowObject) {\r\n\r\n let rowData = rowObject;\r\n if (rowData.type == 'deleteLookUp') {\r\n this.displayDeleteLookUp = true;\r\n this.modelon = true;\r\n this.selectedLookUpId = rowData.rowData.masterKey;\r\n }\r\n else if (rowData.type == 'view') {\r\n this.updateBtFlag = false;\r\n this.masterData.get('keyValue').enable();\r\n this.masterData.patchValue(rowData.rowData);\r\n }\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.masterValues);\r\n }\r\n\r\n AddNew() {\r\n this.addNewFlag = true;\r\n this.masterValues = null;\r\n this.masterData.get('keyValue').enable();\r\n this.masterData.get('keyValue').setValue('');\r\n }\r\n\r\n Cancel() {\r\n this.addNewFlag = false;\r\n this.masterData.get('keyValue').reset();\r\n this.GetLookUp();\r\n this.masterData.get('keyValue').disable();\r\n this.updateBtFlag = true;\r\n this.addBtFlag = false;\r\n }\r\n\r\n AddLookUp() {\r\n if (!this.lookUpKeyddr || this.masterData.get('keyValue').value == '' || !this.masterData.get('keyValue').value) {\r\n this.addBtFlag = true;\r\n return;\r\n }\r\n\r\n let data = {\r\n keyValue: this.masterData.get('keyValue').value,\r\n masterKey: this.lookUpKeyddr\r\n };\r\n this.spinner.show();\r\n this.contractPerfService.addMaster(data).subscribe(res => {\r\n if (res) {\r\n this.toastr.success(\"Added Successfully!\");\r\n this.GetLookUp();\r\n this.spinner.hide();\r\n this.addNewFlag = false;\r\n this.masterData.get('keyValue').disable();\r\n this.addBtFlag = false;\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserDetail } from 'src/app/interfaces/userDetail';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\n\r\n@Component({\r\n selector: 'app-userdetails',\r\n templateUrl: './userdetails.component.html',\r\n styleUrls: ['./userdetails.component.css']\r\n})\r\nexport class UserdetailsComponent {\r\n\r\n userRole: any;\r\n selectedRole: number = 1;\r\n selectedemail: string\r\n userDetail: UserDetail = {\r\n userId: 0,\r\n firstName: \"\",\r\n userName: \"\",\r\n lastName: \"\",\r\n emailId: \"\",\r\n isActive: true,\r\n roleId: 1,\r\n modifiedBy: \"1\"\r\n };\r\n userData: any;\r\n UserDetailCols: any;\r\n\r\n constructor(private contractPerfService: ContractPerfService, private spinner: NgxSpinnerService, private filetrGridData: FiletrGridData, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.UserDetailCols = [\r\n { field: 'firstName', header: 'First Name', is_show: true, isEditable: false, serialNo: 1 },\r\n { field: 'lastName', header: 'Last Name', is_show: true, isEditable: true, serialNo: 2 },\r\n { field: 'userName', header: 'UserName', is_show: true, isEditable: false, serialNo: 3 },\r\n { field: 'emailId', header: 'Email', is_show: true, isEditable: false, serialNo: 4 },\r\n { field: 'roleName', header: 'User Role', is_show: true, isEditable: false, serialNo: 5 }\r\n ]\r\n this.getUserRoleData();\r\n this.getUsers();\r\n }\r\n getUserRoleData() {\r\n this.contractPerfService.getUserRole().subscribe(\r\n response => {\r\n this.userRole = response;\r\n },\r\n error => {\r\n this.toastr.error(\"Error Occurred\")\r\n });\r\n }\r\n\r\n getUsers() {\r\n this.contractPerfService.getUsers().subscribe(\r\n response => {\r\n this.userData = response;\r\n },\r\n error => {\r\n this.toastr.error(\"Error Occurred\")\r\n });\r\n\r\n }\r\n\r\n GetUserDetails() {\r\n \r\n if(this.selectedemail != '' && this.selectedemail != undefined)\r\n {\r\n this.spinner.show();\r\n this.contractPerfService.getUserDetail(this.selectedemail).subscribe(\r\n response => {\r\n \r\n this.userDetail.userId = response.UserId;\r\n this.userDetail.userName = response.UserName;\r\n this.userDetail.firstName = response.FirstName;\r\n this.userDetail.lastName = response.LastName;\r\n this.userDetail.emailId = response.Email;\r\n this.userDetail.roleId = this.selectedRole;\r\n this.userDetail.isActive = true;\r\n this.userDetail.modifiedBy = \"1\";\r\n this.spinner.hide()\r\n },\r\n error => {\r\n this.toastr.error(\"Error Occurred\")\r\n this.spinner.hide()\r\n });\r\n }\r\n else{\r\n this.toastr.error(\"Please select valid email address\")\r\n }\r\n \r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.userData);\r\n }\r\n\r\n RegisterUser() {\r\n this.spinner.show();\r\n this.userDetail.roleId = Number(this.selectedRole);\r\n this.contractPerfService.saveUserDetail(this.userDetail).subscribe(\r\n response => {\r\n \r\n this.spinner.hide();\r\n if(response == \"User Already exist\")\r\n {\r\n this.toastr.warning(\"User already Exist.\")\r\n }\r\n else\r\n {\r\n this.toastr.success(\"User added successfully\")\r\n this.getUsers();\r\n this.resetUserdetail();\r\n } \r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n });\r\n }\r\n\r\n \r\n onSelectRow(rowObject) {\r\n \r\n let rowData = rowObject;\r\n if(rowData.type == 'delete')\r\n {\r\n this.deleteUser(rowData.rowData.userId,rowData.rowData.userName)\r\n }\r\n }\r\n\r\n resetUserdetail(){\r\n this.userDetail.userId = 0;\r\n this.userDetail.firstName = \"\";\r\n this.userDetail.lastName = \"\";\r\n this.userDetail.userName = \"\";\r\n this.userDetail.emailId = \"\";\r\n this.userDetail.roleId = 1;\r\n this.selectedemail = \"\";\r\n }\r\n \r\n\r\n deleteUser(userId,userName)\r\n {\r\n if(sessionStorage.getItem('userId').toLowerCase() != userName.toLowerCase())\r\n {\r\n this.spinner.show();\r\n this.contractPerfService.deleteUser(userId).subscribe(\r\n response => {\r\n \r\n this.spinner.hide();\r\n this.toastr.success(\"User deleted successfully\")\r\n this.getUsers();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n });\r\n }\r\n\r\n else{\r\n this.toastr.error(\"User can not delete itself\")\r\n }\r\n \r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from '../../../../services/contract-perf.service';\r\nimport { FiletrGridData } from '../../../../services/filterGridData';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-wd-email',\r\n templateUrl: './wd-email.component.html',\r\n styleUrls: ['./wd-email.component.css']\r\n})\r\nexport class WdEmailComponent implements OnInit {\r\n masterKey: any;\r\n lookUpKeyddr: string = 'Agreement Type';\r\n masterValues: any;\r\n MasterCols: any;\r\n WDEmailForm: FormGroup;\r\n addNewFlag: boolean = false;\r\n addBtFlag: boolean = false;\r\n displayDeleteWDEmail = false;\r\n modelon = false;\r\n selectedWDEmailId: any;\r\n constructor(private contractPerfService: ContractPerfService, private spinner: NgxSpinnerService, private filetrGridData: FiletrGridData, private toastr: ToastrService, private fb: FormBuilder) {\r\n this.WDEmailForm = fb.group({\r\n Email: ['', Validators.required]\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.MasterCols = [\r\n { field: 'Id', header: 'ID', is_show: true, isEditable: false, serialNo: 1 },\r\n { field: 'Email', header: 'Email', is_show: true, isEditable: false, serialNo: 2 },\r\n { field: 'IsActive', header: 'IsActive', is_show: true, isEditable: false, serialNo: 3 },\r\n ]\r\n this.GetWdEmails();\r\n }\r\n\r\n GetWdEmails() {\r\n this.spinner.show();\r\n this.contractPerfService.getWdEmailList().subscribe(res => {\r\n if (res) {\r\n this.masterValues = res;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n deleteWDEmail() {\r\n this.spinner.show();\r\n this.contractPerfService.deleteWDEmail(this.selectedWDEmailId).subscribe(\r\n response => {\r\n this.spinner.hide();\r\n this.toastr.success(\"WDEmail deleted succesfully.\")\r\n this.displayDeleteWDEmail = false;\r\n this.modelon = false;\r\n this.GetWdEmails();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n this.displayDeleteWDEmail = false;\r\n this.modelon = false;\r\n });\r\n }\r\n\r\n closeConfirmationpopUp() {\r\n this.displayDeleteWDEmail = false;\r\n this.modelon = false;\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let rowData = rowObject;\r\n if (rowData.type == 'delete') {\r\n this.displayDeleteWDEmail = true;\r\n this.modelon = true;\r\n this.selectedWDEmailId = rowData.rowData.Id;\r\n }\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.masterValues);\r\n }\r\n\r\n AddWDEmail() {\r\n if (this.WDEmailForm.invalid) {\r\n this.addBtFlag = true;\r\n return;\r\n }\r\n this.spinner.show();\r\n this.contractPerfService.addWDEmail(this.WDEmailForm.value).subscribe(res => {\r\n if (res) {\r\n this.WDEmailForm.get('Email').setValue('');\r\n this.toastr.success(\"Updated Successfully!\");\r\n this.GetWdEmails();\r\n this.spinner.hide();\r\n this.addBtFlag = false;\r\n }\r\n });\r\n }\r\n\r\n Clear() {\r\n this.WDEmailForm.get('Email').setValue('');\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from '../../../../services/contract-perf.service';\r\nimport { FiletrGridData } from '../../../../services/filterGridData';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\ninterface AutoCompleteCompleteEvent {\r\n originalEvent: Event;\r\n query: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-wdemail-mapping',\r\n templateUrl: './wdemail-mapping.component.html',\r\n styleUrls: ['./wdemail-mapping.component.css']\r\n})\r\nexport class WDEmailMappingComponent implements OnInit {\r\n masterKey: any;\r\n mappingValue: any;\r\n MasterCols: any;\r\n WDEmailMappingForm: FormGroup;\r\n addNewFlag: boolean = false;\r\n addBtFlag: boolean = false;\r\n\r\n invalidEmailFlag: boolean = false;\r\n\r\n displayDeleteWDEmailMapping = false;\r\n modelon = false;\r\n selectedWDEmailMappingId: any;\r\n WDOptions: any;\r\n WDEmails: any[] | undefined;\r\n filteredWDEmails: any[] | undefined;\r\n constructor(private contractPerfService: ContractPerfService, private spinner: NgxSpinnerService, private filetrGridData: FiletrGridData, private toastr: ToastrService, private fb: FormBuilder) {\r\n this.WDEmailMappingForm = fb.group({\r\n Id: [0],\r\n WdId: ['', Validators.required],\r\n EmailId: ['', Validators.required],\r\n IsActive: [true]\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.MasterCols = [\r\n { field: 'Id', header: 'ID', is_show: true, isEditable: false, serialNo: 1 },\r\n { field: 'WD', header: 'WD', is_show: true, isEditable: false, serialNo: 2 },\r\n { field: 'Email', header: 'Email', is_show: true, isEditable: false, serialNo: 3 },\r\n { field: 'IsActive', header: 'IsActive', is_show: true, isEditable: false, serialNo: 4 },\r\n ];\r\n this.GetWDLookUp();\r\n }\r\n\r\n getWDEmails() {\r\n this.contractPerfService.getWdEmailList().subscribe(res => {\r\n this.WDEmails = res;\r\n });\r\n }\r\n\r\n getWDEmailMappingData() {\r\n this.GetWdEmailMapping();\r\n }\r\n\r\n GetWdEmailMapping() {\r\n this.spinner.show();\r\n let wdid = this.WDEmailMappingForm.get('WdId').value == '' ? 1 : this.WDEmailMappingForm.get('WdId').value;\r\n this.contractPerfService.getWdEmailMapping(wdid).subscribe(res => {\r\n if (res) {\r\n this.mappingValue = res;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n AddWDEmailMapping() {\r\n if (this.WDEmailMappingForm.invalid) {\r\n this.addBtFlag = true;\r\n return;\r\n }\r\n let email = this.WDEmailMappingForm.get('EmailId').value;\r\n let data = this.WDEmailMappingForm.value;\r\n data.EmailId = parseInt(email.Id);\r\n data.WdId = parseInt(data.WdId);\r\n\r\n if (isNaN(data.EmailId)) {\r\n this.addBtFlag = false;\r\n this.invalidEmailFlag = true;\r\n return;\r\n }\r\n\r\n this.spinner.show();\r\n this.contractPerfService.addWDEmailMapping(data).subscribe(res => {\r\n if (res) {\r\n if (res == \"false\") {\r\n this.toastr.success(\"EmailID already added with WD.\");\r\n this.spinner.hide();\r\n } else {\r\n this.toastr.success(\"Added succesfully.\");\r\n this.GetWdEmailMapping();\r\n this.spinner.hide();\r\n this.WDEmailMappingForm.get('EmailId').setValue('');\r\n }\r\n this.addBtFlag = false;\r\n\r\n this.invalidEmailFlag = false;\r\n\r\n } \r\n });\r\n }\r\n\r\n Clear() {\r\n this.WDEmailMappingForm.get('EmailId').setValue('');\r\n }\r\n\r\n GetWDLookUp() {\r\n this.spinner.show();\r\n this.contractPerfService.getMasterValueByKey('WD').subscribe(res => {\r\n if (res) {\r\n this.WDOptions = res;\r\n this.WDEmailMappingForm.get('WdId').setValue(1);\r\n this.getWDEmails();\r\n this.GetWdEmailMapping();\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let rowData = rowObject;\r\n if (rowData.type == 'delete') {\r\n this.displayDeleteWDEmailMapping = true;\r\n this.modelon = true;\r\n this.selectedWDEmailMappingId = rowData.rowData.Id;\r\n }\r\n }\r\n\r\n deleteWDEmailMapping() {\r\n this.spinner.show();\r\n this.contractPerfService.deleteWDEmailMapping(this.selectedWDEmailMappingId).subscribe(\r\n response => {\r\n this.spinner.hide();\r\n this.toastr.success(\"Deleted succesfully.\")\r\n this.displayDeleteWDEmailMapping = false;\r\n this.modelon = false;\r\n this.GetWdEmailMapping();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n this.displayDeleteWDEmailMapping = false;\r\n this.modelon = false;\r\n });\r\n }\r\n\r\n closeConfirmationpopUp() {\r\n this.displayDeleteWDEmailMapping = false;\r\n this.modelon = false;\r\n }\r\n\r\n filterWDEmails(event: AutoCompleteCompleteEvent) {\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n\r\n for (let i = 0; i < (this.WDEmails as any[]).length; i++) {\r\n let WDEmail = (this.WDEmails as any[])[i];\r\n if (WDEmail.Email.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(WDEmail);\r\n }\r\n }\r\n\r\n this.filteredWDEmails = filtered;\r\n }\r\n\r\n}\r\n","import { Component, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Contractobj } from '../../interfaces/contractobj';\r\nimport { Master } from 'src/app/interfaces/master';\r\n\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { WdNotifyEmail } from '../../interfaces/wdNotifyEmail';\r\nimport { CommentGridDocs } from 'src/app/interfaces/CommentGridDocs';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport html2canvas from 'html2canvas'\r\nimport { jsPDF } from 'jspdf'\r\n\r\n@Component({\r\n selector: 'app-contract-detail',\r\n templateUrl: './contract-detail.component.html',\r\n styleUrls: ['./contract-detail.component.css']\r\n})\r\nexport class ContractDetailComponent {\r\n contractNumber: string;\r\n contractObj: Contractobj;\r\n contractId: number = 0;\r\n masterData: any;\r\n customerSegment: Master[];\r\n agreementType: Master[];\r\n paintBrand: Master[];\r\n paintLines: Master[];\r\n WD: Master[];\r\n contractStatus: Master[];\r\n contractStatusReason: Master[];\r\n contractType: Master[];\r\n province: Master[];\r\n payment: Master[];\r\n isCreateContract: boolean = false;\r\n isContractEdit: boolean = true;\r\n mprToDataAmt: any;\r\n mprToDataMonth: any;\r\n mprToDataVal: any;\r\n todayDate: any;\r\n parsedFromDate: any;\r\n mprPercentval: any;\r\n contractCategory: Master[];\r\n\r\n paymentfileCount: number = 0;\r\n paymentFileName: string[];\r\n paymentFileData: File[];\r\n paymentfileBuffer: any;\r\n\r\n displayComment: boolean = false;\r\n commentfileCount: number = 0;\r\n commentFileName: string[];\r\n commentFileData: File[];\r\n fileComment: string = \"\";\r\n fileBuffer: any;\r\n commentGridCol: any[]\r\n commentGridData: CommentGridDocs[] = [\r\n {\r\n \"comment\": \"\",\r\n \"date\": \"\",\r\n \"docgrpId\": \"\",\r\n \"fileDetails\": [\r\n {\r\n \"fileName\": \"\",\r\n \"fileId\": 0\r\n }\r\n ]\r\n }\r\n ];\r\n disableSubmit: boolean = false;\r\n salesData: any;\r\n salesCols: any[];\r\n contractEmail: Master[];\r\n wdcontractEmail: [];\r\n wdHeader: any;\r\n selectedwdHeader: any;\r\n isNotifyWD: boolean = false;\r\n isEmailContract: boolean = false;\r\n enablePopUpEmail: boolean = this.isEmailContract || this.isNotifyWD\r\n wdNotifyEmail: WdNotifyEmail = { contractId: 0, emails: [], status: '' }\r\n contractFormData: FormData = new FormData();\r\n isAdmin: boolean = false;\r\n auditlogs: any;\r\n @ViewChild('formFile', { static: false }) formFile: ElementRef;\r\n disablePaymentPlusbt: boolean = false;\r\n disableTrueUpPlusbt: boolean = false;\r\n disablePVITrueUpPlusbt: boolean = false;\r\n\r\n constructor(private contractPerfService: ContractPerfService, private router: Router, private toastr: ToastrService, private spinner: NgxSpinnerService, private _exportExcel: ExportExcel, private contractCal: ContractCalculation) {\r\n\r\n if (this.router.getCurrentNavigation().extras.state != undefined) {\r\n console.log(this.router.getCurrentNavigation().extras.state.contractId);\r\n this.contractId = this.router.getCurrentNavigation().extras.state.contractId\r\n\r\n }\r\n if (this.contractId > 0) {\r\n this.isCreateContract = true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.getItem('roleName') !== 'undefined') {\r\n this.isAdmin = sessionStorage.getItem('roleName') == 'Admin' ? true : false\r\n }\r\n this.getMasterTableData();\r\n this.getContractDetailData();\r\n this.getTodaysDate();\r\n this.getAuditlog();\r\n this.GetWdEmails();\r\n this.commentGridCol = [\r\n { field: 'date', header: 'Date', is_show: true, isEditable: false, serialNo: 1 },\r\n { field: 'comment', header: 'Comment', is_show: true, isEditable: true, serialNo: 2 },\r\n { field: 'fileName', header: 'Document', is_show: true, isEditable: false, serialNo: 3 }\r\n ]\r\n this.salesCols = [\r\n { header: 'Record ID#' },\r\n { header: 'Year' },\r\n { header: 'Salesforce Contract ID' },\r\n { header: 'Contract Status' },\r\n { header: 'Contract Status Reason' },\r\n { header: 'External Reference' },\r\n //{ header: 'MSO' },\r\n //{ header: 'MSO - External Reference' },\r\n { header: 'SF Acct. #' },\r\n { header: 'Company Name_Sales Record' },\r\n { header: 'Valid From' },\r\n { header: 'Valid To' },\r\n //{ header: 'Distributor Company Name' },\r\n { header: 'WD' },\r\n { header: 'Jan' },\r\n { header: 'Feb' },\r\n { header: 'Mar' },\r\n { header: 'Apr' },\r\n { header: 'May' },\r\n { header: 'Jun' },\r\n { header: 'Jul' },\r\n { header: 'Aug' },\r\n { header: 'Sep' },\r\n { header: 'Oct' },\r\n { header: 'Nov' },\r\n { header: 'Dec' },\r\n { header: 'Sales Total' },\r\n { header: 'Modified Date' },\r\n { header: 'Jan_AP' },\r\n { header: 'Feb_AP' },\r\n { header: 'Mar_AP' },\r\n { header: 'Apr_AP' },\r\n { header: 'May_AP' },\r\n { header: 'Jun_AP' },\r\n { header: 'Jul_AP' },\r\n { header: 'Aug_AP' },\r\n { header: 'Sep_AP' },\r\n { header: 'Oct_AP' },\r\n { header: 'Nov_AP' },\r\n { header: 'Dec_AP' },\r\n { header: 'AP Total' },\r\n { header: 'AP Modified Date' }\r\n ]\r\n\r\n }\r\n\r\n getAuditlog() {\r\n if (this.contractId > 0) {\r\n this.contractPerfService.getAuditlogs(this.contractId).subscribe(\r\n response => {\r\n\r\n this.auditlogs = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n }\r\n\r\n getMasterTableData() {\r\n this.contractPerfService.getMasterData().subscribe(\r\n response => {\r\n\r\n this.masterData = response;\r\n this.customerSegment = this.masterData.filter(i => i.masterKey.includes(\"Customer Segment\"))[0].masterkeyDataList;\r\n this.agreementType = this.masterData.filter(i => i.masterKey.includes(\"Agreement Type\"))[0].masterkeyDataList;\r\n this.paintBrand = this.masterData.filter(i => i.masterKey.includes(\"Paint Brand\"))[0].masterkeyDataList;\r\n this.paintLines = this.masterData.filter(i => i.masterKey.includes(\"Paint Lines\"))[0].masterkeyDataList;\r\n this.WD = this.masterData.filter(i => i.masterKey.includes(\"WD\"))[0].masterkeyDataList;\r\n this.contractStatus = this.masterData.filter(i => i.masterKey.includes(\"Contract Status\"))[0].masterkeyDataList;\r\n this.contractStatusReason = this.masterData.filter(i => i.masterKey.includes(\"Contract Status Reason\"))[0].masterkeyDataList;\r\n this.contractType = this.masterData.filter(i => i.masterKey.includes(\"Contract Type\"))[0].masterkeyDataList;\r\n this.province = this.masterData.filter(i => i.masterKey.includes(\"Province\"))[0].masterkeyDataList;\r\n this.contractEmail = this.masterData.filter(i => i.masterKey.includes(\"Email\"))[0].masterkeyDataList;\r\n this.payment = this.masterData.filter(i => i.masterKey.includes(\"Payment Method\"))[0].masterkeyDataList;\r\n this.contractCategory = this.masterData.filter(i => i.masterKey.includes(\"Contract Category\"))[0].masterkeyDataList;\r\n\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n //Start Comment document download\r\n onSelectRow(rowObject) {\r\n\r\n let rowData = rowObject;\r\n this.downLoadDocument(rowData.rowData.fileId)\r\n\r\n }\r\n\r\n downLoadDocument(fileId: number) {\r\n this.contractPerfService.downloadCommentfile(fileId).subscribe(\r\n response => {\r\n const data = response;\r\n let fileExtension = \"xlsx\";\r\n if (response.fileName.includes(\".docx\")) {\r\n fileExtension = \"docx\";\r\n }\r\n else if (response.fileName.includes(\".pdf\")) {\r\n fileExtension = \"pdf\";\r\n }\r\n const arrayBuffer = this.base64ToArrayBuffer(data.fileData);\r\n this.createAndDownloadBlobFile(arrayBuffer, response.fileName, fileExtension);\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n ExportPDF() {\r\n let htmlContent = document.getElementById('exportdiv');\r\n\r\n html2canvas(htmlContent).then(canvas => {\r\n let imgData = canvas.toDataURL('image/png');\r\n let imgWidth = 210;\r\n let pageHeight = 295;\r\n let imgHeight = canvas.height * imgWidth / canvas.width;\r\n let heightLeft = imgHeight;\r\n let pdf = new jsPDF('p', 'mm');\r\n let position = 0;\r\n\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n pdf.addPage();\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n let attachPDF: any;\r\n attachPDF = pdf.output('blob');\r\n let uploadedPDF = attachPDF;\r\n const formData: FormData = new FormData();\r\n formData.append('file', uploadedPDF, \"ContractPDF\");\r\n this.contractFormData = formData;\r\n if (this.wdNotifyEmail.emails.length > 0) {\r\n this.spinner.show();\r\n let emails: string = '';\r\n for (let val of this.wdNotifyEmail.emails) {\r\n emails += val + \",\";\r\n }\r\n this.contractPerfService.sendContractPDFEmail(formData, this.contractId, emails).subscribe(\r\n response => {\r\n\r\n this.spinner.hide();\r\n this.toastr.success('mail sent Successfully');\r\n this.isEmailContract = false;\r\n this.enablePopUpEmail = false;\r\n }, error => {\r\n\r\n this.spinner.hide();\r\n this.toastr.error('Error in sending email');\r\n this.isEmailContract = false;\r\n this.enablePopUpEmail = false;\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n base64ToArrayBuffer(base64: string) {\r\n const binaryString = window.atob(base64); // Comment this if not using base64\r\n const bytes = new Uint8Array(binaryString.length);\r\n return bytes.map((byte, i) => binaryString.charCodeAt(i));\r\n }\r\n createAndDownloadBlobFile(body, filename, extension) {\r\n const blob = new Blob([body]);\r\n const fileName = `${filename}`;\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n }\r\n\r\n //End Comment document download\r\n\r\n bindMainShopPurchase() {\r\n this.contractObj.mainShopPurchase.forEach(res => {\r\n res.salesData.Jan = (res.salesData.Jan != '' ? res.salesData.Jan.replace(',', '.') : '');\r\n res.salesData.Feb = (res.salesData.Feb != '' ? res.salesData.Feb.replace(',', '.') : '');\r\n res.salesData.Mar = (res.salesData.Mar != '' ? res.salesData.Mar.replace(',', '.') : '');\r\n res.salesData.Apr = (res.salesData.Apr != '' ? res.salesData.Apr.replace(',', '.') : '');\r\n res.salesData.May = (res.salesData.May != '' ? res.salesData.May.replace(',', '.') : '');\r\n res.salesData.Jun = (res.salesData.Jun != '' ? res.salesData.Jun.replace(',', '.') : '');\r\n res.salesData.Jul = (res.salesData.Jul != '' ? res.salesData.Jul.replace(',', '.') : '');\r\n res.salesData.Aug = (res.salesData.Aug != '' ? res.salesData.Aug.replace(',', '.') : '');\r\n res.salesData.Sep = (res.salesData.Sep != '' ? res.salesData.Sep.replace(',', '.') : '');\r\n res.salesData.Oct = (res.salesData.Oct != '' ? res.salesData.Oct.replace(',', '.') : '');\r\n res.salesData.Nov = (res.salesData.Nov != '' ? res.salesData.Nov.replace(',', '.') : '');\r\n res.salesData.Dec = (res.salesData.Dec != '' ? res.salesData.Dec.replace(',', '.') : '');\r\n res.salesData.Total = (res.salesData.Total != '' ? res.salesData.Total.replace(',', '.') : '');\r\n });\r\n }\r\n\r\n bindMainShopPurchaseAP() {\r\n this.contractObj.mainShopPurchaseAP.forEach(res => {\r\n res.salesData.Jan = (res.salesData.Jan != '' ? res.salesData.Jan.replace(',', '.') : '');\r\n res.salesData.Feb = (res.salesData.Feb != '' ? res.salesData.Feb.replace(',', '.') : '');\r\n res.salesData.Mar = (res.salesData.Mar != '' ? res.salesData.Mar.replace(',', '.') : '');\r\n res.salesData.Apr = (res.salesData.Apr != '' ? res.salesData.Apr.replace(',', '.') : '');\r\n res.salesData.May = (res.salesData.May != '' ? res.salesData.May.replace(',', '.') : '');\r\n res.salesData.Jun = (res.salesData.Jun != '' ? res.salesData.Jun.replace(',', '.') : '');\r\n res.salesData.Jul = (res.salesData.Jul != '' ? res.salesData.Jul.replace(',', '.') : '');\r\n res.salesData.Aug = (res.salesData.Aug != '' ? res.salesData.Aug.replace(',', '.') : '');\r\n res.salesData.Sep = (res.salesData.Sep != '' ? res.salesData.Sep.replace(',', '.') : '');\r\n res.salesData.Oct = (res.salesData.Oct != '' ? res.salesData.Oct.replace(',', '.') : '');\r\n res.salesData.Nov = (res.salesData.Nov != '' ? res.salesData.Nov.replace(',', '.') : '');\r\n res.salesData.Dec = (res.salesData.Dec != '' ? res.salesData.Dec.replace(',', '.') : '');\r\n res.salesData.Total = (res.salesData.Total != '' ? res.salesData.Total.replace(',', '.') : '');\r\n });\r\n }\r\n\r\n getContractDetailData() {\r\n if (this.contractId > 0) {\r\n this.spinner.show();\r\n this.contractPerfService.getContractDetailData(this.contractId).subscribe(\r\n response => {\r\n\r\n this.contractObj = response;\r\n this.contractObj.comments = {\r\n comment: \"\",\r\n date: \"\",\r\n fileDetail: []\r\n }\r\n this.bindMainShopPurchase();\r\n this.bindMainShopPurchaseAP();\r\n this.bindCommentGridData(this.contractObj.commentGridData);\r\n this.mprToData();\r\n this.mprPerCal();\r\n this.contractMPRBalance();\r\n this.contractObj.Contract.FixedRebate = Number(this.contractObj.Contract.FixedRebate).toFixed(2);\r\n this.contractObj.Contract.AnnualFixedRebate = Number(this.contractObj.Contract.AnnualFixedRebate).toFixed(2);\r\n this.contractObj.Contract.VariableRebate = Number(this.contractObj.Contract.VariableRebate).toFixed(2);\r\n this.contractObj.Contract.MPR = Number(this.contractObj.Contract.MPR).toFixed(2);\r\n this.contractObj.Contract.MPR = this.contractCal.commafy(this.contractObj.Contract.MPR);\r\n this.contractObj.PaymentFiles = { fileDetail: [] }\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n else {\r\n this.contractPerfService.getCreateContractDetailData().subscribe(\r\n response => {\r\n\r\n this.contractObj = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n }\r\n\r\n bindCommentGridData(commentDocs) {\r\n\r\n for (let docs of commentDocs) {\r\n let obj = docs;\r\n let result = -1;\r\n let commentgridLength = 0;\r\n result = this.commentGridData.map(e => e.docgrpId).indexOf(obj[\"docgrpId\"]);\r\n if (result >= 0) {\r\n this.commentGridData[result].fileDetails.push({\r\n \"fileId\": obj[\"fileId\"],\r\n \"fileName\": obj[\"fileName\"]\r\n })\r\n }\r\n else {\r\n commentgridLength = this.commentGridData[commentgridLength].docgrpId == \"\" ? 0 : this.commentGridData.length;\r\n if (commentgridLength == 0) {\r\n this.commentGridData[commentgridLength].docgrpId = obj[\"docgrpId\"];\r\n this.commentGridData[commentgridLength].date = obj[\"date\"];\r\n this.commentGridData[commentgridLength].comment = obj[\"comment\"]\r\n this.commentGridData[commentgridLength].fileDetails[0].fileId = obj[\"fileId\"]\r\n this.commentGridData[commentgridLength].fileDetails[0].fileName = obj[\"fileName\"]\r\n }\r\n else {\r\n this.commentGridData.push(\r\n {\r\n \"docgrpId\": obj[\"docgrpId\"],\r\n \"date\": obj[\"date\"],\r\n \"comment\": obj[\"comment\"],\r\n \"fileDetails\": [{\r\n \"fileId\": obj[\"fileId\"],\r\n \"fileName\": obj[\"fileName\"]\r\n }]\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n parseDate(dateString: string): Date {\r\n if (dateString) {\r\n return new Date(dateString);\r\n }\r\n return null;\r\n }\r\n\r\n resetMSO(e) {\r\n this.contractObj.MSO = [];\r\n }\r\n\r\n AddMSO(e) {\r\n\r\n if (this.contractObj.MSO.length <= 29) {\r\n this.contractObj.MSO.push({\r\n \"RelatedMSOCustId\": \"\",\r\n \"RelatedMSOCustCRMId\": \"\",\r\n \"RelatedMSOCustomer\": \"\",\r\n \"RelatedMSOCustomerWDId\": \"\",\r\n \"CRM_Id_MSO\": 0,\r\n \"Customer_Id_MSO\": 0\r\n })\r\n }\r\n else {\r\n console.log(\"disabled\")\r\n }\r\n\r\n }\r\n\r\n AddtrueUp(e) {\r\n if (this.contractObj.TrueUp.length <= 9) {\r\n this.contractObj.TrueUp.push({\r\n \"TrueUpDate\": \"\",\r\n \"TrueUpAmt\": \"\",\r\n \"TrueUpCumalative\": \"\",\r\n \"APTrueUpAmt\": \"\",\r\n \"APTrueUpDate\": \"\",\r\n \"TrueUpId\": 0\r\n })\r\n }\r\n else {\r\n this.disableTrueUpPlusbt = true;\r\n console.log(\"disabled\")\r\n }\r\n }\r\n\r\n AddPVItrueUp(e) {\r\n if (this.contractObj.PviTrueUp.length <= 9) {\r\n this.contractObj.PviTrueUp.push({\r\n \"PviTrueUpDate\": \"\",\r\n \"PviTrueUpAmt\": \"\",\r\n \"PviTrueUpCumalative\": \"\",\r\n \"PVI_TrueUpAmt\": \"\",\r\n \"PVI_TrueUpDate\": \"\",\r\n \"PviTrueUpId\": 0\r\n })\r\n }\r\n else {\r\n this.disablePVITrueUpPlusbt = true;\r\n console.log(\"disabled\")\r\n }\r\n }\r\n\r\n AddPayment(e) {\r\n if (this.contractObj.Payment.length <= 9) {\r\n this.contractObj.Payment.push({\r\n \"paymentDate\": \"\",\r\n \"reimbursementAmount\": \"\",\r\n \"paymentMethodID\": \"\",\r\n \"debitNoteDate\": \"\",\r\n \"paymentId\": 0\r\n })\r\n }\r\n else {\r\n this.disablePaymentPlusbt = true;\r\n console.log(\"disabled\")\r\n }\r\n }\r\n\r\n editContract() {\r\n this.isContractEdit = false;\r\n }\r\n\r\n notifyWD() {\r\n this.wdHeader = this.selectedwdHeader;\r\n this.isNotifyWD = true;\r\n this.isEmailContract = false;\r\n this.enablePopUpEmail = this.isEmailContract || this.isNotifyWD\r\n this.wdNotifyEmail.emails = []\r\n }\r\n\r\n emailContract() {\r\n this.wdHeader = \"\";\r\n this.isEmailContract = true;\r\n this.isNotifyWD = false;\r\n this.enablePopUpEmail = this.isEmailContract || this.isNotifyWD\r\n this.wdNotifyEmail.emails = []\r\n }\r\n\r\n displayCommentdialog() {\r\n this.displayComment = true;\r\n }\r\n\r\n //Start File Upload\r\n commentfileUpload(event) {\r\n\r\n\r\n this.commentfileCount = event.length;\r\n if (this.commentfileCount <= 3) {\r\n this.commentFileData = event;\r\n for (let k = 0; k < this.commentfileCount; k++) {\r\n this.contractObj.comments.fileDetail.push(\r\n {\r\n fileName: \"\",\r\n fileType: \"\",\r\n fileID: 0,\r\n fileData: \"\"\r\n }\r\n )\r\n }\r\n\r\n for (let i = 0; i < this.commentfileCount; i++) {\r\n this.getBase64_new(i, this.commentFileData[i], this.commentFileData[i].type, this.commentFileData[i].name);\r\n }\r\n }\r\n else {\r\n this.formFile.nativeElement.value = null;\r\n this.contractObj.comments.fileDetail = [];\r\n this.commentFileData = [];\r\n this.toastr.warning(\"Max of three files allowed, Please upload 3 files only at a time.\")\r\n }\r\n\r\n }\r\n\r\n getBase64_new(index, file, fileType, name) {\r\n this.fileBuffer = \"\";\r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n this.fileBuffer = fileReader.result;\r\n this.fileBuffer = this.fileBuffer.replace(`data:${fileType};base64,`, '');\r\n this.contractObj.comments.fileDetail[index].fileData = this.fileBuffer;\r\n this.contractObj.comments.fileDetail[index].fileName = name;\r\n this.contractObj.comments.fileDetail[index].fileType = fileType;\r\n }\r\n fileReader.readAsDataURL(file);\r\n }\r\n\r\n\r\n // End file Upload\r\n\r\n SubmitContractData() {\r\n this.spinner.show();\r\n this.contractObj.comments.comment = this.fileComment;\r\n this.disableSubmit = true;\r\n this.contractObj.Contract.MPR = this.contractObj.Contract.MPR ? this.contractObj.Contract.MPR.replace(/[,\\s]+|[,\\s]+/g, \"\") : '0';\r\n this.contractObj.Contract.MarketInvestment = this.contractObj.Contract.MarketInvestment ? this.contractObj.Contract.MarketInvestment.replace(/[,\\s]+|[,\\s]+/g, \"\") : '0';\r\n this.contractObj.Contract.AdditionalPayment = this.contractObj.Contract.AdditionalPayment ? this.contractObj.Contract.AdditionalPayment.replace(/[,\\s]+|[,\\s]+/g, \"\") : '0';\r\n this.contractObj.Contract.MPRToDate = this.contractObj.Contract.MPRToDate ? Number(this.contractObj.Contract.MPRToDate.toString().replace(/[,\\s]+|[,\\s]+/g, \"\")) : 0;\r\n\r\n this.contractPerfService.saveContractData(this.contractObj, this.contractId).subscribe(\r\n response => {\r\n\r\n this.spinner.hide();\r\n this.disableSubmit = false;\r\n this.toastr.success(response);\r\n this.router.navigate(['Contracts']);\r\n },\r\n error => {\r\n\r\n this.disableSubmit = false;\r\n this.spinner.hide();\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n SendEmail() {\r\n\r\n this.spinner.show();\r\n this.wdNotifyEmail.contractId = this.contractId;\r\n this.wdNotifyEmail.status = this.contractObj.Contract.ContractStatus;\r\n //this.wdcontractEmail.forEach((res:any) => {\r\n // this.wdNotifyEmail.emails.push(res.email);\r\n //});\r\n this.wdNotifyEmail.emails = this.wdNotifyEmail.emails.filter((x: any) => x.email).map((e: any) => e.email);\r\n if (this.wdNotifyEmail.emails.length > 0) {\r\n this.contractPerfService.wdNotifyContract(this.wdNotifyEmail).subscribe(\r\n response => {\r\n this.spinner.hide();\r\n this.toastr.success(response);\r\n this.isNotifyWD = false;\r\n this.enablePopUpEmail = false;\r\n },\r\n error => {\r\n\r\n this.spinner.hide();\r\n this.isNotifyWD = false;\r\n this.toastr.error('Error Occurred when sending mail');\r\n this.enablePopUpEmail = false;\r\n }\r\n );\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n\r\n\r\n calculateTrueUpCum(index) {\r\n\r\n let cumCal = 0;\r\n for (let j = 0; j < 10; j++) {\r\n cumCal += Number(this.contractObj.TrueUp[j].TrueUpAmt.replace(/[,\\s]+|[,\\s]+/g, \"\"));\r\n this.contractObj.TrueUp[j].TrueUpCumalative = String(cumCal);\r\n }\r\n\r\n }\r\n\r\n calculatePviTrueUpCum(index) {\r\n\r\n let cumCal = 0;\r\n for (let j = 0; j < 10; j++) {\r\n cumCal += Number(this.contractObj.PviTrueUp[j].PviTrueUpAmt.replace(/[,\\s]+|[,\\s]+/g, \"\"));\r\n this.contractObj.PviTrueUp[j].PviTrueUpCumalative = String(cumCal);\r\n }\r\n\r\n }\r\n\r\n extractSalesData() {\r\n\r\n if (this.contractId > 0) {\r\n this.spinner.show();\r\n this.contractPerfService.getSalesData(this.contractId, 0).subscribe(\r\n response => {\r\n this.salesData = response;\r\n this.spinner.hide();\r\n this._exportExcel.exportAsExcelFile(this.salesData, `SalesData_${new Date()}`, 'sheet1', this.salesCols)\r\n if (this.salesData.length <= 0) {\r\n this.toastr.error('No Sales Data found');\r\n }\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n }\r\n\r\n getTodaysDate() {\r\n\r\n let today = new Date();\r\n let dd = String(today.getDate()).padStart(2, '0');\r\n let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n let yyyy = today.getFullYear();\r\n this.todayDate = mm + '/' + dd + '/' + yyyy;\r\n }\r\n\r\n\r\n\r\n mprToData() {\r\n if (Number(this.contractObj.Contract.MarketInvestment) >= 0 && Number(this.contractObj.Contract.ContractTerm) > 0 && this.contractObj.Contract.ValidFrom != \"\") {\r\n this.contractObj.Contract.MPRToDate = this.contractCal.calculateMPRtoDate(this.contractObj.Contract.MPR, this.contractObj.Contract.ContractTerm, this.contractObj.Contract.ValidFrom, this.todayDate, this.contractId, this.isContractEdit)\r\n this.mprPerCal();\r\n }\r\n this.contractObj.Contract.MarketInvestment = this.contractCal.commafy(Number(this.contractObj.Contract.MarketInvestment.replace(/[,\\s]+|[,\\s]+/g, \"\")).toFixed(2));\r\n this.contractObj.Contract.AdditionalPayment = this.contractCal.commafy(this.contractObj.Contract.AdditionalPayment);\r\n }\r\n\r\n mprPerCal() {\r\n if (Number(this.contractObj.Contract.ActualPaintPurchase) > 0) {\r\n this.contractObj.Contract.MPRPer = this.contractCal.calculateMPRPerCal(this.contractObj.Contract.ActualPaintPurchase, this.contractObj.Contract.MPRToDate)\r\n this.contractObj.Contract.MPRToDate = this.contractCal.commafy(this.contractObj.Contract.MPRToDate);\r\n\r\n }\r\n\r\n }\r\n\r\n contractMPRBalance() {\r\n this.contractObj.Contract.ContractMPRBalance = this.contractCal.calculatecontractMPRBalance(this.contractObj.Contract.MPR, this.contractObj.Contract.ActualPaintPurchase)\r\n\r\n this.contractObj.Contract.ContractMPRBalance = this.contractCal.commafy(this.contractObj.Contract.ContractMPRBalance);\r\n this.contractObj.Contract.ActualPaintPurchase = this.contractCal.commafy(this.contractObj.Contract.ActualPaintPurchase);\r\n this.contractObj.Contract.ActualAPPurchase = this.contractCal.commafy(this.contractObj.Contract.ActualAPPurchase);\r\n }\r\n\r\n bindContractDescription() {\r\n if (this.contractObj.Customer.CompanyName != \"\" && this.contractObj.Contract.ContractType != \"0\" && this.contractObj.Contract.ContractType != undefined) {\r\n const type = this.contractType.filter(i => i.keyId == parseInt(this.contractObj.Contract.ContractType))[0].keyValue;\r\n let shortname;\r\n if (type == 'Prepaid') {\r\n shortname = 'PP';\r\n } else if (type == 'Periodic - Monthly') {\r\n shortname = 'PM';\r\n } else if (type == 'Periodic - Quarterly') {\r\n shortname = 'PQ';\r\n } else if (type == 'Periodic - Semi Annually') {\r\n shortname = 'PSA';\r\n } else if (type == 'Periodic - Annually') {\r\n shortname = 'PA';\r\n } else if (type == 'Prepaid & Periodic') {\r\n shortname = 'PPP';\r\n }\r\n this.contractObj.Contract.ContractDescription = \"Contract - \" + shortname + \" - \" + this.contractObj.Customer.CompanyName;\r\n }\r\n }\r\n\r\n totalCalculation(amt: any, index: number) {\r\n let total = (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Jan) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Feb) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Mar) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.May) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Apr) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Jun) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Jul) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Aug) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Sep) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Oct) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Nov) || 0) +\r\n (parseFloat(this.contractObj.mainShopPurchase[index].salesData.Dec) || 0);\r\n this.contractObj.mainShopPurchase[index].salesData.Total = Math.round(total).toFixed(2).toString();\r\n console.log(amt + '-' + total);\r\n }\r\n\r\n bindCustomerDetails() {\r\n if (this.contractObj.Customer.SFAccountNumber != '' && this.contractObj.Customer.SFAccountNumber != undefined) {\r\n this.contractPerfService.getSFAccountDetails(this.contractObj.Customer.SFAccountNumber).subscribe((response) => {\r\n this.contractObj.Customer.CompanyName = response['CustomerName'];\r\n this.contractObj.Customer.DBAAKA = response['DBAAKA'];\r\n this.contractObj.Customer.City = response['BillingCity'];\r\n this.contractObj.Customer.Province = response['BillingState'];\r\n this.contractObj.Customer.PaintBrand = response['PaintBrand'];\r\n this.contractObj.Customer.PaintLine = response['PaintLine'];\r\n this.contractObj.Customer.Segment = response['Segment'];\r\n this.contractObj.Distribution.WDExternalRefID = response['ExternalReference'];\r\n this.contractObj.Distribution.WD = response['WD'];\r\n this.contractObj.Distribution.SFNumber = response['SalesForuceDistributerNumber'];\r\n this.contractObj.Distribution.DistributorName = response['DistributerName'];\r\n this.contractObj.Distribution.City = response['City'];\r\n this.contractObj.Distribution.Province = response['State'];\r\n })\r\n }\r\n }\r\n\r\n GoToContract() {\r\n this.wdHeader = \"\";\r\n this.selectedwdHeader = \"\";\r\n if (this.contractNumber != '' && this.contractNumber != undefined) {\r\n this.contractPerfService.getIdByContractNumber(parseInt(this.contractNumber)).subscribe((response) => {\r\n this.contractId = response['contractId'];\r\n this.getContractDetailData();\r\n this.getAuditlog();\r\n this.GetWdEmails();\r\n })\r\n }\r\n }\r\n\r\n GetWdEmails() {\r\n if (this.contractId > 0) {\r\n this.contractPerfService.getWdEmails(this.contractId).subscribe(\r\n response => {\r\n this.wdcontractEmail = response;\r\n if (response && response.length > 0) {\r\n this.wdHeader = response[0].keyvalue;\r\n this.selectedwdHeader = response[0].keyvalue;\r\n }\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n }\r\n\r\n compareAccounts = (item, selected) => {\r\n if (selected.country && item.country) {\r\n return item.country === selected.country;\r\n }\r\n if (item.name && selected.name) {\r\n return item.name === selected.name;\r\n }\r\n return false;\r\n };\r\n\r\n //Start File Upload\r\n paymentfileUpload(event) {\r\n\r\n\r\n this.paymentfileCount = event.length;\r\n if (this.paymentfileCount <= 3) {\r\n this.paymentFileData = event;\r\n for (let k = 0; k < this.paymentfileCount; k++) {\r\n this.contractObj.PaymentFiles.fileDetail.push(\r\n {\r\n fileName: \"\",\r\n fileType: \"\",\r\n fileID: 0,\r\n fileData: \"\"\r\n }\r\n )\r\n }\r\n\r\n for (let i = 0; i < this.paymentfileCount; i++) {\r\n this.getPaymentBase64_new(i, this.paymentFileData[i], this.paymentFileData[i].type, this.paymentFileData[i].name);\r\n }\r\n }\r\n else {\r\n this.formFile.nativeElement.value = null;\r\n this.contractObj.PaymentFiles.fileDetail = [];\r\n this.paymentFileData = [];\r\n this.toastr.warning(\"Max of three files allowed, Please upload 3 files only at a time.\")\r\n }\r\n\r\n }\r\n\r\n getPaymentBase64_new(index, file, fileType, name) {\r\n this.paymentfileBuffer = \"\";\r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n this.paymentfileBuffer = fileReader.result;\r\n this.paymentfileBuffer = this.paymentfileBuffer.replace(`data:${fileType};base64,`, '');\r\n this.contractObj.PaymentFiles.fileDetail[index].fileData = this.paymentfileBuffer;\r\n this.contractObj.PaymentFiles.fileDetail[index].fileName = name;\r\n this.contractObj.PaymentFiles.fileDetail[index].fileType = fileType;\r\n }\r\n fileReader.readAsDataURL(file);\r\n }\r\n\r\n\r\n}\r\n","import { Component, ViewEncapsulation, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ImportFileComponent } from '../import-file/import-file.component';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\n\r\n\r\n@Component({\r\n selector: 'app-contract',\r\n templateUrl: './contract.component.html',\r\n styleUrls: ['./contract.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ContractComponent {\r\n displayExportSales = false;\r\n displayDeleteContract = false;\r\n modelon = false;\r\n selectedContractId: any;\r\n defaultWidth: '100%';\r\n selectedCols: any[];\r\n contractData: any;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n cols: any[];\r\n selectedRows = [];\r\n exportFileType: string;\r\n salesData: any;\r\n salesCols: any[];\r\n todayDate: any;\r\n isAdmin: boolean = false;\r\n yearArray = [];\r\n selectedYear = ''; \r\n @ViewChild(ImportFileComponent, { static: false }) private importFile: ImportFileComponent;\r\n\r\n constructor(private service: ContractPerfService, private toastr: ToastrService, private router: Router, private spinner: NgxSpinnerService, private _exportExcel: ExportExcel, private contractCalculation: ContractCalculation, private filetrGridData: FiletrGridData) { }\r\n\r\n ngOnInit() {\r\n if (sessionStorage.getItem('roleName') !== 'undefined') {\r\n this.isAdmin = sessionStorage.getItem('roleName') == 'Admin' ? true : false\r\n }\r\n this.getContractData();\r\n this.getTodaysDate();\r\n this.yearArray = this.filetrGridData.getYear();\r\n }\r\n\r\n getTodaysDate() {\r\n let today = new Date();\r\n let dd = String(today.getDate()).padStart(2, '0');\r\n let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n let yyyy = today.getFullYear();\r\n this.todayDate = mm + '/' + dd + '/' + yyyy;\r\n }\r\n\r\n\r\n getContractData() {\r\n\r\n this.selectedCols = [\r\n { field: 'contractNumber', header: 'Contract No', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 1 },\r\n { field: 'agreementType', header: 'Type', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 2 },\r\n { field: 'status', header: 'Status', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 3 },\r\n { field: 'accountNumber', header: 'Account #', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 4 },\r\n { field: 'accountName', header: 'Account Name', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 5 },\r\n { field: 'DBAAKA', header: 'DBA/AKA', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 5 },\r\n { field: 'WD', header: 'WD', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 6 },\r\n { field: 'marketInvestment', header: 'Market Investment($)', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 7 },\r\n { field: 'fixedRebate', header: 'Monthly Fixed Rebate', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 8 },\r\n { field: 'annualFixedRebate', header: 'Annual Fixed Rebate', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 9 },\r\n { field: 'variableRebate', header: 'Monthly Variable Rebate', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 10 },\r\n { field: 'MPR', header: 'MPR($)', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 11 },\r\n { field: 'MPRReqToDate', header: 'MPR ReqToDate($)', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 12 },\r\n { field: 'PerMPR', header: '% MPR', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 13 },\r\n { field: 'ActualPaintPurchase', header: 'Paint Purchase', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 14 },\r\n { field: 'contractStartDate', header: 'Start Date (mm/dd/yyyy)', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 15 },\r\n { field: 'contractEndDate', header: 'End Date (mm/dd/yyyy)', is_show: true, width: this.defaultWidth, isEditable: false, serialNo: 16 },\r\n \r\n ]\r\n\r\n this.salesCols = [\r\n { header: 'Record ID#' },\r\n { header: 'Year' },\r\n { header: 'Salesforce Contract ID' },\r\n { header: 'Contract Status' },\r\n { header: 'Contract Status Reason' },\r\n { header: 'External Reference' },\r\n //{ header: 'MSO' },\r\n //{ header: 'MSO - External Reference' },\r\n { header: 'SF Acct. #' },\r\n { header: 'Company Name_Sales Record' },\r\n { header: 'Valid From' },\r\n { header: 'Valid To' },\r\n //{ header: 'Distributor Company Name' },\r\n { header: 'WD' },\r\n { header: 'Jan' },\r\n { header: 'Feb' },\r\n { header: 'Mar' },\r\n { header: 'Apr' },\r\n { header: 'May' },\r\n { header: 'Jun' },\r\n { header: 'Jul' },\r\n { header: 'Aug' },\r\n { header: 'Sep' },\r\n { header: 'Oct' },\r\n { header: 'Nov' },\r\n { header: 'Dec' },\r\n { header: 'Jan_AP' },\r\n { header: 'Feb_AP' },\r\n { header: 'Mar_AP' },\r\n { header: 'Apr_AP' },\r\n { header: 'May_AP' },\r\n { header: 'Jun_AP' },\r\n { header: 'Jul_AP' },\r\n { header: 'Aug_AP' },\r\n { header: 'Sep_AP' },\r\n { header: 'Oct_AP' },\r\n { header: 'Nov_AP' },\r\n { header: 'Dec_AP' }\r\n ]\r\n\r\n this.cols = this.selectedCols\r\n this.spinner.show();\r\n this.service.getAllContractData().subscribe(\r\n response => {\r\n this.contractData = response;\r\n if (this.contractData.length <= 0) {\r\n this.toastr.error('No Contract Data found');\r\n }\r\n else {\r\n this.contractData.forEach((element) => { \r\n element.MPRReqToDate = this.contractCalculation.calculateMPRtoDate(element.MPR, element.ContractDuration, element.ValidFrom, this.todayDate, 1, true);\r\n element.PerMPR = this.contractCalculation.calculateMPRPerCal(element.MPRActualTODate, element.MPRReqToDate);\r\n element.PerMPR = element.PerMPR + \"%\";\r\n element.marketInvestment = Math.trunc(element.marketInvestment);\r\n element.marketInvestment = this.contractCalculation.commafy(element.marketInvestment);\r\n element.MPRReqToDate = this.contractCalculation.commafy(element.MPRReqToDate);\r\n element.MPR = Math.trunc(element.MPR);\r\n element.MPR = this.contractCalculation.commafy(element.MPR);\r\n element.fixedRebate = Math.trunc(element.fixedRebate);\r\n element.annualFixedRebate = Math.trunc(element.annualFixedRebate);\r\n element.variableRebate = Math.trunc(element.variableRebate);\r\n \r\n });\r\n }\r\n\r\n\r\n this.filteredData = this.contractData;\r\n\r\n this.spinner.hide();\r\n\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide();\r\n });\r\n\r\n }\r\n\r\n openSalesPopup() {\r\n this.displayExportSales = true;\r\n }\r\n\r\n uploadContracts(event) {\r\n this.importFile.diaplayUpload(event);\r\n }\r\n\r\n receiveSelectedRows(event) {\r\n this.selectedRows = event;\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let rowData = rowObject;\r\n if (rowData.type == 'deleteContract') {\r\n this.displayDeleteContract = true;\r\n this.modelon = true;\r\n this.selectedContractId = rowObject.rowData.Contract_id; \r\n }\r\n else {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n }\r\n\r\n createContract() {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: 0 } });\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj,this.contractData);\r\n }\r\n\r\n exportSalesRecords() {\r\n this.spinner.show();\r\n if (this.selectedYear == '') {\r\n this.toastr.warning('Please enter year to export sales');\r\n return;\r\n }\r\n this.service.getSalesData(0, this.selectedYear).subscribe(\r\n response => {\r\n this.salesData = response;\r\n this.spinner.hide();\r\n let displayedSalesJson: any[] = [];\r\n for (let originalValue of this.salesData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Total = undefined;\r\n jsonObject.Modified = undefined;\r\n jsonObject.APTotal = undefined;\r\n jsonObject.APModified = undefined;\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedSalesJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedSalesJson, `SalesData_${new Date()}`, 'sheet1', this.salesCols)\r\n if (this.salesData.length <= 0) {\r\n this.toastr.error('No Sales Data found');\r\n } else {\r\n this.displayExportSales = false;\r\n }\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n\r\n //Export Excel Logic\r\n exportExcel(event) {\r\n this.exportFileType = event;\r\n if (this.exportFileType == 'Sales') {\r\n this.exportSalesRecords();\r\n }\r\n else if (this.exportFileType == 'Contracts') {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.contractData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.ContractDuration = undefined;\r\n jsonObject.ValidFrom = undefined;\r\n jsonObject.MPRActualTODate = undefined;\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `Contract List_${new Date()}`, 'sheet1', this.cols)\r\n }\r\n\r\n }\r\n\r\n closepopUp() {\r\n this.displayExportSales = false; \r\n }\r\n\r\n fileUploadStatus(FileUpload) {\r\n this.spinner.show();\r\n this.getContractData();\r\n this.spinner.hide();\r\n }\r\n\r\n closeConfirmationpopUp() {\r\n this.displayDeleteContract = false;\r\n this.modelon = false;\r\n \r\n }\r\n\r\n deleteContract() {\r\n this.spinner.show();\r\n this.service.deleteContact(this.selectedContractId).subscribe(\r\n response => {\r\n this.spinner.hide();\r\n this.toastr.success(\"Contract deleted succesfully.\")\r\n this.displayDeleteContract = false;\r\n this.modelon = false;\r\n this.getContractData(); \r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error(\"Error Occurred\")\r\n this.displayDeleteContract = false;\r\n this.modelon = false;\r\n });\r\n \r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { FilterUtils } from 'primeng/api';\r\n@Component({\r\n selector: 'app-dynamic-grid',\r\n templateUrl: './dynamic-grid.component.html',\r\n styleUrls: ['./dynamic-grid.component.css'],\r\n encapsulation:ViewEncapsulation.None\r\n})\r\nexport class DynamicGridComponent implements OnInit {\r\n @Input() gridCols: any[];\r\n @Input() gridData: any;\r\n @Input() checkboxShow: any;\r\n @Input() showEdit: any;\r\n @Input() showView: any;\r\n @Input() showDelete: any;\r\n @Input() ShowDeleteContract: any;\r\n @Input() ShowDeleteLookUp: any;\r\n @Input() showFilter: any;\r\n @Output() filterData = new EventEmitter();\r\n @Output() selectRow = new EventEmitter();\r\n @Output() sendSelectedRows = new EventEmitter();\r\n @Input() isCommentGrid = false;\r\n cupsRequestData: any;\r\n apiResp: any;\r\n defaultWidth: '100%';\r\n userId: any;\r\n userAdmin: boolean = false;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n title = \"Cups Request\";\r\n selectedRows: any;\r\n \r\n constructor(private _service: ContractPerfService, private router: Router,private spinner: NgxSpinnerService) { console.log(this.gridCols);}\r\n\r\n ngOnInit() {\r\n\r\n console.log(this.gridCols)\r\n FilterUtils['custom'] = (value, filter): boolean => {\r\n if (filter === undefined || filter === null || filter.trim() === '') {\r\n return true;\r\n }\r\n\r\n if (value === undefined || value === null) {\r\n return false;\r\n }\r\n\r\n return parseInt(filter) > value;\r\n }\r\n }\r\n\r\n sendFilterData(value, filter) {\r\n let filterObj = {\r\n value, filter\r\n };\r\n this.filterData.emit(filterObj);\r\n }\r\n\r\n onSelectRow(rowData, type) {\r\n let rowObject = {rowData, type};\r\n this.selectRow.emit(rowObject);\r\n }\r\n\r\n onDocumentClick(rowData) {\r\n let documentRowData = {rowData};\r\n this.selectRow.emit(documentRowData);\r\n }\r\n\r\n checkSelectedRow(event) {\r\n this.sendSelectedRows.emit(this.selectedRows)\r\n }\r\n}\r\n","import { Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent {\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent {\r\n userRole: any\r\n isAdmin: boolean = false;\r\n clickEventsubscription: Subscription;\r\n changeText: boolean;\r\n\r\n constructor(private serv: ContractPerfService, private route: Router) {\r\n this.menuConfig();\r\n this.clickEventsubscription = this.serv.getNavmenustatus().subscribe(() => {\r\n this.menuConfig();\r\n });\r\n this.changeText = false;\r\n }\r\n\r\n\r\n menuConfig() {\r\n console.log(\"3\" + sessionStorage.getItem('roleName'))\r\n if (sessionStorage.getItem('roleName') !== 'undefined') {\r\n this.userRole = sessionStorage.getItem('roleName');\r\n this.isAdmin = this.userRole == 'Admin' ? true : false\r\n }\r\n else {\r\n this.userRole = '';\r\n }\r\n }\r\n\r\n navigateDashboard() {\r\n let URL = `${environment.dashboardURL}`\r\n window.open(URL, '_blank');\r\n }\r\n\r\n}\r\n","import { Component, ViewEncapsulation,OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport {MessageService} from 'primeng/api';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class HomeComponent implements OnInit {\r\n\r\n constructor(private service: ContractPerfService, private toastr: ToastrService, private router: Router, private spinner: NgxSpinnerService, private messageService: MessageService) { }\r\n ngOnInit(): void {\r\n this.service.setNavmenustatus(true);\r\n }\r\n \r\n}\r\n","import { Component, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { MessageService } from 'primeng/api';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-import-file',\r\n templateUrl: './import-file.component.html',\r\n styleUrls: ['./import-file.component.css']\r\n})\r\n\r\n\r\nexport class ImportFileComponent {\r\n\r\n fileUploadMessage: string;\r\n uploadedFiles: any;\r\n fileName = \"\";\r\n fileType = \"\";\r\n fileUpload = false;\r\n filesize = \"\";\r\n fileBuffer: any;\r\n fileObject: any;\r\n displayUpload: boolean = false;\r\n importMessage: string;\r\n uploadFileType: string;\r\n @ViewChild('fileInput', { static: false }) fileobj: ElementRef;\r\n @Output() fileUploadStatus = new EventEmitter();\r\n\r\n constructor(private service: ContractPerfService, private messageService: MessageService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n\r\n\r\n //Display the file Upload Popup, event is called from HomeComponent\r\n diaplayUpload(fileType) {\r\n this.uploadFileType = fileType;\r\n this.displayUpload = true;\r\n }\r\n\r\n //Close the file upload popup and clear files\r\n closepopUp() {\r\n this.displayUpload = false;\r\n this.fileName = \"\";\r\n this.fileType = \"\";\r\n this.filesize = \"\";\r\n this.fileobj.nativeElement.value = \"\";\r\n this.uploadedFiles = \"\";\r\n }\r\n\r\n // file uploded on the client side\r\n myUploader(event) {\r\n this.spinner.show();\r\n let fileData = event[0];\r\n this.filesize = fileData.size.toString();\r\n if (fileData.size > 3145728) {\r\n this.spinner.hide();\r\n this.toastr.warning(\"File Limit Exceeded, Allows only below 3MB data\");\r\n return false;\r\n }\r\n else {\r\n this.fileName = fileData.name;\r\n this.fileType = fileData.type;\r\n }\r\n this.uploadedFiles = event[0];\r\n this.spinner.hide();\r\n }\r\n\r\n //On click of file Submit and to make BE Api call\r\n uploadSubmit() {\r\n\r\n this.spinner.show();\r\n if (this.uploadedFiles.length == 0) {\r\n this.spinner.hide();\r\n this.toastr.warning(\"Please select file to Upload\");\r\n return;\r\n }\r\n this.uploadedFiles = this.uploadedFiles;\r\n const formData: FormData = new FormData();\r\n formData.append('file', this.uploadedFiles, this.uploadedFiles.name);\r\n this.service.importExcelFile(formData, this.uploadFileType).subscribe(\r\n response => {\r\n\r\n this.DisplayFileUploadNotification(response);\r\n this.uploadedFiles = \"\";\r\n this.spinner.hide();\r\n }, error => {\r\n\r\n this.fileUploadMessage = \"Error\"\r\n this.toastr.error('Error in file upload');\r\n this.uploadedFiles = \"\";\r\n this.spinner.hide();\r\n });\r\n\r\n this.displayUpload = false;\r\n this.removeFile();\r\n }\r\n\r\n //File upload Notifications\r\n DisplayFileUploadNotification(message) {\r\n this.fileUploadMessage = message;\r\n if (this.uploadFileType == 'Contracts') {\r\n if (this.fileUploadMessage == 'Contracts imported successfully') {\r\n this.toastr.success('All Contracts Uploaded Successfully');\r\n }\r\n else {\r\n if (this.fileUploadMessage.includes(\"ErrorMessage\")) {\r\n this.toastr.error(this.fileUploadMessage);\r\n } else {\r\n this.toastr.warning('Contracts Uploaded Successfully except below duplicate Contracts: ' + this.fileUploadMessage.split(\"|\")[1], '', { closeButton: true, timeOut: 0 });\r\n }\r\n }\r\n this.fileUploadStatus.emit(this.fileUploadMessage);\r\n }\r\n else if (this.uploadFileType == 'Sales') {\r\n\r\n if (this.fileUploadMessage == 'Sales data imported successfully') {\r\n this.toastr.success('Sales Data Uploaded Successfully');\r\n }\r\n else {\r\n this.toastr.warning('Sales Record Uploaded Successfully except below combination of (Contract Number + CRM Number Sales Record): ' + this.fileUploadMessage.split(\"|\")[1], '', { closeButton: true, timeOut: 0 });\r\n }\r\n }\r\n\r\n }\r\n\r\n removeFile() {\r\n this.fileName = \"\";\r\n this.fileType = \"\";\r\n this.filesize = \"\";\r\n this.fileobj.nativeElement.value = \"\";\r\n this.uploadedFiles = \"\";\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n decryptedUser: any;\r\n encryptedUser: any;\r\n apiResp: any;\r\n userNotFound = false;\r\n userroleName:any;\r\n constructor(private _appServ: ContractPerfService,private spinner: NgxSpinnerService, private toast: ToastrService, private route: ActivatedRoute, private router: Router) { }\r\n\r\n ngOnInit() {\r\n \r\n this.spinner.show();\r\n this.decryptedUser = sessionStorage.getItem('userId'); \r\n this.route.queryParams.subscribe(params => {\r\n console.log(this.route,\"route\");\r\n console.log(params, \"printing params\");\r\n this.encryptedUser = params.loginUser;\r\n console.log(params['Username'],\"encripteduser\");\r\n if (this.decryptedUser == undefined || this.decryptedUser == null ){\r\n if ( this.encryptedUser == undefined || this.encryptedUser == null) {\r\n this.SAMLService();\r\n } else {\r\n \r\n this._appServ.getDecryptedUserDetails(this.encryptedUser).subscribe(response => {\r\n this.apiResp = response;\r\n console.log(response, \"Decrypt method\");\r\n sessionStorage.setItem('userId', this.apiResp);\r\n this.verifyUserAuthorization(this.apiResp);\r\n \r\n }, (error) => {\r\n this.toast.error(error, \"Error!\");\r\n this.spinner.hide();\r\n });\r\n }\r\n } else {\r\n this.verifyUserAuthorization(this.decryptedUser);\r\n }\r\n \r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n \r\n\r\n\r\n SAMLService() {\r\n \r\n this.spinner.show();\r\n this._appServ.getSAMLService().subscribe((result) => {\r\n this.spinner.hide();\r\n window.location.href = result.toString();\r\n },\r\n (error) => {\r\n this.toast.error(error, \"Error!\");\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n verifyUserAuthorization(userID) {\r\n this._appServ.getUserInfo(userID).subscribe((res: any[]) => {\r\n this.userroleName = res; \r\n if (res == null || res.length == 0) {\r\n this.userNotFound = true;\r\n this.router.navigate(['Login']);\r\n }\r\n else {\r\n sessionStorage.setItem('roleName', this.userroleName.roleName);\r\n this.router.navigate(['home']);\r\n }\r\n })\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-boardreport',\r\n templateUrl: './boardreport.component.html'\r\n})\r\n\r\n\r\nexport class BoardreportComponent {\r\n\r\n boardReportGridCol: any[]\r\n boardReportData: any\r\n boardmonth:any\r\n boardyear:any = [{value:2010,id:2010}]\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n todayDate: any;\r\n mprToDataAmt: any;\r\n parsedFromDate: any;\r\n mprPercentval: any;\r\n mprToDataMonth: any;\r\n mprToDataVal: any;\r\n selectedMonth: number;\r\n selectedYear: number;\r\n selectedEndMonth: number;\r\n selectedEndYear: number;\r\n dynamicMonth:any[]\r\n dynamicMonth1:any[]\r\n dynamicMonth2:any[]\r\n constructor(private contractPerfService: ContractPerfService,private spinner: NgxSpinnerService,private toastr: ToastrService,private router: Router, private _exportExcel: ExportExcel, private contractCalculation:ContractCalculation, private filetrGridData: FiletrGridData) { }\r\n\r\n ngOnInit() {\r\n this.todayDate= this.filetrGridData.getTodaysDate();\r\n this.dynamicMonth = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\r\n this.boardReportGridCol = [\r\n { field: 'SFContractId', header: 'SF Contract ID', is_show: true, isEditable: false, serialNo: 0 },\r\n { field: 'status', header: 'Contract Status', is_show: true, isEditable: true, serialNo: 1 },\r\n { field: 'ExternalReference', header: 'WD Ext. Ref ID', is_show: true, isEditable: true, serialNo: 2 },\r\n { field: 'SFAccountNumber', header: 'SF Account Number', is_show: true, isEditable: false, serialNo: 3 },\r\n { field: 'CompanyName', header: 'Company Name', is_show: true, isEditable: false, serialNo: 4 },\r\n { field: 'City', header: 'Company City', is_show: true, isEditable: true, serialNo: 5 },\r\n { field: 'Province', header: 'Company Province', is_show: true, isEditable: false, serialNo: 6 },\r\n { field: 'mso', header: 'MSO', is_show: true, isEditable: false, serialNo: 7 },\r\n { field: 'ValidFrom', header: 'Valid From (mm/dd/yyyy)', is_show: true, isEditable: false, serialNo: 8 },\r\n { field: 'ValidTo', header: 'Valid To (mm/dd/yyyy)', is_show: true, isEditable: false, serialNo: 9 },\r\n { field: 'WDSFNumber', header: 'WD SF Number', is_show: true, isEditable: false, serialNo: 10 },\r\n { field: 'WarehouseDistributorCompName', header: 'WD Name', is_show: true, isEditable: false, serialNo: 11 },\r\n { field: 'WarehouseDistributor', header: 'WD', is_show: true, isEditable: true, serialNo: 12 },\r\n { field: 'NumberOfMonths', header: '# of Months (from the report selected Month & Year)', is_show: true, isEditable: true, serialNo: 13 },\r\n { field: 'Year', header: 'Year', is_show: true, isEditable: false, serialNo: 14 },\r\n { field: 'BRJan', header: 'Jan', is_show: true, isEditable: false, serialNo: 15 },\r\n { field: 'BRFeb', header: 'Feb', is_show: true, isEditable: false, serialNo: 16 },\r\n { field: 'BRMar', header: 'Mar', is_show: true, isEditable: true, serialNo: 17 },\r\n { field: 'BRApr', header: 'Apr', is_show: true, isEditable: false, serialNo: 18 },\r\n { field: 'BRMay', header: 'May', is_show: true, isEditable: false, serialNo: 19 },\r\n { field: 'BRJun', header: 'Jun', is_show: true, isEditable: true, serialNo: 20 },\r\n { field: 'BRJul', header: 'Jul', is_show: true, isEditable: false, serialNo: 21},\r\n { field: 'BRAug', header: 'Aug', is_show: true, isEditable: false, serialNo: 22 },\r\n { field: 'BRSep', header: 'Sep', is_show: true, isEditable: true, serialNo: 23 },\r\n { field: 'BROct', header: 'Oct', is_show: true, isEditable: false, serialNo: 24 },\r\n { field: 'BRNov', header: 'Nov', is_show: true, isEditable: false, serialNo: 25 },\r\n { field: 'BRDec', header: 'Dec', is_show: true, isEditable: true, serialNo: 26 },\r\n { field: 'TotalSales', header: 'Total Sales', is_show: true, isEditable: true, serialNo: 27 },\r\n { field: 'ContractDuration', header: 'Duration(Months)', is_show: true, isEditable: false, serialNo: 28 },\r\n { field: 'UpfrontPayment', header: 'UpFront Payment', is_show: true, isEditable: false, serialNo: 29 },\r\n { field: 'MPR', header: 'MPR', is_show: true, isEditable: true, serialNo: 30 },\r\n { field: 'mprReqToDate', header: 'MPR Req. (YTD)', is_show: true, isEditable: false, serialNo: 31 },\r\n { field: 'contractMPRBalance', header: 'Contract Bal. MPR', is_show: true, isEditable: false, serialNo: 32 },\r\n { field: 'VariableRebate', header: 'Variable Rebate', is_show: true, isEditable: true, serialNo: 33},\r\n { field: 'FixedRebate', header: 'Fixed Rebate', is_show: true, isEditable: false, serialNo: 34 },\r\n { field: 'PaintBrand', header: 'Paint Brand', is_show: true, isEditable: false, serialNo: 35 },\r\n { field: 'AgreementType', header: 'Agreement Type', is_show: true, isEditable: true, serialNo: 36 },\r\n { field: 'ContractStatusReason', header: 'Status Reason', is_show: true, isEditable: false, serialNo: 37 }\r\n ]\r\n\r\n this.boardmonth = this.filetrGridData.getMonth();\r\n this.boardyear = this.filetrGridData.getYear();\r\n this.selectedMonth = this.filetrGridData.getCurrentMonthYear().selectedMonth;\r\n this.selectedYear = this.filetrGridData.getCurrentMonthYear().selectedYear;\r\n this.selectedEndYear = this.filetrGridData.getCurrentMonthYear().selectedYear;\r\n this.selectedEndMonth = this.filetrGridData.getCurrentMonthYear().selectedMonth;\r\n this.bindReportGrid();\r\n }\r\n\r\n bindReportGrid() {\r\n this.spinner.show()\r\n this.contractPerfService.getBoardReport(this.selectedYear, this.selectedMonth, this.selectedEndYear, this.selectedEndMonth).subscribe(\r\n response => {\r\n this.boardReportData = response;\r\n this.boardReportData.forEach((element) => {\r\n element.TotalSales = (Number(element.BRJan) + Number(element.BRFeb)+ Number(element.BRMar)+ Number(element.BRApr)+ Number(element.BRMay)+ Number(element.BRJun)+ Number(element.BRJul)+ Number(element.BRAug)+ Number(element.BRSep)+ Number(element.BROct)+ Number(element.BRNov)+ Number(element.BRDec)).toFixed(2);\r\n element.mprReqToDate = this.contractCalculation.calculateMPRtoDate(element.UpfrontPayment, element.ContractDuration, element.ValidFrom,this.todayDate , 1, true);\r\n element.contractMPRBalance = this.contractCalculation.calculatecontractMPRBalance(element.MPR,element.mprActualToDate);\r\n element.UpfrontPayment = Math.trunc(element.UpfrontPayment);\r\n element.UpfrontPayment = this.contractCalculation.commafy(element.UpfrontPayment);\r\n element.mprReqToDate = this.contractCalculation.commafy(element.mprReqToDate);\r\n element.MPR = Math.trunc(element.MPR);\r\n element.MPR = this.contractCalculation.commafy(element.MPR);\r\n element.FixedRebate = Math.trunc(element.FixedRebate);\r\n element.VariableRebate = Math.trunc(element.VariableRebate);\r\n });\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj,this.boardReportData);\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.boardReportData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.mprActualToDate = undefined;\r\n jsonObject.BRJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRJan);\r\n jsonObject.BRFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRFeb);\r\n jsonObject.BRMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRMar);\r\n jsonObject.BRApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRApr);\r\n jsonObject.BRMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRMay);\r\n jsonObject.BRJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRJun);\r\n jsonObject.BRJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRJul);\r\n jsonObject.BRAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRAug);\r\n jsonObject.BRSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRSep);\r\n jsonObject.BROct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BROct);\r\n jsonObject.BRNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRNov);\r\n jsonObject.BRDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.BRDec);\r\n jsonObject.MPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPR);\r\n jsonObject.NumberOfMonths = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.NumberOfMonths);\r\n jsonObject.ContractDuration = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContractDuration);\r\n jsonObject.TotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.TotalSales);\r\n jsonObject.UpfrontPayment = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.UpfrontPayment);\r\n jsonObject.contractMPRBalance = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.contractMPRBalance);\r\n jsonObject.mprReqToDate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.mprReqToDate);\r\n jsonObject.VariableRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.VariableRebate);\r\n jsonObject.FixedRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.FixedRebate);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportBoardReport(displayedContractJson, `BoardReport${new Date()}`, 'sheet1', this.boardReportGridCol, this.selectedMonth, this.selectedYear, this.selectedEndMonth, this.selectedEndYear);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { stringify } from '@angular/compiler/src/util';\r\n\r\n@Component({\r\n selector: 'app-expiring-contracts',\r\n templateUrl: './expiring-contracts.component.html'\r\n})\r\n\r\nexport class ExpiringContractsComponent {\r\n\r\n expiringContractGridCol: any[]\r\n expiringContractGridData: any\r\n todayDate: any;\r\n selectedQuarter:number\r\n selectedYear:number\r\n contractQuarter: any = [{ value: \" \", key: 0 },{value:\"Q1\",key:1},{value:\"Q2\",key:2},{value:\"Q3\",key:3},{value:\"Q4\",key:4}]\r\n expiringContractYear:any = [{value:2010, id:2010}]\r\n constructor(private contractPerfService: ContractPerfService,private spinner: NgxSpinnerService,private toastr: ToastrService,private router: Router, private _exportExcel: ExportExcel, private contractCalculation:ContractCalculation, private filetrGridData: FiletrGridData) { }\r\n\r\n ngOnInit() {\r\n this.todayDate= this.filetrGridData.getTodaysDate();\r\n this.getGridHeader();\r\n this.expiringContractYear = this.filetrGridData.getYear();\r\n this.selectedQuarter = 0;\r\n this.selectedYear = this.filetrGridData.getCurrentMonthYear().selectedYear;\r\n this.bindExpiringContractGrid();\r\n }\r\n\r\n \r\n getGridHeader()\r\n {\r\n this.contractPerfService.getGridHeader('ExpiringContract').subscribe(\r\n response => {\r\n this.expiringContractGridCol = response; \r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n \r\n \r\n bindExpiringContractGrid() {\r\n this.spinner.show();\r\n if (this.selectedYear.toString() == 'undefined') {\r\n this.selectedYear = 2010;\r\n }\r\n this.contractPerfService.getExpiringContract(this.selectedYear, this.selectedQuarter).subscribe(\r\n response => {\r\n this.expiringContractGridData = response;\r\n this.expiringContractGridData.forEach((element) => {\r\n element.MPRReqDt = this.contractCalculation.calculateMPRtoDate(element.upfrontPmt, element.ContDuration, element.ValidFrom,this.todayDate , 1, true);\r\n element.ContBalanceMPR = this.contractCalculation.calculatecontractMPRBalance(element.MPR, element.MPRActualTODate);\r\n element.upfrontPmt = Math.trunc(element.upfrontPmt);\r\n element.upfrontPmt = this.contractCalculation.commafy(element.upfrontPmt);\r\n element.MPRReqDt = this.contractCalculation.commafy(element.MPRReqDt);\r\n element.MPR = Math.trunc(element.MPR);\r\n element.MPR = this.contractCalculation.commafy(element.MPR);\r\n element.FixedRebate = Math.trunc(element.FixedRebate);\r\n element.VarRebate = Math.trunc(element.VarRebate);\r\n });\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.spinner.hide();\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj,this.expiringContractGridData);\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.expiringContractGridData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.ActualPaintPurchase = undefined;\r\n jsonObject.ContBalanceMPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContBalanceMPR);\r\n jsonObject.ContDuration = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContDuration);\r\n jsonObject.FixedRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.FixedRebate);\r\n jsonObject.MPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPR);\r\n jsonObject.MPRActualTODate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPRActualTODate);\r\n jsonObject.MPRPer = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPRPer);\r\n jsonObject.MPRReqDt = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPRReqDt);\r\n jsonObject.VarRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.VarRebate);\r\n jsonObject.upfrontPmt = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.upfrontPmt);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `Expiring_Contracts${new Date()}`, 'sheet1', this.expiringContractGridCol);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ContractCalculation } from '../../../../services/contract-calculation';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-master-list',\r\n templateUrl: './master-list.component.html' \r\n})\r\nexport class MasterListComponent implements OnInit {\r\n\r\n masterlistCol:any\r\n masterlistReportData:any\r\n\r\n constructor(private contractPerfService: ContractPerfService, private toastr: ToastrService, private router: Router, private _exportExcel: ExportExcel, private filetrGridData: FiletrGridData,\r\n private contractCalculation: ContractCalculation, private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.getMissingPurchaseGridHeader();\r\n this.bindMissingPurchaseGrid();\r\n }\r\n\r\n getMissingPurchaseGridHeader()\r\n {\r\n this.contractPerfService.getGridHeader('Master').subscribe(\r\n response => {\r\n this.masterlistCol = response; \r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n bindMissingPurchaseGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getMasterReport().subscribe(\r\n response => {\r\n this.masterlistReportData = response;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n filterData(filterObj)\r\n {\r\n this.filetrGridData.filterData(filterObj,this.masterlistReportData)\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.masterlistReportData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.MasterJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterJan);\r\n jsonObject.MasterFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterFeb);\r\n jsonObject.MasterMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMar);\r\n jsonObject.MasterApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterApr);\r\n jsonObject.MasterMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMay);\r\n jsonObject.MasterJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterJun);\r\n jsonObject.MasterJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterJul);\r\n jsonObject.MasterAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterAug);\r\n jsonObject.MasterSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterSep);\r\n jsonObject.MasterOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterOct);\r\n jsonObject.MasterNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterNov);\r\n jsonObject.MasterDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterDec);\r\n jsonObject.MasterActualAPPurchase = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterActualAPPurchase);\r\n jsonObject.MasterActualPaintPurchase = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterActualPaintPurchase);\r\n jsonObject.MasterAnnualFixedRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterAnnualFixedRebate);\r\n jsonObject.MasterContractBalanceMPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterContractBalanceMPR);\r\n jsonObject.MasterContractDuration = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterContractDuration);\r\n jsonObject.MasterFixedRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterFixedRebate);\r\n jsonObject.MasterMPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMPR);\r\n jsonObject.MasterMPRPercentage = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMPRPercentage);\r\n jsonObject.MasterMPRRequired = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMPRRequired);\r\n jsonObject.MasterMarketInvestment = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterMarketInvestment);\r\n jsonObject.MasterTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTotalSales);\r\n jsonObject.MasterTrueUp1 = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTrueUp1);\r\n jsonObject.MasterTrueUp2 = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTrueUp2);\r\n jsonObject.MasterTrueUp3 = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTrueUp3);\r\n jsonObject.MasterTrueUp4 = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTrueUp4);\r\n jsonObject.MasterTrueUp5 = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterTrueUp5);\r\n jsonObject.MasterVariableRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterVariableRebate);\r\n jsonObject.MasterAPTrueUpAmt = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MasterAPTrueUpAmt);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `MasterReport${new Date()}`, 'sheet1', this.masterlistCol)\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ContractCalculation } from '../../../../services/contract-calculation';\r\n\r\n@Component({\r\n selector: 'app-missing-purchase',\r\n templateUrl: './missing-purchase.component.html'\r\n})\r\nexport class MissingPurchaseComponent {\r\n\r\n missingPurchaseCol:any\r\n missingPurchaseReportData:any\r\n\r\n constructor(private contractPerfService: ContractPerfService,\r\n private spinner: NgxSpinnerService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private _exportExcel: ExportExcel,\r\n private filetrGridData: FiletrGridData,\r\n private contractCalculation: ContractCalculation) { }\r\n \r\n ngOnInit() { \r\n this.getMissingPurchaseGridHeader();\r\n this.bindMissingPurchaseGrid();\r\n }\r\n\r\n getMissingPurchaseGridHeader()\r\n {\r\n this.contractPerfService.getGridHeader('MissingPur').subscribe(\r\n response => {\r\n this.missingPurchaseCol = response; \r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n \r\n bindMissingPurchaseGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getMissingPurchaseReport().subscribe(\r\n response => {\r\n this.missingPurchaseReportData = response;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide()\r\n });\r\n }\r\n\r\n filterData(filterObj)\r\n {\r\n this.filetrGridData.filterData(filterObj,this.missingPurchaseReportData)\r\n }\r\n \r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.missingPurchaseReportData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.MPJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJan);\r\n jsonObject.MPFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPFeb);\r\n jsonObject.MPMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMar);\r\n jsonObject.MPApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPApr);\r\n jsonObject.MPMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMay);\r\n jsonObject.MPJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJun);\r\n jsonObject.MPJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJul);\r\n jsonObject.MPAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPAug);\r\n jsonObject.MPSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPSep);\r\n jsonObject.MPOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPOct);\r\n jsonObject.MPNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPNov);\r\n jsonObject.MPDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPDec);\r\n jsonObject.MPTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPTotalSales);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `MissingPurchaseReport${new Date()}`, 'sheet1', this.missingPurchaseCol)\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-missing-status-reason',\r\n templateUrl: './missing-status-reason.component.html'\r\n})\r\nexport class MissingStatusReasonComponent {\r\n\r\n missingStatusReasonContractGridCol: any[]\r\n missingStatusReasonContractGridData: any\r\n\r\n constructor(private contractPerfService: ContractPerfService,\r\n private spinner: NgxSpinnerService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private _exportExcel: ExportExcel,\r\n private filetrGridData: FiletrGridData,\r\n private contractCalculation: ContractCalculation) { }\r\n\r\n\r\n ngOnInit() {\r\n this.getMissingStatusReasonGridHeader();\r\n this.bindMissingPurchaseGrid();\r\n }\r\n\r\n\r\n getMissingStatusReasonGridHeader() {\r\n this.contractPerfService.getGridHeader('MissingPur').subscribe(\r\n response => {\r\n this.missingStatusReasonContractGridCol = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n\r\n bindMissingPurchaseGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getMissingStatusReasonReport().subscribe(\r\n response => {\r\n this.missingStatusReasonContractGridData = response;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide()\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.missingStatusReasonContractGridData)\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.missingStatusReasonContractGridData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.MPJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJan);\r\n jsonObject.MPFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPFeb);\r\n jsonObject.MPMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMar);\r\n jsonObject.MPApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPApr);\r\n jsonObject.MPMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMay);\r\n jsonObject.MPJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJun);\r\n jsonObject.MPJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJul);\r\n jsonObject.MPAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPAug);\r\n jsonObject.MPSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPSep);\r\n jsonObject.MPOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPOct);\r\n jsonObject.MPNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPNov);\r\n jsonObject.MPDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPDec);\r\n jsonObject.MPTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPTotalSales);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `MissingStatusReasonReport${new Date()}`, 'sheet1', this.missingStatusReasonContractGridCol)\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ContractCalculation } from '../../../../services/contract-calculation';\r\nimport { ContractPerfService } from '../../../../services/contract-perf.service';\r\nimport { ExportExcel } from '../../../../services/export-excel.model';\r\nimport { FiletrGridData } from '../../../../services/filterGridData';\r\n\r\n@Component({\r\n selector: 'app-mpr-report',\r\n templateUrl: './mpr-report.component.html'\r\n})\r\nexport class MprReportComponent implements OnInit {\r\n mprReportGridCol: any[]\r\n mprReportGridData: any\r\n constructor(private contractPerfService: ContractPerfService,\r\n private spinner: NgxSpinnerService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private _exportExcel: ExportExcel,\r\n private filetrGridData: FiletrGridData,\r\n private contractCalculation: ContractCalculation) { }\r\n\r\n ngOnInit() {\r\n this.getmprReportGridHeader();\r\n this.bindmprReportGrid();\r\n }\r\n\r\n getmprReportGridHeader() {\r\n this.contractPerfService.getGridHeader('MprReport').subscribe(\r\n response => {\r\n this.mprReportGridCol = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n\r\n bindmprReportGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getMPRReport().subscribe(\r\n response => {\r\n this.mprReportGridData = response;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.mprReportGridData)\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.mprReportGridData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n //jsonObject.PercentageMPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.PercentageMPR);\r\n jsonObject.MPJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJan);\r\n jsonObject.MPFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPFeb);\r\n jsonObject.MPMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMar);\r\n jsonObject.MPApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPApr);\r\n jsonObject.MPMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMay);\r\n jsonObject.MPJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJun);\r\n jsonObject.MPJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJul);\r\n jsonObject.MPAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPAug);\r\n jsonObject.MPSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPSep);\r\n jsonObject.MPOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPOct);\r\n jsonObject.MPNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPNov);\r\n jsonObject.MPDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPDec);\r\n jsonObject.MPTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPTotalSales);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `MPRReport${new Date()}`, 'sheet1', this.mprReportGridCol)\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-performance-cust',\r\n templateUrl: './performance-cust.component.html'\r\n})\r\n\r\nexport class PerformanceCustComponent {\r\n\r\n contractNumber: any\r\n customerName: any = \"\"\r\n customerPerHeader: any\r\n customerPerData: any\r\n todayDate: any;\r\n mprReqToDataAmt: any;\r\n shortFall:any;\r\n mprPer:any;\r\n shortfallPer:any;\r\n shortfallAmt: any;\r\n contractMPRBalance: any;\r\n variableRebate: any;\r\n fixedRebate: any;\r\n contractperfData: any = [{ \"Val1\": \"\", \"Val2\": \"\", \"Val3\": \"\" }];\r\n salesCols = [\r\n { header: 'Customer Purchases' },\r\n { header: 'Year' },\r\n { header: 'Amount' }]\r\n\r\n constructor(private contractPerfService: ContractPerfService,private spinner: NgxSpinnerService,private toastr: ToastrService, private router: Router, private _exportExcel: ExportExcel, private contractCalculation: ContractCalculation, private filetrGridData: FiletrGridData) { }\r\n\r\n ngOnInit() {\r\n this.todayDate= this.filetrGridData.getTodaysDate();\r\n this.getCustomerPerGridHeader();\r\n }\r\n\r\n getCustomerPerGridHeader() {\r\n this.contractPerfService.getGridHeader('CustomerPerf').subscribe(\r\n response => {\r\n this.customerPerHeader = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n bindCustomerPerGrid() {\r\n this.contractperfData = [];\r\n this.spinner.show()\r\n this.contractPerfService.getCustPerfReport(this.customerName, this.contractNumber).subscribe(\r\n response => {\r\n this.customerPerData = response;\r\n if (this.customerPerData.length <= 0) {\r\n this.toastr.error('No Data found');\r\n }\r\n else\r\n {\r\n \r\n this.mprReqToDataAmt = this.contractCalculation.calculateMPRtoDate(this.customerPerData[0].MPR, this.customerPerData[0].ContractTerm, this.customerPerData[0].ValidFrom,this.todayDate , 1, true);\r\n this.shortFall = (Number(this.customerPerData[0].ActualPaintPurchase) - Number(this.mprReqToDataAmt)).toFixed(2) ;\r\n this.mprPer = this.mprReqToDataAmt != 0 ? ((Number(this.customerPerData[0].ActualPaintPurchase) / Number(this.mprReqToDataAmt))*100).toFixed(2) : 0;\r\n this.shortfallPer = (100-this.mprPer).toFixed(2);\r\n this.shortfallAmt = ((Number(this.customerPerData[0].MarketInvestment) * Number(this.shortfallPer))/ 100).toFixed(2);\r\n this.contractMPRBalance = (Number(this.customerPerData[0].MPR) - (Number(this.customerPerData[0].ActualPaintPurchase))).toFixed(2);\r\n this.variableRebate = this.customerPerData[0].VariableRebate;\r\n this.fixedRebate = this.customerPerData[0].FixedRebate;\r\n this.customerPerData[0].MarketInvestment = Math.trunc(this.customerPerData[0].MarketInvestment);\r\n this.customerPerData[0].MarketInvestment = this.contractCalculation.commafy(this.customerPerData[0].MarketInvestment);\r\n this.mprReqToDataAmt = this.contractCalculation.commafy(this.mprReqToDataAmt);\r\n this.variableRebate = Math.trunc(this.variableRebate);\r\n this.fixedRebate = Math.trunc(this.fixedRebate);\r\n this.shortFall = this.contractCalculation.commafy(this.shortFall);\r\n this.shortfallAmt = this.contractCalculation.commafy(this.shortfallAmt);\r\n this.contractMPRBalance = this.contractCalculation.commafy(this.contractMPRBalance);\r\n }\r\n \r\n if (this.customerPerData.length > 0) {\r\n this.PerformanceDataJson(this.customerPerData[0].CustomerPurchase, this.customerPerData[0].ActualPaintPurchase, this.customerPerData[0].MarketInvestment);\r\n }\r\n this.spinner.hide()\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide()\r\n });\r\n }\r\n\r\n PerformanceDataJson(YearData, AP,MI) {\r\n for (let yeardata of YearData) {\r\n this.contractperfData.push({\r\n \"Val1\": \"\",\r\n \"Val2\": yeardata.Year,\r\n \"Val3\": yeardata.Amount\r\n })\r\n }\r\n\r\n this.contractperfData.push({\r\n \"Val1\": \"MPR Actual to Date\", \"Val2\": \"\", \"Val3\": \"$ \" + AP\r\n })\r\n this.contractperfData.push({\r\n \"Val1\": \"MPR Required to Dt\", \"Val2\": \"\", \"Val3\": \"$ \" + this.mprReqToDataAmt\r\n })\r\n this.contractperfData.push({\r\n \"Val1\": \"Shortfall/Surplus\", \"Val2\": \"\", \"Val3\": \"$ \" + this.shortFall\r\n })\r\n\r\n this.contractperfData.push({\r\n \"Val1\": \"% of MPR\", \"Val2\": \"\", \"Val3\": this.mprPer + \"%\"\r\n })\r\n if (MI != '' && MI != 0) {\r\n this.contractperfData.push({\r\n \"Val1\": \"Upfront MI\", \"Val2\": \"\", \"Val3\": \"$ \" + MI\r\n })\r\n this.contractperfData.push({\r\n \"Val1\": \"Shortfall Payment\", \"Val2\": this.shortfallPer + \"%\", \"Val3\": this.shortfallAmt + \"+ Taxes\"\r\n })\r\n }\r\n \r\n if (this.variableRebate != '' && this.fixedRebate != '') {\r\n this.contractperfData.push({\r\n \"Val1\": \"Contract Balance MPR\", \"Val2\": \"\", \"Val3\": \"$ \" + this.contractMPRBalance\r\n })\r\n this.contractperfData.push({\r\n \"Val1\": \"Variable Rebate\", \"Val2\": \"\", \"Val3\": \"$ \" + this.variableRebate\r\n })\r\n this.contractperfData.push({\r\n \"Val1\": \"Fixed Rebate\", \"Val2\": \"\", \"Val3\": \"$ \" + this.fixedRebate\r\n })\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.customerPerData);\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.customerPerData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.MarketInvestment = undefined;\r\n jsonObject.ActualPaintPurchase = undefined;\r\n jsonObject.ContractTerm = undefined;\r\n jsonObject.VariableRebate = undefined;\r\n jsonObject.FixedRebate = undefined;\r\n jsonObject.CustomerPurchase = undefined;\r\n jsonObject.CPJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPJan);\r\n jsonObject.CPFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPFeb);\r\n jsonObject.CPMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPMar);\r\n jsonObject.CPApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPApr);\r\n jsonObject.CPMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPMay);\r\n jsonObject.CPJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPJun);\r\n jsonObject.CPJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPJul);\r\n jsonObject.CPAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPAug);\r\n jsonObject.CPSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPSep);\r\n jsonObject.CPOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPOct);\r\n jsonObject.CPNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPNov);\r\n jsonObject.CPDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPDec);\r\n jsonObject.CPTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPTotalSales);\r\n jsonObject.ActualPaintPurchase = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ActualPaintPurchase);\r\n jsonObject.CPYear = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.CPYear);\r\n jsonObject.ContractDuration = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContractDuration);\r\n jsonObject.ContractTerm = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContractTerm);\r\n jsonObject.FixedRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.FixedRebate);\r\n jsonObject.MPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPR);\r\n jsonObject.MarketInvestment = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MarketInvestment);\r\n jsonObject.VariableRebate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.VariableRebate);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this.contractperfData.forEach(res => {\r\n res.Val2 = this.contractCalculation.convertStringWithCommatoNumber(res.Val2);\r\n res.Val3 = this.contractCalculation.convertStringWithCommatoNumber(res.Val3);\r\n })\r\n this._exportExcel.exportPerformanceReport(this.contractperfData, `CustPerf${new Date()}`, 'sheet1', this.salesCols, displayedContractJson, \"sheet2\", this.customerPerHeader);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-report',\r\n templateUrl: './report.component.html'\r\n})\r\nexport class ReportComponent {\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ContractPerfService } from 'src/services/contract-perf.service';\r\nimport { ExportExcel } from 'src/services/export-excel.model';\r\nimport { ContractCalculation } from 'src/services/contract-calculation';\r\nimport { FiletrGridData } from 'src/services/filterGridData';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-true-up-report',\r\n templateUrl: './true-up-report.component.html'\r\n})\r\nexport class TrueUpReportComponent {\r\n\r\n trueUpGridCol: any[]\r\n trueUpReportData: any\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n todayDate: any;\r\n mprToDataAmt: any;\r\n parsedFromDate: any;\r\n mprPercentval: any;\r\n mprToDataMonth: any;\r\n mprToDataVal: any;\r\n selectedMonth:number\r\n selectedYear:number\r\n trueupmonth:any\r\n trueupyear:any = [{value:2010,id:2010}]\r\n constructor(private contractPerfService: ContractPerfService,private spinner: NgxSpinnerService,private toastr: ToastrService,private router: Router, private _exportExcel: ExportExcel, private contractCalculation:ContractCalculation, private filetrGridData: FiletrGridData) { }\r\n\r\n ngOnInit() {\r\n this.todayDate= this.filetrGridData.getTodaysDate();\r\n\r\n this.getGridHeader();\r\n\r\n this.trueupmonth = this.filetrGridData.getMonth();\r\n this.trueupyear = this.filetrGridData.getYear();\r\n this.selectedMonth = this.filetrGridData.getCurrentMonthYear().selectedMonth;\r\n this.selectedYear = this.filetrGridData.getCurrentMonthYear().selectedYear;\r\n this.bindTrueUpGrid();\r\n }\r\n\r\n \r\n getGridHeader()\r\n {\r\n this.contractPerfService.getGridHeader('TrueUp').subscribe(\r\n response => {\r\n this.trueUpGridCol = response; \r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n \r\n \r\n bindTrueUpGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getTrueUpReport(this.selectedYear, this.selectedMonth).subscribe(\r\n response => {\r\n this.trueUpReportData = response;\r\n this.trueUpReportData.forEach((element) => {\r\n element.MPRReqToDate = this.contractCalculation.calculateMPRtoDate(element.UpfrontPayment, element.ContractDuration, element.ValidFrom,this.todayDate , 1, true);\r\n element.PerMPR = this.contractCalculation.calculateMPRPerCal(element.MPRActualTODate,element.MPRReqToDate);\r\n element.ContractBalanceMPR = this.contractCalculation.calculatecontractMPRBalance(element.MPR,element.MPRActualTODate);\r\n element.ContractBalanceMPR = '$ ' + this.contractCalculation.commafy(element.ContractBalanceMPR);\r\n element.PerMPR = element.PerMPR + \"%\";\r\n element.UpfrontPayment = Math.trunc(element.UpfrontPayment);\r\n element.UpfrontPayment = this.contractCalculation.commafy(element.UpfrontPayment);\r\n element.MPRReqToDate = this.contractCalculation.commafy(element.MPRReqToDate);\r\n element.MPR = Math.trunc(element.MPR);\r\n element.MPR = this.contractCalculation.commafy(element.MPR);\r\n element.FixedRebate = Math.trunc(element.FixedRebate);\r\n element.VariableRebate = Math.trunc(element.VariableRebate);\r\n element.trueup_amount = this.contractCalculation.commafy(element.trueup_amount);\r\n element.trueup_cumulative = this.contractCalculation.commafy(element.trueup_cumulative);\r\n element.MPRActualTODate = '$ ' + this.contractCalculation.commafy(element.MPRActualTODate);\r\n element.TrueUpPer = element.TrueUpPer ? element.TrueUpPer.replace(',', '.') : element.TrueUpPer;\r\n this.spinner.hide();\r\n });\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj,this.trueUpReportData);\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.trueUpReportData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.UpfrontPayment = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.UpfrontPayment);\r\n jsonObject.MPR = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPR);\r\n jsonObject.MPRActualTODate = this.contractCalculation.commafy(jsonObject.MPRActualTODate);\r\n jsonObject.FixedRebate = this.contractCalculation.commafy(jsonObject.FixedRebate);\r\n jsonObject.VariableRebate = this.contractCalculation.commafy(jsonObject.VariableRebate);\r\n jsonObject.trueup_amount = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.trueup_amount);\r\n jsonObject.trueup_cumulative = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.trueup_cumulative);\r\n jsonObject.TrueUpPer = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.TrueUpPer);\r\n jsonObject.ContractDuration = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.ContractDuration);\r\n jsonObject.MPRReqToDate = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPRReqToDate); \r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `TrueUpReport${new Date()}`, 'sheet1', this.trueUpGridCol);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ContractCalculation } from '../../../../services/contract-calculation';\r\nimport { ContractPerfService } from '../../../../services/contract-perf.service';\r\nimport { ExportExcel } from '../../../../services/export-excel.model';\r\nimport { FiletrGridData } from '../../../../services/filterGridData';\r\n\r\n@Component({\r\n selector: 'app-zero-purchase',\r\n templateUrl: './zero-purchase.component.html'\r\n})\r\nexport class ZeroPurchaseComponent implements OnInit {\r\n\r\n zeroPurchaseReportGridCol: any[]\r\n zeroPurchaseReportGridData: any\r\n constructor(private contractPerfService: ContractPerfService,\r\n private spinner: NgxSpinnerService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private _exportExcel: ExportExcel,\r\n private filetrGridData: FiletrGridData,\r\n private contractCalculation: ContractCalculation) { }\r\n\r\n ngOnInit() {\r\n this.getmprReportGridHeader();\r\n this.bindmprReportGrid();\r\n }\r\n\r\n getmprReportGridHeader() {\r\n this.contractPerfService.getGridHeader('MissingPur').subscribe(\r\n response => {\r\n this.zeroPurchaseReportGridCol = response;\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n });\r\n }\r\n\r\n\r\n bindmprReportGrid() {\r\n this.spinner.show();\r\n this.contractPerfService.getZeroPurchaseReport().subscribe(\r\n response => {\r\n this.zeroPurchaseReportGridData = response;\r\n this.spinner.hide();\r\n },\r\n error => {\r\n this.toastr.error('Error Occurred');\r\n this.spinner.hide()\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n this.filetrGridData.filterData(filterObj, this.zeroPurchaseReportGridData)\r\n }\r\n\r\n exportExcel() {\r\n let displayedContractJson: any[] = [];\r\n for (let originalValue of this.zeroPurchaseReportGridData) {\r\n let jsonObject = Object.assign({}, originalValue);\r\n jsonObject.Contract_id = undefined;\r\n jsonObject.MPJan = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJan);\r\n jsonObject.MPFeb = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPFeb);\r\n jsonObject.MPMar = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMar);\r\n jsonObject.MPApr = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPApr);\r\n jsonObject.MPMay = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPMay);\r\n jsonObject.MPJun = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJun);\r\n jsonObject.MPJul = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPJul);\r\n jsonObject.MPAug = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPAug);\r\n jsonObject.MPSep = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPSep);\r\n jsonObject.MPOct = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPOct);\r\n jsonObject.MPNov = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPNov);\r\n jsonObject.MPDec = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPDec);\r\n jsonObject.MPTotalSales = this.contractCalculation.convertStringWithCommatoNumber(jsonObject.MPTotalSales);\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedContractJson.push(JSON.parse(jsonString));\r\n }\r\n this._exportExcel.exportAsExcelFile(displayedContractJson, `ZeroPurchaseReport${new Date()}`, 'sheet1', this.zeroPurchaseReportGridCol)\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n this.router.navigate(['Contracts/contracts-details'], { state: { contractId: rowObject.rowData.Contract_id } });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n isAuthSuccess: boolean\r\n constructor(private router: Router) {\r\n }\r\n async canActivate() {\r\n \r\n const token = sessionStorage.getItem('userId');\r\n\r\n if (token) {\r\n console.log(token);\r\n this.isAuthSuccess = true;\r\n }\r\n else {\r\n console.log('invalid user')\r\n this.isAuthSuccess = false;\r\n this.router.navigate([\"Login\"]);\r\n }\r\n\r\n return this.isAuthSuccess;\r\n }\r\n\r\n}\r\n","const BaseUrl =\"https://ecr-cpt-qa.basf.com/api\";\r\nexport const environment = {\r\n dashboardURL: \"https://app.powerbi.com/links/X3mwpkE7Eo?ctid=ecaa386b-c8df-4ce0-ad01-740cbdb5ba55/\",\r\n production: false,\r\n env_name: \"qa\",\r\n importExcel: `${BaseUrl}/Contacts/CreateContracts`,\r\n getAllContracts: `${BaseUrl}/Contacts/GetAllContractDetails`,\r\n importSalesExcel: `${BaseUrl}/SalesData/CreateSalesData`,\r\n getSalesData: `${BaseUrl}/SalesData/GetAllSalesData`,\r\n getContractDetail: `${BaseUrl}/Contacts/GetContractById`,\r\n getMasterTable: `${BaseUrl}/Master/GetMasterData`,\r\n saveContracts: `${BaseUrl}/Contacts/saveContract`,\r\n downloadCommentfile: `${BaseUrl}/Contacts/Download/File`,\r\n sendEmailwdNotify: `${BaseUrl}/Contacts/WdNotify`,\r\n getTrueUpReport: `${BaseUrl}/Reports/TrueUpReport`,\r\n getMissingPurchaseReport: `${BaseUrl}/Reports/MissingPurchaseReport`,\r\n emailContractPDFData: `${BaseUrl}/Contacts/emailContractPDF`,\r\n getBoardReport: `${BaseUrl}/Reports/BoardReport`,\r\n getGridHeader:`${BaseUrl}/Reports/GridHeader`,\r\n getSAMLURL: `${BaseUrl}/Saml/GetSamlURL`,\r\n decryptUserDetails: `${BaseUrl}/Users/decryptUserdetails?decryptUser=`,\r\n getUserInfo: `${BaseUrl}/Users/GetUserDetails?BASFUserID=`,\r\n getUserRole: `${BaseUrl}/Users/getAllRoles`,\r\n getUserDetails:`${BaseUrl}/Users/ActiveDirectory/Email`,\r\n getUsers:`${BaseUrl}/Users/getallusers`,\r\n saveUser:`${BaseUrl}/Users/updateUser`,\r\n deleteUser:`${BaseUrl}/Users/deleteUser`,\r\n ContractPerfReport: `${BaseUrl}/Reports/ContractPerfReport`,\r\n getMasterReport: `${BaseUrl}/Reports/MasterReport`,\r\n getExpiringContract: `${BaseUrl}/Reports/ExpiringContract`,\r\n getAuditlogs: `${BaseUrl}/Contacts/GetAuditLogById`,\r\n getIdByContractNumber: `${BaseUrl}/Contacts/GetIdByContractNumber`,\r\n getSFAccountDetails: `${BaseUrl}/Contacts/GetSFAccountDetails`,\r\n getMissingContractStatusReasonReport: `${BaseUrl}/Reports/MissingContractStatusReason`,\r\n getMPRReport: `${BaseUrl}/Reports/MPRReport`,\r\n getZeroPurchaseReport: `${BaseUrl}/Reports/ZeroPurchaseReport`,\r\n deleteContact: `${BaseUrl}/Contacts/DeleteContact`,\r\n getWdEmails: `${BaseUrl}/Contacts/GetWdEmails`,\r\n getMasterKey: `${BaseUrl}/Master/GetMasterKey`,\r\n getMasterValueByKey: `${BaseUrl}/Master/getMasterValueByKey`,\r\n updateMasterData: `${BaseUrl}/Master/updateMasterData`,\r\n addMasterData: `${BaseUrl}/Master/addMasterData`,\r\n getWdEmailList: `${BaseUrl}/Master/GetWDEmailList`,\r\n addWdEmail: `${BaseUrl}/Master/AddWDEmail`,\r\n deleteWDEmail: `${BaseUrl}/Master/deleteWDEmail`,\r\n getWdEmailMapping: `${BaseUrl}/Master/GetWdEmailMapping`,\r\n addWdEmailMapping: `${BaseUrl}/Master/AddWdEmailMapping`,\r\n deleteWDEmailMapping: `${BaseUrl}/Master/DeleteWDEmailMapping`,\r\n deleteLookUp: `${BaseUrl}/Master/deleteLookUp`,\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","import * as moment from 'moment'\r\n\r\nexport class ContractCalculation {\r\n\r\n mprToDataAmt: any;\r\n parsedFromDate: any;\r\n mprToDataMonth: any;\r\n mprToDataVal: any;\r\n mprPercentval: any;\r\n\r\n\r\n\r\n calculateMPRtoDate(mpr, contractTerm, validFrom, todayDate, contractId, isContractEdit) {\r\n\r\n this.mprToDataAmt = (Number(mpr.replace(/[,\\s]+|[,\\s]+/g, \"\")) / Number(contractTerm)).toFixed(2);\r\n this.parseValidFromDate(validFrom, contractId, isContractEdit);\r\n this.monthDiff(todayDate, this.parsedFromDate)\r\n this.mprToDataVal = ((this.mprToDataAmt) * (this.mprToDataMonth)).toFixed(2)\r\n return this.mprToDataVal\r\n }\r\n\r\n\r\n\r\n parseValidFromDate(validfrmDate: any, contractId, isContractEdit) {\r\n let parsedDate;\r\n if ((validfrmDate.indexOf('/') > -1)) {\r\n parsedDate = moment(validfrmDate, \"MM/DD/YYYY\");\r\n }\r\n else {\r\n parsedDate = moment(validfrmDate, \"YYYY-MM-DD\");\r\n }\r\n\r\n this.parsedFromDate = parsedDate.format(\"MM/DD/YYYY\");\r\n }\r\n\r\n monthDiff(d1, d2) {\r\n const getDate = (date) => moment(date, 'MM/DD/YYYY').startOf('month')\r\n this.mprToDataMonth = moment(getDate([d1])).diff(moment(getDate([d2])), 'months', true)\r\n }\r\n\r\n calculateMPRPerCal(actualPaintPurchase, mprToDateVal) {\r\n mprToDateVal = mprToDateVal.replaceAll(',', '');\r\n actualPaintPurchase = actualPaintPurchase.replaceAll(',', '');\r\n if (mprToDateVal > 0) {\r\n this.mprPercentval = ((Number(actualPaintPurchase) / Number(mprToDateVal)) * 100).toFixed(2);\r\n return this.mprPercentval;\r\n }\r\n else {\r\n return 0;\r\n }\r\n\r\n }\r\n\r\n calculatecontractMPRBalance(mpr, actualPaintPurchase) {\r\n return String((Number(mpr) - Number(actualPaintPurchase)).toFixed(2));\r\n\r\n }\r\n\r\n commafy(num) {\r\n if (num) {\r\n num = num.toString().replaceAll(',', '');\r\n let str = num.toString().split('.');\r\n if (str[0].length >= 5) {\r\n str[0] = str[0].replace(/(\\d)(?=(\\d{3})+$)/g, '$1,');\r\n }\r\n if (str[1] && str[1].length >= 5) {\r\n str[1] = str[1].replace(/(\\d{3})/g, '$1 ');\r\n }\r\n return str.join('.');\r\n } else {\r\n return '0';\r\n }\r\n }\r\n\r\n convertStringWithCommatoNumber(res) {\r\n let checkString = new String(res);\r\n let onlyNmuber = /^[0-9,.]*$/.test(res);\r\n if (res != '' && res != null\r\n && res != undefined\r\n && checkString instanceof String\r\n && !Number.isNaN(res)\r\n && onlyNmuber) {\r\n res = String(res);\r\n let value = 0;\r\n value = parseFloat(res.replaceAll(',', ''));\r\n value = Math.round(value);\r\n return value;\r\n }\r\n return res;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Contractobj } from '../app/interfaces/contractobj';\r\nimport { WdNotifyEmail } from '../app/interfaces/wdNotifyEmail';\r\nimport { UserDetail } from 'src/app/interfaces/userDetail';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ContractPerfService {\r\n\r\n private userSubject = new Subject();\r\n private nav_menuSubject = new Subject();\r\n\r\n\r\n userName: string;\r\n constructor(private _http: HttpClient) {\r\n this.userName = sessionStorage.getItem('userId');\r\n //this.userName = \"JilumuS\";\r\n }\r\n\r\n //Service to import contracts and sales excel data\r\n importExcelFile(excelFileData: FormData, uploadFileType: string) {\r\n if (uploadFileType == 'Contracts') {\r\n return this._http.post(`${environment.importExcel}?userName=${this.userName}`, excelFileData, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n else if (uploadFileType == 'Sales') {\r\n return this._http.post(`${environment.importSalesExcel}?userName=${this.userName}`, excelFileData, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n }\r\n\r\n sendContractPDFEmail(contractPdfData: FormData, contractId: number, emails: string) {\r\n return this._http.post(`${environment.emailContractPDFData}?Emails=${emails}&ContractId=${contractId}&userName=${this.userName}`, contractPdfData, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n //Service to get all contracts data\r\n getAllContractData() {\r\n return this._http.get(`${environment.getAllContracts}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n //Service to get all sales data\r\n getSalesData(contractId, selectedYear) {\r\n return this._http.get(`${environment.getSalesData}?ContractNo=${contractId}&userName=${this.userName}&selectedYear=${selectedYear}`).pipe(map((response) => response));\r\n }\r\n\r\n //service to get detail of specific contract detail\r\n getContractDetailData(ContractId: number): Observable {\r\n return this._http.get(`${environment.getContractDetail}?ContractId=${ContractId}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n //service to initialise the contract screen\r\n getCreateContractDetailData(): Observable {\r\n return this._http.get(\"./assets/CreateContract.json\")\r\n }\r\n\r\n //service of get all master data\r\n getMasterData(): Observable {\r\n return this._http.get(`${environment.getMasterTable}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n //service of save contract data\r\n saveContractData(ContractData: Contractobj, contractId: number): Observable {\r\n return this._http.post(`${environment.saveContracts}?contractId=${contractId}&userName=${this.userName}`, ContractData, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n downloadCommentfile(fileId: number) {\r\n return this._http.get(`${environment.downloadCommentfile}?fileId=${fileId}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n wdNotifyContract(wdNotifyEmail: WdNotifyEmail): Observable {\r\n return this._http.post(`${environment.sendEmailwdNotify}?contractId=${wdNotifyEmail.contractId}&Status=${wdNotifyEmail.status}&userName=${this.userName}`, wdNotifyEmail.emails, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n getTrueUpReport(Year, Month) {\r\n console.log('trueup' + this.userName);\r\n return this._http.get(`${environment.getTrueUpReport}?Year=${Year}&Month=${Month}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getMissingPurchaseReport() {\r\n return this._http.get(`${environment.getMissingPurchaseReport}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getBoardReport(Year, Month, EYear, EMonth) {\r\n return this._http.get(`${environment.getBoardReport}?Year=${Year}&Month=${Month}&EYear=${EYear}&EMonth=${EMonth}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getGridHeader(Name) {\r\n return this._http.get(`${environment.getGridHeader}?fornName=${Name}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getSAMLService() {\r\n return this._http.get(environment.getSAMLURL).pipe(map((response) => response));\r\n }\r\n\r\n getDecryptedUserDetails(data) {\r\n return this._http.get(`${environment.decryptUserDetails}${data}`).pipe(map((response) => response));\r\n }\r\n\r\n getUserInfo(data) {\r\n return this._http.get(`${environment.getUserInfo}${data}`).pipe(map((response) => response));\r\n }\r\n\r\n\r\n setNavmenustatus(status: boolean) {\r\n this.userName = sessionStorage.getItem('userId');\r\n this.nav_menuSubject.next(status);\r\n }\r\n\r\n getNavmenustatus(): Observable {\r\n return this.nav_menuSubject.asObservable();\r\n }\r\n\r\n getUserRole() {\r\n return this._http.get(`${environment.getUserRole}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getUserDetail(emailaddress) {\r\n return this._http.get(`${environment.getUserDetails}?email=${emailaddress}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getUsers() {\r\n return this._http.get(`${environment.getUsers}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n saveUserDetail(userDetail: UserDetail): Observable {\r\n return this._http.post(`${environment.saveUser}?userName=${this.userName}`, userDetail).pipe(map((response) => response))\r\n }\r\n\r\n deleteUser(userId): Observable {\r\n return this._http.delete(`${environment.deleteUser}?userId=${userId}&&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n\r\n getMasterReport() {\r\n return this._http.get(`${environment.getMasterReport}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getCustPerfReport(customerName, contractNumber): Observable {\r\n if (contractNumber == undefined || contractNumber == \"\") {\r\n contractNumber = 0;\r\n }\r\n return this._http.get(`${environment.ContractPerfReport}?contractNumber=${contractNumber}&customerName=${customerName}&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n getExpiringContract(year, quarter): Observable {\r\n if (quarter == undefined) {\r\n quarter = 0;\r\n }\r\n return this._http.get(`${environment.getExpiringContract}?Year=${year}&Quarter=${quarter}&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n\r\n getMissingStatusReasonReport() {\r\n return this._http.get(`${environment.getMissingContractStatusReasonReport}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getMPRReport() {\r\n return this._http.get(`${environment.getMPRReport}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getZeroPurchaseReport() {\r\n return this._http.get(`${environment.getZeroPurchaseReport}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getAuditlogs(contractId) {\r\n return this._http.get(`${environment.getAuditlogs}?ContractId=${contractId}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getIdByContractNumber(contract) {\r\n return this._http.get(`${environment.getIdByContractNumber}?ContractNumber=${contract}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getSFAccountDetails(accountNumber) {\r\n return this._http.get(`${environment.getSFAccountDetails}?AccountNumber=${accountNumber}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n deleteContact(contractId) {\r\n return this._http.delete(`${environment.deleteContact}?ContractId=${contractId}&&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getWdEmails(contractId) {\r\n return this._http.get(`${environment.getWdEmails}?ContractId=${contractId}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getMasterKey() {\r\n return this._http.get(`${environment.getMasterKey}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n getMasterValueByKey(masterKey: string) {\r\n return this._http.get(`${environment.getMasterValueByKey}?masterKey=${masterKey}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n updateMaster(masterDate: any) {\r\n return this._http.put(`${environment.updateMasterData}?userName=${this.userName}`, masterDate, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n addMaster(masterDate: any) {\r\n return this._http.post(`${environment.addMasterData}?userName=${this.userName}`, masterDate, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n getWdEmailList() {\r\n return this._http.get(`${environment.getWdEmailList}?userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n addWDEmail(wdEmails: any) {\r\n return this._http.post(`${environment.addWdEmail}?userName=${this.userName}`, wdEmails, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n deleteWDEmail(id: number) {\r\n return this._http.delete(`${environment.deleteWDEmail}?Id=${id}&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n\r\n getWdEmailMapping(WdId: number) {\r\n return this._http.get(`${environment.getWdEmailMapping}?WdId=${WdId}&userName=${this.userName}`).pipe(map((response) => response));\r\n }\r\n\r\n addWDEmailMapping(wdEmailMappingData: any) {\r\n return this._http.post(`${environment.addWdEmailMapping}?userName=${this.userName}`, wdEmailMappingData, { responseType: 'text' }).pipe(map((response) => response))\r\n }\r\n\r\n deleteWDEmailMapping(id: number) {\r\n return this._http.delete(`${environment.deleteWDEmailMapping}?Id=${id}&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n\r\n deleteLookUp(id: number) {\r\n return this._http.delete(`${environment.deleteLookUp}?Id=${id}&userName=${this.userName}`).pipe(map((response) => response))\r\n }\r\n}\r\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDragDrop]'\r\n})\r\nexport class DragDropDirective {\r\n @Output() onFileDropped = new EventEmitter();\r\n\r\n @HostBinding('style.background-color') private background = '#f5fcff'\r\n @HostBinding('style.opacity') private opacity = '1'\r\n\r\n\r\n //Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#9ecbec';\r\n this.opacity = '0.8'\r\n }\r\n //Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#f5fcff'\r\n this.opacity = '1'\r\n }\r\n //Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#f5fcff'\r\n this.opacity = '1'\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.onFileDropped.emit(files)\r\n }\r\n\r\n }\r\n\r\n}","import * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\nenum MonthsValues {\r\n \"Jan\" = 1,\r\n \"Feb\" = 2,\r\n \"Mar\" = 3,\r\n \"Apr\" = 4,\r\n \"May\" = 5,\r\n \"Jun\" = 6,\r\n \"Jul\" = 7,\r\n \"Aug\" = 8,\r\n \"Sep\" = 9,\r\n \"Oct\" = 10,\r\n \"Nov\" = 11,\r\n \"Dec\" = 12,\r\n}\r\nexport class ExportExcel {\r\n\r\n exportPerformanceReport(json: any[], excelFileName: string, sheetName: string, columnValues: any[], json2: any[] = [], sheetName2: string = \"\", columnValues2: any[] = []) {\r\n let headerValues: string[] = columnValues2.map(header => header.header);\r\n let displayedJson: any[] = [];\r\n const numHeaders = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Total Sales', 'MPR'];\r\n let json2keys = Object.keys(json2[0]);\r\n for (let originalValue of json2) {\r\n let obj = {};\r\n for (let i = 0; i < json2keys.length; i++) {\r\n if (numHeaders.includes(headerValues[i])) {\r\n obj[headerValues[i]] = Number(originalValue[json2keys[i]]);\r\n }\r\n else {\r\n obj[headerValues[i]] = originalValue[json2keys[i]];\r\n }\r\n }\r\n displayedJson.push(obj);\r\n }\r\n\r\n let headerValues2: string[] = columnValues.map(header => header.header);\r\n let newHead = [];\r\n headerValues2.forEach(head => {\r\n newHead.push(head);\r\n });\r\n\r\n const workbook: XLSX.WorkBook = XLSX.utils.book_new();\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(displayedJson);\r\n XLSX.utils.sheet_add_aoa(worksheet, [newHead], { origin: \"A\" + (json2.length + 3) });\r\n XLSX.utils.sheet_add_json(worksheet, json, { origin: \"A\" + (json2.length + 4), skipHeader: true });\r\n XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);\r\n let range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n let address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\r\n if (!worksheet[address]) continue;\r\n worksheet[address] = {\r\n v: headerValues[C],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n exportBoardReport(json: any[], excelFileName: string, sheetName: string, columnValues: any[], month, year, emonth, eyear) {\r\n let dateJson: any[] = [];\r\n dateJson.push({ From: '', 'Start Month': MonthsValues[month], 'Start Year': year, To: '', 'End Month': MonthsValues[emonth], 'End Year': eyear });\r\n let headerValues: string[] = columnValues.map(header => header.header);\r\n let newHead = [];\r\n headerValues.forEach(head => {\r\n newHead.push(head);\r\n });\r\n\r\n const wb = XLSX.utils.book_new();\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(dateJson);\r\n XLSX.utils.sheet_add_aoa(ws, [newHead], { origin: \"A4\" });\r\n XLSX.utils.sheet_add_json(ws, json, { origin: \"A5\", skipHeader: true });\r\n XLSX.utils.book_append_sheet(wb, ws, sheetName);\r\n const merge = [\r\n { s: { r: 0, c: 0 }, e: { r: 1, c: 0 } }, { s: { r: 0, c: 3 }, e: { r: 1, c: 3 } },\r\n ];\r\n ws[\"!merges\"] = merge;\r\n \r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n exportAsExcelFile(json: any[], excelFileName: string, sheetName: string, columnValues: any[]): void {\r\n let headerValues: string[] = columnValues.map(header => header.header);\r\n let displayedJson: any[] = [];\r\n\r\n if (json != null && json.length > 0) {\r\n for (let originalValue of json) {\r\n let jsonString = JSON.stringify(originalValue);\r\n displayedJson.push(JSON.parse(jsonString));\r\n }\r\n\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(displayedJson);\r\n let range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n let address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\r\n if (!worksheet[address]) continue;\r\n worksheet[address] = {\r\n v: headerValues[C],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n\r\n XLSX.utils.sheet_add_aoa(worksheet, [[]], { origin: -1 });\r\n const workbook: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n }\r\n\r\n generateSheet2(json2, worksheet2, columnValues2, startLength) {\r\n let displayedJson2: any[] = [];\r\n if (json2 != null && json2.length > 0) {\r\n for (let originalValue of json2) {\r\n let jsonString2 = JSON.stringify(originalValue);\r\n displayedJson2.push(JSON.parse(jsonString2));\r\n }\r\n let headerValues2: string[] = columnValues2.map(header => header.header);\r\n const tempGridData = XLSX.utils.json_to_sheet(displayedJson2);\r\n worksheet2 = Object.assign(worksheet2, tempGridData);\r\n let range2 = XLSX.utils.decode_range(worksheet2['!ref']);\r\n for (let D = range2.s.c + startLength; D <= range2.e.c + startLength; ++D) {\r\n let address2 = XLSX.utils.encode_col(D) + \"1\"; // <-- first row, column number C\r\n if (!worksheet2[address2]) continue;\r\n worksheet2[address2] = {\r\n v: headerValues2[D],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n }\r\n return worksheet2;\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n}\r\n","\r\nexport class FiletrGridData {\r\n filteredData: any;\r\n filteredFields = [];\r\n month: any\r\n year: any = [{ value: 2010, id: 2010 }]\r\n selectedMonthYear: any = {\r\n selectedMonth: 1,\r\n selectedYear: 2010\r\n }\r\n todayDate: any;\r\n\r\n filterData(filterObj, gridData) {\r\n \r\n let { value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = gridData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(gridData));\r\n }\r\n }\r\n getMonth() {\r\n this.month = [\r\n { value: \"Jan\", key: 1 },\r\n { value: \"Feb\", key: 2 },\r\n { value: \"Mar\", key: 3 },\r\n { value: \"Apr\", key: 4 },\r\n { value: \"May\", key: 5 },\r\n { value: \"Jun\", key: 6 },\r\n { value: \"Jul\", key: 7 },\r\n { value: \"Aug\", key: 8 },\r\n { value: \"Sep\", key: 9 },\r\n { value: \"Oct\", key: 10 },\r\n { value: \"Nov\", key: 11 },\r\n { value: \"Dec\", key: 12 },\r\n ]\r\n\r\n return this.month;\r\n }\r\n\r\n getYear() {\r\n for (let i = 2011; i <= 2040; i++) {\r\n this.year.push(\r\n { value: i, key: i }\r\n )\r\n }\r\n return this.year;\r\n }\r\n\r\n getCurrentMonthYear() {\r\n \r\n const d = new Date();\r\n this.selectedMonthYear.selectedMonth = d.getMonth() + 1;\r\n this.selectedMonthYear.selectedYear = d.getFullYear();\r\n return this.selectedMonthYear;\r\n\r\n }\r\n\r\n getTodaysDate() {\r\n let today = new Date();\r\n let dd = String(today.getDate()).padStart(2, '0');\r\n let mm = String(today.getMonth() + 1).padStart(2, '0');\r\n let yyyy = today.getFullYear();\r\n this.todayDate = mm + '/' + dd + '/' + yyyy;\r\n return this.todayDate\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatamount'\r\n})\r\nexport class FormatamountPipe implements PipeTransform {\r\n\r\n transform(num: any) {\r\n \r\n num = num.toString().replaceAll(',', '');\r\n if (num && !isNaN(num)) {\r\n let str = num.toString().split('.');\r\n if (str[0].length >= 4) {\r\n str[0] = str[0].replace(/(\\d)(?=(\\d{3})+$)/g, '$1,');\r\n }\r\n if (str[1] && str[1].length >= 5) {\r\n str[1] = str[1].replace(/(\\d{3})/g, '$1 ');\r\n }\r\n return str.join('.');\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\r\\n\\r\\n\\r\\n\";","export default \"
\\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 Field is required...!\\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\";","export default \"
\\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 \\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\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 Email address is required...!\\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\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n WD\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Email\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email address is required...!\\r\\n
\\r\\n\\r\\n
\\r\\n Email address does not exists...!\\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\";","export default \"
\\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\\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
Yes
\\r\\n \\r\\n
No
\\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 {{i+1}}\\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 \\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
\\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 = 48 && event.charCode <= 57))\\\" id=\\\"\\\" class=\\\"form-control full-width\\\" name=\\\"contract-term\\\"\\r\\n (blur)=\\\"mprToData()\\\" [(ngModel)]=\\\"contractObj?.Contract.ContractTerm\\\">\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" (blur)=\\\"mprToData()\\\" id=\\\"\\\" class=\\\"form-control\\\"\\r\\n name=\\\"market-investment\\\" [(ngModel)]=\\\"contractObj?.Contract.MarketInvestment\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" id=\\\"\\\" class=\\\"form-control full-width\\\"\\r\\n name=\\\"additional-payment\\\" [(ngModel)]=\\\"contractObj?.Contract.AdditionalPayment\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" (blur)=\\\"contractMPRBalance()\\\"\\r\\n class=\\\"form-control col-md-7\\\" name=\\\"mpr\\\" [(ngModel)]=\\\"contractObj?.Contract.MPR\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" class=\\\"form-control\\\" name=\\\"variable-rebate\\\"\\r\\n [(ngModel)]=\\\"contractObj?.Contract.VariableRebate\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" class=\\\"form-control\\\" name=\\\"fixed-rebate\\\"\\r\\n [(ngModel)]=\\\"contractObj?.Contract.FixedRebate\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" class=\\\"form-control\\\" name=\\\"annual-fixed-rebate\\\"\\r\\n [(ngModel)]=\\\"contractObj?.Contract.AnnualFixedRebate\\\">\\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 \\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 Payment {{j+1}}\\r\\n\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\"\\r\\n [ngModel]=\\\"paymentobj.reimbursementAmount | formatamount\\\" (ngModelChange)=\\\"paymentobj.reimbursementAmount=$event\\\">\\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
0\\\" class=\\\"col-md-3\\\">\\r\\n \\r\\n
\\r\\n

{{paymentfile.name}}

\\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 True up {{j+1}}\\r\\n\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" (blur)=\\\"calculateTrueUpCum(j)\\\"\\r\\n [ngModel]=\\\"trueobj.TrueUpAmt | formatamount\\\" (ngModelChange)=\\\"trueobj.TrueUpAmt=$event\\\">\\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
0\\\">\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\"\\r\\n [ngModel]=\\\"contractObj?.TrueUp[0].APTrueUpAmt | formatamount\\\" (ngModelChange)=\\\"contractObj?.TrueUp[0].APTrueUpAmt=$event\\\">\\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 Pvi True up {{j+1}}\\r\\n\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\" (blur)=\\\"calculatePviTrueUpCum(j)\\\"\\r\\n [ngModel]=\\\"pvitrueobj.PviTrueUpAmt | formatamount\\\" (ngModelChange)=\\\"pvitrueobj.PviTrueUpAmt=$event\\\">\\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
0\\\">\\r\\n \\r\\n = 48 && event.charCode <= 57)))\\\"\\r\\n [ngModel]=\\\"contractObj?.PviTrueUp[0].PVI_TrueUpAmt | formatamount\\\" (ngModelChange)=\\\"contractObj?.PviTrueUp[0].PVI_TrueUpAmt=$event\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\" header=\\\"PURCHASES For 1 Location\\\" [selected]=\\\"true\\\">\\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
\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\" />\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\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
\\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 \\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 = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n = 48 && event.charCode <= 57)))\\\" (change)=\\\"totalCalculation(mainshopPur?.salesData?.Jan, k)\\\">\\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 0\\\" header=\\\"PURCHASES For MSO\\\" [selected]=\\\"true\\\">\\r\\n
0\\\" style=\\\"margin-bottom: 10px;\\\">\\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
\\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\\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 \\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 \\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
\\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
\\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
\\r\\n
\\r\\n
Date:
\\r\\n
\\r\\n {{todayDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
Comment:
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"col-md-3\\\">\\r\\n \\r\\n
\\r\\n

{{commentfileData.name}}

\\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 {{auditlog.firstName}} {{auditlog.lastName}} has sent mail to {{auditlog.email}} on {{auditlog.date}}\\r\\n {{auditlog.firstName}} {{auditlog.lastName}} has changed contract status to {{auditlog.status}} on {{auditlog.date}}\\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 {{item.keyvalue || 'Unnamed group'}}\\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\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Contract List
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Create\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Export Sales\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Import Sales\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Export Contracts\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Import Contracts\\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\\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\";","export default \"
\\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 {{col.header}}\\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 {{docdetail.fileName}}
\\r\\n

\\r\\n

\\r\\n {{rowData[col.field]}}

\\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\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n Copyrights 2023 BASF Corporation\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n \\\"\\r\\n \\r\\n
\";","export default \"\\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 File Upload\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

Drag and Drop Template file to Upload

\\r\\n

or click Browse

\\r\\n
\\r\\n
\\r\\n

Attached File: {{fileName}}

\\r\\n \\r\\n Remove\\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\";","export default \"
\\r\\n
\\r\\n

You are not authorized to login! Please contact Application Administrator

\\r\\n
\\r\\n
\\r\\n \";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Board Report
\\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 Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Expiring Contracts
\\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 Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Master List Report
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Missing Purchase Report
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Missing Status Reason
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
MPR Report
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Export Report\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Performance By Customer
\\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 Export Report\\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

{{custPurchasePerData.Year}}

\\r\\n

{{custPurchasePerData.Amount}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{customerPerData[0].ActualPaintPurchase}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

\\r\\n

{{mprReqToDataAmt}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{shortFall}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{mprPer}}%

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{customerPerData[0].MarketInvestment}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{shortfallPer}}%

\\r\\n

{{shortfallAmt}} + Taxes

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{contractMPRBalance}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{variableRebate}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

{{fixedRebate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\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\\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
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
True Up Report
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Export True Up\\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\";","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Zero Purchase Report
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Export Report\\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\";","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\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 = 46700;","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}