{"version":3,"file":"main.js","mappings":"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AACY;AAEzD,IAAIxC,6EAAsB,EAAE;EAC1B4G,6DAAc,EAAE;;AAGlBC,sEAAAA,EAAwB,CAACC,eAAe,CAACrK,sDAAS,CAAC,CAChDsK,KAAK,CAACC,GAAG,IAAI/F,OAAO,CAACkB,GAAG,CAAC6E,GAAG,CAAC,CAAC;;;;;;;;;;ACZjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/adal-optional.interceptor.ts","./src/app/app-assets/asset-condition-by-description/asset-condition-by-description.component.html","./src/app/app-assets/asset-condition-by-description/asset-condition-by-description.component.ts","./src/app/app-assets/asset-condition-by-store/asset-condition-by-store.component.html","./src/app/app-assets/asset-condition-by-store/asset-condition-by-store.component.ts","./src/app/app-assets/asset-condition-rating/asset-condition-rating.component.html","./src/app/app-assets/asset-condition-rating/asset-condition-rating.component.ts","./src/app/app-assets/asset-condition/asset-condition.component.ts","./src/app/app-assets/asset-condition/asset-condition.component.html","./src/app/app-assets/assets/assets.component.html","./src/app/app-assets/assets/assets.component.ts","./src/app/app-assets/life-cycle-forecast/life-cycle-forecast.component.html","./src/app/app-assets/life-cycle-forecast/life-cycle-forecast.component.ts","./src/app/app-assets/models/applyFilters.ts","./src/app/app-assets/services/ac-by-description.service.ts","./src/app/app-assets/services/ac-by-store.service.ts","./src/app/app-assets/services/ac-ratings.service.ts","./src/app/app-assets/services/ac-sats.service.ts","./src/app/app-assets/services/entities.service.ts","./src/app/app-assets/services/files.service.ts","./src/app/app-assets/services/life-cycle-forecast.service.ts","./src/app/app-assets/services/store-filters.service.ts","./src/app/app-assets/services/store.service.ts","./src/app/app-assets/store-dashboard/store-dashboard.component.ts","./src/app/app-assets/store-dashboard/store-dashboard.component.html","./src/app/app-assets/store-info/store-info.component.html","./src/app/app-assets/store-info/store-info.component.ts","./src/app/app-work-orders/asset-affecting-st-table/asset-affecting-st-table.component.ts","./src/app/app-work-orders/asset-affecting-st-table/asset-affecting-st-table.component.html","./src/app/app-work-orders/asset-availability-chart/asset-availability-chart.component.ts","./src/app/app-work-orders/asset-availability-chart/asset-availability-chart.component.html","./src/app/app-work-orders/asset-availability-critical-offline/asset-availability-critical-offline.component.ts","./src/app/app-work-orders/asset-availability-critical-offline/asset-availability-critical-offline.component.html","./src/app/app-work-orders/asset-availability-summary/asset-availability-summary.component.ts","./src/app/app-work-orders/asset-availability-summary/asset-availability-summary.component.html","./src/app/app-work-orders/asset-availability-table/asset-availability-table.component.ts","./src/app/app-work-orders/asset-availability-table/asset-availability-table.component.html","./src/app/app-work-orders/asset-availability/asset-availability.component.ts","./src/app/app-work-orders/asset-availability/asset-availability.component.html","./src/app/app-work-orders/asset-performance-age/asset-performance-age.component.ts","./src/app/app-work-orders/asset-performance-age/asset-performance-age.component.html","./src/app/app-work-orders/asset-performance-month/asset-performance-month.component.ts","./src/app/app-work-orders/asset-performance-month/asset-performance-month.component.html","./src/app/app-work-orders/asset-performance-series/asset-performance-series.component.ts","./src/app/app-work-orders/asset-performance-series/asset-performance-series.component.html","./src/app/app-work-orders/asset-performance-summary-asset/asset-performance-summary-asset.component.ts","./src/app/app-work-orders/asset-performance-summary-asset/asset-performance-summary-asset.component.html","./src/app/app-work-orders/asset-performance/asset-performance.component.ts","./src/app/app-work-orders/asset-performance/asset-performance.component.html","./src/app/app-work-orders/financial-actual-budget-category/financial-actual-budget-category.component.ts","./src/app/app-work-orders/financial-actual-budget-category/financial-actual-budget-category.component.html","./src/app/app-work-orders/financial-actual-budget-fuel-non-fuel-state/financial-actual-budget-fuel-non-fuel-state.component.ts","./src/app/app-work-orders/financial-actual-budget-fuel-non-fuel-state/financial-actual-budget-fuel-non-fuel-state.component.html","./src/app/app-work-orders/financial-actual-budget-store-type-state/financial-actual-budget-store-type-state.component.ts","./src/app/app-work-orders/financial-actual-budget-store-type-state/financial-actual-budget-store-type-state.component.html","./src/app/app-work-orders/financial-asset-cost/financial-asset-cost.component.ts","./src/app/app-work-orders/financial-asset-cost/financial-asset-cost.component.html","./src/app/app-work-orders/financial-asset-count/financial-asset-count.component.ts","./src/app/app-work-orders/financial-asset-count/financial-asset-count.component.html","./src/app/app-work-orders/financial-budget-actual-forecast-month/financial-budget-actual-forecast-month.component.ts","./src/app/app-work-orders/financial-budget-actual-forecast-month/financial-budget-actual-forecast-month.component.html","./src/app/app-work-orders/financial-budget-actual-forecast-state/financial-budget-actual-forecast-state.component.ts","./src/app/app-work-orders/financial-budget-actual-forecast-state/financial-budget-actual-forecast-state.component.html","./src/app/app-work-orders/financial-forecast-budget-store-gl/financial-forecast-budget-store-gl.component.ts","./src/app/app-work-orders/financial-forecast-budget-store-gl/financial-forecast-budget-store-gl.component.html","./src/app/app-work-orders/financial-forecast-budget-store/financial-forecast-budget-store.component.ts","./src/app/app-work-orders/financial-forecast-budget-store/financial-forecast-budget-store.component.html","./src/app/app-work-orders/financial-summary/financial-summary.component.ts","./src/app/app-work-orders/financial-summary/financial-summary.component.html","./src/app/app-work-orders/financial-wo/financial-wo.component.ts","./src/app/app-work-orders/financial-wo/financial-wo.component.html","./src/app/app-work-orders/financial/financial.component.ts","./src/app/app-work-orders/financial/financial.component.html","./src/app/app-work-orders/models/dashboardAssetPerformanceDataSetModel.ts","./src/app/app-work-orders/models/dashboardRowModel.ts","./src/app/app-work-orders/models/dashboardWidgetModel.ts","./src/app/app-work-orders/models/filter.ts","./src/app/app-work-orders/models/filterLight.ts","./src/app/app-work-orders/models/queryOptionsModel.ts","./src/app/app-work-orders/models/queryOptionsPagingModel.ts","./src/app/app-work-orders/models/reportWeeklyStatusModel.ts","./src/app/app-work-orders/services/asset.service.ts","./src/app/app-work-orders/services/dashboard.service.ts","./src/app/app-work-orders/services/financial.service.ts","./src/app/app-work-orders/services/vendor-kpi.service.ts","./src/app/app-work-orders/services/wo-filters.service.ts","./src/app/app-work-orders/services/work-order-report.service.ts","./src/app/app-work-orders/vendor-performance-kpi-report/vendor-performance-kpi-report.component.ts","./src/app/app-work-orders/vendor-performance-kpi-report/vendor-performance-kpi-report.component.html","./src/app/app-work-orders/vendor-performance-status-month/vendor-performance-status-month.component.ts","./src/app/app-work-orders/vendor-performance-status-month/vendor-performance-status-month.component.html","./src/app/app-work-orders/vendor-performance-status-state/vendor-performance-status-state.component.ts","./src/app/app-work-orders/vendor-performance-status-state/vendor-performance-status-state.component.html","./src/app/app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary-sgh.component.ts","./src/app/app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary-sgh.component.html","./src/app/app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary.component.ts","./src/app/app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary.component.html","./src/app/app-work-orders/vendor-performance-status-vendor-p/vendor-performance-status-vendor-p.component.ts","./src/app/app-work-orders/vendor-performance-status-vendor-p/vendor-performance-status-vendor-p.component.html","./src/app/app-work-orders/vendor-performance-status-vendor-ri/vendor-performance-status-vendor-ri.component.ts","./src/app/app-work-orders/vendor-performance-status-vendor-ri/vendor-performance-status-vendor-ri.component.html","./src/app/app-work-orders/vendor-performance-status/vendor-performance-status.component.ts","./src/app/app-work-orders/vendor-performance-status/vendor-performance-status.component.html","./src/app/app-work-orders/weekly-status-asset/weekly-status-asset.component.ts","./src/app/app-work-orders/weekly-status-asset/weekly-status-asset.component.html","./src/app/app-work-orders/weekly-status-daily-volume/weekly-status-daily-volume.component.ts","./src/app/app-work-orders/weekly-status-daily-volume/weekly-status-daily-volume.component.html","./src/app/app-work-orders/weekly-status-kpi-performance/weekly-status-kpi-performance.component.ts","./src/app/app-work-orders/weekly-status-kpi-performance/weekly-status-kpi-performance.component.html","./src/app/app-work-orders/weekly-status-top/weekly-status-top.component.ts","./src/app/app-work-orders/weekly-status-top/weekly-status-top.component.html","./src/app/app-work-orders/weekly-status-volume-priority/weekly-status-volume-priority.component.ts","./src/app/app-work-orders/weekly-status-volume-priority/weekly-status-volume-priority.component.html","./src/app/app-work-orders/weekly-status/weekly-status.component.ts","./src/app/app-work-orders/weekly-status/weekly-status.component.html","./src/app/app-work-orders/widget-config/widget-config.component.ts","./src/app/app-work-orders/widget-config/widget-config.component.html","./src/app/app-work-orders/work-orders-completed-asset/work-orders-completed-asset.component.ts","./src/app/app-work-orders/work-orders-completed-asset/work-orders-completed-asset.component.html","./src/app/app-work-orders/work-orders-completed-month/work-orders-completed-month.component.ts","./src/app/app-work-orders/work-orders-completed-month/work-orders-completed-month.component.html","./src/app/app-work-orders/work-orders-completed-priority/work-orders-completed-priority.component.ts","./src/app/app-work-orders/work-orders-completed-priority/work-orders-completed-priority.component.html","./src/app/app-work-orders/work-orders-completed-resolve/work-orders-completed-resolve.component.ts","./src/app/app-work-orders/work-orders-completed-resolve/work-orders-completed-resolve.component.html","./src/app/app-work-orders/work-orders-completed-respond/work-orders-completed-respond.component.ts","./src/app/app-work-orders/work-orders-completed-respond/work-orders-completed-respond.component.html","./src/app/app-work-orders/work-orders-completed-state/work-orders-completed-state.component.ts","./src/app/app-work-orders/work-orders-completed-state/work-orders-completed-state.component.html","./src/app/app-work-orders/work-orders-completed-store/work-orders-completed-store.component.ts","./src/app/app-work-orders/work-orders-completed-store/work-orders-completed-store.component.html","./src/app/app-work-orders/work-orders-completed-summary/work-orders-completed-summary.component.ts","./src/app/app-work-orders/work-orders-completed-summary/work-orders-completed-summary.component.html","./src/app/app-work-orders/work-orders-completed-vendor/work-orders-completed-vendor.component.ts","./src/app/app-work-orders/work-orders-completed-vendor/work-orders-completed-vendor.component.html","./src/app/app-work-orders/work-orders-completed/work-orders-completed.component.ts","./src/app/app-work-orders/work-orders-completed/work-orders-completed.component.html","./src/app/app-work-orders/work-orders-filters/work-orders-filters.component.ts","./src/app/app-work-orders/work-orders-filters/work-orders-filters.component.html","./src/app/app-work-orders/work-orders-nav/work-orders-nav.component.html","./src/app/app-work-orders/work-orders-nav/work-orders-nav.component.ts","./src/app/app-work-orders/work-orders-open-asset/work-orders-open-asset.component.ts","./src/app/app-work-orders/work-orders-open-asset/work-orders-open-asset.component.html","./src/app/app-work-orders/work-orders-open-overdue-date/work-orders-open-overdue-date.component.ts","./src/app/app-work-orders/work-orders-open-overdue-date/work-orders-open-overdue-date.component.html","./src/app/app-work-orders/work-orders-open-overdue/work-orders-open-overdue.component.ts","./src/app/app-work-orders/work-orders-open-overdue/work-orders-open-overdue.component.html","./src/app/app-work-orders/work-orders-open-pm/work-orders-open-pm.component.ts","./src/app/app-work-orders/work-orders-open-pm/work-orders-open-pm.component.html","./src/app/app-work-orders/work-orders-open-priority/work-orders-open-priority.component.ts","./src/app/app-work-orders/work-orders-open-priority/work-orders-open-priority.component.html","./src/app/app-work-orders/work-orders-open-rm/work-orders-open-rm.component.ts","./src/app/app-work-orders/work-orders-open-rm/work-orders-open-rm.component.html","./src/app/app-work-orders/work-orders-open-state-pm/work-orders-open-state-pm.component.ts","./src/app/app-work-orders/work-orders-open-state-pm/work-orders-open-state-pm.component.html","./src/app/app-work-orders/work-orders-open-state-rm/work-orders-open-state-rm.component.ts","./src/app/app-work-orders/work-orders-open-state-rm/work-orders-open-state-rm.component.html","./src/app/app-work-orders/work-orders-open-state/work-orders-open-state.component.ts","./src/app/app-work-orders/work-orders-open-state/work-orders-open-state.component.html","./src/app/app-work-orders/work-orders-open-store/work-orders-open-store.component.ts","./src/app/app-work-orders/work-orders-open-store/work-orders-open-store.component.html","./src/app/app-work-orders/work-orders-open-summary/work-orders-open-summary.component.ts","./src/app/app-work-orders/work-orders-open-summary/work-orders-open-summary.component.html","./src/app/app-work-orders/work-orders-open-vendor/work-orders-open-vendor.component.ts","./src/app/app-work-orders/work-orders-open-vendor/work-orders-open-vendor.component.html","./src/app/app-work-orders/work-orders-open/work-orders-open.component.ts","./src/app/app-work-orders/work-orders-open/work-orders-open.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/azure-auth-callback/azure-auth-callback.component.ts","./src/app/converterHelper.ts","./src/app/datePipeFull.ts","./src/app/decimalPipeCostTwoDigits.ts","./src/app/decimalPipeCostZeroDigits.ts","./src/app/decimalPipeTwoDigits.ts","./src/app/decimalPipeZeroDigits.ts","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/home/home.component.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/models/settings.ts","./src/app/saml-auth-callback/saml-auth-callback.component.ts","./src/app/services/auth-guard.service.ts","./src/app/services/auth.service.ts","./src/app/services/helper.service.ts","./src/app/services/message.service.ts","./src/app/services/settings.http.service.ts","./src/app/services/settings.service.ts","./src/app/services/state.service.ts","./src/app/services/white-label.service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AdalService } from 'adal-angular4';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AdalOptionalInterceptor implements HttpInterceptor {\r\n constructor(private adal: AdalService) {\r\n\r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // if the endpoint is not registered then pass\r\n // the request as it is to the next handler\r\n try {\r\n var resource = this.adal.getResourceForEndpoint(request.url);\r\n if (!resource || !this.adal.userInfo.authenticated) {\r\n return next.handle(request);\r\n }\r\n } catch {\r\n return next.handle(request);\r\n }\r\n return this.adal.acquireToken(resource)\r\n .pipe(mergeMap(function (token) {\r\n // clone the request and replace the original headers with\r\n // cloned headers, updated with the authorization\r\n var authorizedRequest = request.clone({\r\n headers: request.headers.set('Authorization', 'Bearer ' + token),\r\n });\r\n return next.handle(authorizedRequest);\r\n }));\r\n }\r\n}","
\r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n {{row.description}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n {{row.condition | number : '1.1-1'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year1 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year2 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year3 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year4 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year5 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year6 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year7 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year8 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year9 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year10 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { StateService } from '../../services/state.service';\r\nimport { Store } from '../models/store';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { AssetConditionsInfoByDescriptionService } from '../services/ac-by-description.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n selector: 'app-asset-condition-by-description',\r\n templateUrl: './asset-condition-by-description.component.html'\r\n})\r\nexport class AssetConditionByDescriptionComponent implements OnInit {\r\n tableByDescription = {\r\n rows: [],\r\n columns: [],\r\n conditionTotal: 0,\r\n year1Total: 0,\r\n year2Total: 0,\r\n year3Total: 0,\r\n year4Total: 0,\r\n year5Total: 0,\r\n year6Total: 0,\r\n year7Total: 0,\r\n year8Total: 0,\r\n year9Total: 0,\r\n year10Total: 0\r\n }\r\n\r\n assetConditionsInfoByDescriptionLoaded: boolean;\r\n\r\n constructor(private stateService: StateService,\r\n private assetConditionsInfoByDescriptionService: AssetConditionsInfoByDescriptionService,\r\n public whiteLabelService: WhiteLabelService) {\r\n if (this.whiteLabelService.isWhittlesea()) {\r\n this.tableByDescription.columns = [\r\n { prop: 'description', name: 'Description' },\r\n { prop: 'condition', name: 'Condition' },\r\n { prop: 'year1', name: 'Year 1' },\r\n { prop: 'year2', name: 'Year 2' },\r\n { prop: 'year3', name: 'Year 3' },\r\n { prop: 'year4', name: 'Year 4' },\r\n { prop: 'year5', name: 'Year 5' },\r\n { prop: 'year6', name: 'Year 6' },\r\n { prop: 'year7', name: 'Year 7' },\r\n { prop: 'year8', name: 'Year 8' },\r\n { prop: 'year9', name: 'Year 9' },\r\n { prop: 'year10', name: 'Year 10' }\r\n ];\r\n } else {\r\n this.tableByDescription.columns = [\r\n { prop: 'description', name: 'Description' },\r\n { prop: 'condition', name: 'Condition' },\r\n { prop: 'year1', name: 'Year 1' },\r\n { prop: 'year2', name: 'Year 2' },\r\n { prop: 'year3', name: 'Year 3' },\r\n { prop: 'year4', name: 'Year 4' },\r\n { prop: 'year5', name: 'Year 5' }\r\n ];\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.assetConditionsInfoByDescriptionLoaded = false;\r\n this.stateService.getStoreAndFilter.subscribe((value: [Store, ApplyFilters]) => {\r\n this.updateAsset(value[0] ? value[0].storeNo : null, value[1]);\r\n });\r\n }\r\n\r\n updateAsset(storeNo: string, filters: ApplyFilters) {\r\n //this.assetConditionsInfoByDescriptionLoaded = false;\r\n this.tableByDescription.rows = [];\r\n this.tableByDescription.conditionTotal = 0;\r\n this.tableByDescription.year1Total = 0;\r\n this.tableByDescription.year2Total = 0;\r\n this.tableByDescription.year3Total = 0;\r\n this.tableByDescription.year4Total = 0;\r\n this.tableByDescription.year5Total = 0;\r\n this.tableByDescription.year6Total = 0;\r\n this.tableByDescription.year7Total = 0;\r\n this.tableByDescription.year8Total = 0;\r\n this.tableByDescription.year9Total = 0;\r\n this.tableByDescription.year10Total = 0;\r\n this.assetConditionsInfoByDescriptionService.getAssetConditionsInfoByDescription(storeNo, filters)\r\n .subscribe(assetConditionsInfoByDescription => {\r\n let conditionTotal = 0;\r\n let year1Total = 0;\r\n let year2Total = 0;\r\n let year3Total = 0;\r\n let year4Total = 0;\r\n let year5Total = 0;\r\n let year6Total = 0;\r\n let year7Total = 0;\r\n let year8Total = 0;\r\n let year9Total = 0;\r\n let year10Total = 0;\r\n assetConditionsInfoByDescription.forEach(element => {\r\n conditionTotal += element.condition;\r\n year1Total += element.year1;\r\n year2Total += element.year2;\r\n year3Total += element.year3;\r\n year4Total += element.year4;\r\n year5Total += element.year5;\r\n year6Total += element.year6;\r\n year7Total += element.year7;\r\n year8Total += element.year8;\r\n year9Total += element.year9;\r\n year10Total += element.year10;\r\n });\r\n conditionTotal /= assetConditionsInfoByDescription.length;\r\n this.tableByDescription.conditionTotal = conditionTotal;\r\n this.tableByDescription.year1Total = year1Total;\r\n this.tableByDescription.year2Total = year2Total;\r\n this.tableByDescription.year3Total = year3Total;\r\n this.tableByDescription.year4Total = year4Total;\r\n this.tableByDescription.year5Total = year5Total;\r\n this.tableByDescription.year6Total = year6Total;\r\n this.tableByDescription.year7Total = year7Total;\r\n this.tableByDescription.year8Total = year8Total;\r\n this.tableByDescription.year9Total = year9Total;\r\n this.tableByDescription.year10Total = year10Total;\r\n this.assetConditionsInfoByDescriptionLoaded = true;\r\n this.tableByDescription.rows = assetConditionsInfoByDescription;\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n {{row.storeNo}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n {{row.storeName}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n {{row.condition | number : '1.1-1'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year1 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year2 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year3 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year4 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year5 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year6 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year7 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year8 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year9 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n {{column.name}}\r\n \r\n \r\n ${{row.year10 | number : '1.0-0'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { StateService } from '../../services/state.service';\r\nimport { Store } from '../models/store';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { AssetConditionsInfoByStoreService } from '../services/ac-by-store.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n selector: 'app-asset-condition-by-store',\r\n templateUrl: './asset-condition-by-store.component.html'\r\n})\r\nexport class AssetConditionByStoreComponent implements OnInit {\r\n tableByStore = {\r\n rows: [],\r\n columns: [],\r\n conditionTotal: 0,\r\n year1Total: 0,\r\n year2Total: 0,\r\n year3Total: 0,\r\n year4Total: 0,\r\n year5Total: 0,\r\n year6Total: 0,\r\n year7Total: 0,\r\n year8Total: 0,\r\n year9Total: 0,\r\n year10Total: 0\r\n }\r\n\r\n assetConditionsInfoByStoreLoaded: boolean;\r\n\r\n constructor(private stateService: StateService,\r\n private assetConditionsInfoByStoreService: AssetConditionsInfoByStoreService,\r\n public whiteLabelService: WhiteLabelService) {\r\n if (this.whiteLabelService.isWhittlesea()) {\r\n this.tableByStore.columns = [\r\n { prop: 'storeNo', name: 'Store No.' },\r\n { prop: 'storeName', name: 'Store Name' },\r\n { prop: 'condition', name: 'Condition' },\r\n { prop: 'year1', name: 'Year 1' },\r\n { prop: 'year2', name: 'Year 2' },\r\n { prop: 'year3', name: 'Year 3' },\r\n { prop: 'year4', name: 'Year 4' },\r\n { prop: 'year5', name: 'Year 5' },\r\n { prop: 'year6', name: 'Year 6' },\r\n { prop: 'year7', name: 'Year 7' },\r\n { prop: 'year8', name: 'Year 8' },\r\n { prop: 'year9', name: 'Year 9' },\r\n { prop: 'year10', name: 'Year 10' }\r\n ];\r\n } else {\r\n this.tableByStore.columns = [\r\n { prop: 'storeNo', name: 'Store No.' },\r\n { prop: 'storeName', name: 'Store Name' },\r\n { prop: 'condition', name: 'Condition' },\r\n { prop: 'year1', name: 'Year 1' },\r\n { prop: 'year2', name: 'Year 2' },\r\n { prop: 'year3', name: 'Year 3' },\r\n { prop: 'year4', name: 'Year 4' },\r\n { prop: 'year5', name: 'Year 5' }\r\n ];\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.assetConditionsInfoByStoreLoaded = false;\r\n this.stateService.getStoreAndFilter.subscribe((value: [Store, ApplyFilters]) => {\r\n this.updateAsset(value[0] ? value[0].storeNo : null, value[1]);\r\n });\r\n }\r\n\r\n updateAsset(storeNo: string, filters: ApplyFilters) {\r\n //this.assetConditionsInfoByStoreLoaded = false;\r\n this.tableByStore.rows = [];\r\n this.tableByStore.conditionTotal = 0;\r\n this.tableByStore.year1Total = 0;\r\n this.tableByStore.year2Total = 0;\r\n this.tableByStore.year3Total = 0;\r\n this.tableByStore.year4Total = 0;\r\n this.tableByStore.year5Total = 0;\r\n this.tableByStore.year6Total = 0;\r\n this.tableByStore.year7Total = 0;\r\n this.tableByStore.year8Total = 0;\r\n this.tableByStore.year9Total = 0;\r\n this.tableByStore.year10Total = 0;\r\n this.assetConditionsInfoByStoreService.getAssetConditionsInfoByStore(storeNo, filters)\r\n .subscribe(assetConditionsInfoByStore => {\r\n let conditionTotal = 0;\r\n let year1Total = 0;\r\n let year2Total = 0;\r\n let year3Total = 0;\r\n let year4Total = 0;\r\n let year5Total = 0;\r\n let year6Total = 0;\r\n let year7Total = 0;\r\n let year8Total = 0;\r\n let year9Total = 0;\r\n let year10Total = 0;\r\n assetConditionsInfoByStore.forEach(element => {\r\n conditionTotal += element.condition;\r\n year1Total += element.year1;\r\n year2Total += element.year2;\r\n year3Total += element.year3;\r\n year4Total += element.year4;\r\n year5Total += element.year5;\r\n year6Total += element.year6;\r\n year7Total += element.year7;\r\n year8Total += element.year8;\r\n year9Total += element.year9;\r\n year10Total += element.year10;\r\n });\r\n conditionTotal /= assetConditionsInfoByStore.length;\r\n this.tableByStore.conditionTotal = conditionTotal;\r\n this.tableByStore.year1Total = year1Total;\r\n this.tableByStore.year2Total = year2Total;\r\n this.tableByStore.year3Total = year3Total;\r\n this.tableByStore.year4Total = year4Total;\r\n this.tableByStore.year5Total = year5Total;\r\n this.tableByStore.year6Total = year6Total;\r\n this.tableByStore.year7Total = year7Total;\r\n this.tableByStore.year8Total = year8Total;\r\n this.tableByStore.year9Total = year9Total;\r\n this.tableByStore.year10Total = year10Total;\r\n this.assetConditionsInfoByStoreLoaded = true;\r\n this.tableByStore.rows = assetConditionsInfoByStore;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n
Loading...
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { StateService } from '../../services/state.service';\r\nimport { AssetConditionsRatingsService } from '../services/ac-ratings.service';\r\nimport { Store } from '../models/store';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { ChartComponent } from 'angular2-chartjs';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n selector: 'app-asset-condition-rating',\r\n templateUrl: './asset-condition-rating.component.html'\r\n})\r\nexport class AssetConditionRatingComponent implements OnInit {\r\n ratingChartConfig = {\r\n type: 'horizontalBar',\r\n data: {\r\n labels: [],\r\n datasets: [\r\n {\r\n data: [],\r\n backgroundColor: \"#fe9666\",\r\n hoverBackgroundColor: \"#ed814f\"\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n ticks: {\r\n callback: function (label, index, labels) {\r\n return `${label.toLocaleString()}`;\r\n },\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n return `${tooltipItem.xLabel.toLocaleString()}`;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n @ViewChild('ratingChart') ratingChart: ChartComponent;\r\n assetConditionsRatingsLoaded: boolean;\r\n\r\n constructor(private stateService: StateService,\r\n private whiteLabelService: WhiteLabelService,\r\n private acRatingsService: AssetConditionsRatingsService, ) { }\r\n\r\n ngOnInit() {\r\n var colors = this.whiteLabelService.getRatingChartColors();\r\n this.ratingChartConfig.data.datasets[0].backgroundColor = colors.backgroundColor;\r\n this.ratingChartConfig.data.datasets[0].hoverBackgroundColor = colors.hoverBackgroundColor;\r\n this.assetConditionsRatingsLoaded = false;\r\n this.stateService.getStoreAndFilter.subscribe((value: [Store, ApplyFilters]) => {\r\n this.updateAsset(value[0] ? value[0].storeNo : null, value[1]);\r\n });\r\n }\r\n\r\n updateAsset(storeNo: string, filters: ApplyFilters) {\r\n //this.assetConditionsRatingsLoaded = false;\r\n this.acRatingsService.getAssetConditionsRating(storeNo, filters)\r\n .subscribe(assetConditionsRatings => {\r\n this.assetConditionsRatingsLoaded = true;\r\n let newLabels = [];\r\n let newData = [];\r\n assetConditionsRatings.forEach(element => {\r\n let condition = element.condition.toString();\r\n switch (element.condition) {\r\n case 0: condition = \"Not Accessed\"; break;\r\n case 1: condition = \"Failed\"; break;\r\n case 2: condition = \"Poor\"; break;\r\n case 3: condition = \"Average\"; break;\r\n case 4: condition = \"Good\"; break;\r\n case 5: condition = \"Excellent\"; break;\r\n }\r\n newLabels.push(condition);\r\n newData.push(element.count);\r\n });\r\n this.ratingChartConfig.data.labels = newLabels;\r\n this.ratingChartConfig.data.datasets[0].data = newData;\r\n if (this.ratingChart) {\r\n this.ratingChart.chart.update();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { ApplyFilters } from \"../models/applyFilters\";\r\nimport { Entity } from \"../models/entity\";\r\nimport { Filters } from \"../models/filters\";\r\nimport { Store } from \"../models/store\";\r\nimport { EntitiesService } from \"../services/entities.service\";\r\nimport { StoreFiltersService } from \"../services/store-filters.service\";\r\nimport { StoreService } from \"../services/store.service\";\r\n\r\n@Component({\r\n\tselector: \"app-asset-condition\",\r\n\ttemplateUrl: \"./asset-condition.component.html\",\r\n})\r\nexport class AssetConditionComponent implements OnInit {\r\n\tpublic isCollapsed = true;\r\n\tpublic filters: Filters;\r\n\tstores: Store[];\r\n\tstoresAll: Store[];\r\n\tselectedStore: Store;\r\n\tselectedRetailBusinessMgr: string;\r\n\tselectedServiceDeliveryManager: string;\r\n\tselectedStoreState: string;\r\n\tselectedDescription: string;\r\n\tselectedDm: string;\r\n\tselectedFunctionalRepresentative: string;\r\n\tselectedFacilityType: string;\r\n\tentity: Entity;\r\n\tpreventReload = false;\r\n\troles$: Observable;\r\n\r\n\tconstructor(\r\n\t\tprivate entitiesService: EntitiesService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate storeService: StoreService,\r\n\t\tpublic stateService: StateService,\r\n\t\tprivate storeFiltersService: StoreFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\r\n\t\t\tthis.whiteLabelService.getSettings.assetConditionName\r\n\t\t);\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tif (this.whiteLabelService.getSettings.assetConditionEnable) {\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (data.indexOf(\"admin\") > -1 || data.indexOf(\"fm\") > -1) {\r\n\t\t\t\t\tthis.stateService.resetStoreAndFilters();\r\n\t\t\t\t\tthis.getStores();\r\n\t\t\t\t\tthis.filters = null;\r\n\t\t\t\t\tthis.stateService.getStoreAndFilter.subscribe(\r\n\t\t\t\t\t\t(value: [Store, ApplyFilters]) => {\r\n\t\t\t\t\t\t\tif (!this.preventReload) {\r\n\t\t\t\t\t\t\t\tthis.selectedStore = value[0];\r\n\t\t\t\t\t\t\t\tlet filters = value[1];\r\n\t\t\t\t\t\t\t\tthis.selectedRetailBusinessMgr = filters.retailBusinessMgr;\r\n\t\t\t\t\t\t\t\tthis.selectedServiceDeliveryManager = filters.serviceDeliveryManager;\r\n\t\t\t\t\t\t\t\tthis.selectedStoreState = filters.storeState;\r\n\t\t\t\t\t\t\t\tthis.selectedDescription = filters.assetDescription;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.preventReload = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.storeFiltersService.getFilters().subscribe((value) => {\r\n\t\t\t\t\t\tthis.filters = value;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.entitiesService.getCurrentEntity.subscribe((value) => {\r\n\t\t\t\t\t\tthis.entity = value;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetStores(): void {\r\n\t\tthis.storeService.getStores().subscribe((stores) => {\r\n\t\t\tthis.storesAll = stores;\r\n\t\t\tthis.stores = stores;\r\n\t\t});\r\n\t}\r\n\r\n\tonChangeStore(store) {\r\n\t\tthis.preventReload = true;\r\n\t\tthis.stateService.selectStore(store);\r\n\t}\r\n\r\n\tresetStoreAndFilters() {\r\n\t\tthis.preventReload = true;\r\n\t\tthis.selectedStore = null;\r\n\t\tthis.stateService.resetStoreAndFilters();\r\n\t}\r\n\r\n\tonChange(item) {\r\n\t\tlet newValue = new ApplyFilters();\r\n\t\tnewValue.retailBusinessMgr = this.selectedRetailBusinessMgr;\r\n\t\tnewValue.serviceDeliveryManager = this.selectedServiceDeliveryManager;\r\n\t\tnewValue.storeState = this.selectedStoreState;\r\n\t\tnewValue.assetDescription = this.selectedDescription;\r\n\t\tnewValue.dm = this.selectedDm;\r\n\t\tnewValue.functionalRepresentative = this.selectedFunctionalRepresentative;\r\n\t\tnewValue.facilityType = this.selectedFacilityType;\r\n\t\tthis.stateService.selectFilters(newValue);\r\n\r\n\t\tlet arrays = [];\r\n\t\tif (\r\n\t\t\ttypeof this.selectedDescription !== \"undefined\" &&\r\n\t\t\tthis.selectedDescription != null\r\n\t\t) {\r\n\t\t\tarrays.push(this.filters.assetFilters[this.selectedDescription]);\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttypeof this.selectedRetailBusinessMgr !== \"undefined\" &&\r\n\t\t\tthis.selectedRetailBusinessMgr != null\r\n\t\t) {\r\n\t\t\tarrays.push(\r\n\t\t\t\tthis.filters.retailBusinessMgrFilters[this.selectedRetailBusinessMgr]\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttypeof this.selectedServiceDeliveryManager !== \"undefined\" &&\r\n\t\t\tthis.selectedServiceDeliveryManager != null\r\n\t\t) {\r\n\t\t\tarrays.push(\r\n\t\t\t\tthis.filters.serviceDeliveryManagerFilters[\r\n\t\t\t\t\tthis.selectedServiceDeliveryManager\r\n\t\t\t\t]\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttypeof this.selectedStoreState !== \"undefined\" &&\r\n\t\t\tthis.selectedStoreState != null\r\n\t\t) {\r\n\t\t\tarrays.push(this.filters.storeStateFilters[this.selectedStoreState]);\r\n\t\t}\r\n\t\tif (typeof this.selectedDm !== \"undefined\" && this.selectedDm != null) {\r\n\t\t\tarrays.push(this.filters.dmFilters[this.selectedDm]);\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttypeof this.selectedFunctionalRepresentative !== \"undefined\" &&\r\n\t\t\tthis.selectedFunctionalRepresentative != null\r\n\t\t) {\r\n\t\t\tarrays.push(\r\n\t\t\t\tthis.filters.functionalRepresentativeFilters[\r\n\t\t\t\t\tthis.selectedFunctionalRepresentative\r\n\t\t\t\t]\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttypeof this.selectedFacilityType !== \"undefined\" &&\r\n\t\t\tthis.selectedFacilityType != null\r\n\t\t) {\r\n\t\t\tarrays.push(this.filters.facilityTypeFilters[this.selectedFacilityType]);\r\n\t\t}\r\n\t\tif (arrays.length > 0) {\r\n\t\t\tlet storeNumbers = arrays.pop();\r\n\t\t\tif (arrays.length > 0) {\r\n\t\t\t\tarrays.forEach((array) => {\r\n\t\t\t\t\tstoreNumbers = storeNumbers.filter((storeNumber) =>\r\n\t\t\t\t\t\tarray.includes(storeNumber)\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tstoreNumbers = Array.from(new Set(storeNumbers));\r\n\t\t\tthis.stores = this.storesAll.filter(function (store) {\r\n\t\t\t\treturn storeNumbers.includes(store.storeNo);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.stores = this.storesAll;\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n}\r\n","
\r\n 0 &&\r\n (roles$ | async)?.indexOf('admin') < 0 &&\r\n (roles$ | async)?.indexOf('fm') < 0)\r\n \"\r\n class=\"container\"\r\n >\r\n
\r\n Not available for current user role.\r\n
\r\n \r\n -1 ||\r\n (roles$ | async)?.indexOf('fm') > -1)\r\n \"\r\n class=\"container\"\r\n >\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Filters\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\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.key == \"\" ? \"Empty\" : item.key }}\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Loading...\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ whiteLabelService.getSettings.assetConditionStoreText }} Info\r\n

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

\r\n \r\n {{ whiteLabelService.getSettings.assetConditionStoreText }}\r\n Dashboard\r\n

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

Asset

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

\r\n Asset Condition Rating\r\n

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

\r\n Life Cycle Forecast\r\n

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

\r\n Asset Condition by\r\n {{ whiteLabelService.getSettings.assetConditionStoreText }}\r\n

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

\r\n Asset Condition by\r\n Description\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","
\r\n
\r\n
{{assetConditionsStats.count | number}}Asset Count
\r\n
{{assetConditionsStats.avgCondition | number : '1.1-1'}}Asset Condition Average
\r\n
\r\n\r\n
\r\n No data to display\r\n
\r\n
\r\n\r\n
Loading...
","import { Component, OnInit } from '@angular/core';\r\nimport { StateService } from '../../services/state.service';\r\nimport { AssetConditionsStats } from '../models/assetConditionsStats';\r\nimport { AssetConditionsStatsService } from '../services/ac-sats.service';\r\nimport { Store } from '../models/store';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\n\r\n@Component({\r\n selector: 'app-assets',\r\n templateUrl: './assets.component.html'\r\n})\r\nexport class AssetsComponent implements OnInit {\r\n assetConditionsStats: AssetConditionsStats;\r\n assetConditionsStatsLoaded: boolean;\r\n\r\n constructor(private stateService: StateService,\r\n private acStatsService: AssetConditionsStatsService) { }\r\n\r\n ngOnInit() {\r\n this.assetConditionsStatsLoaded = false;\r\n this.stateService.getStoreAndFilter.subscribe((value: [Store, ApplyFilters]) => {\r\n this.updateAsset(value[0] ? value[0].storeNo : null, value[1]);\r\n }); \r\n }\r\n \r\n updateAsset(storeNo: string, filters: ApplyFilters) {\r\n this.assetConditionsStatsLoaded = false;\r\n this.acStatsService.getAssetConditionsStats(storeNo, filters)\r\n .subscribe(assetConditionsStats => {\r\n this.assetConditionsStats = assetConditionsStats;\r\n this.assetConditionsStatsLoaded = true;\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
Loading...
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { StateService } from '../../services/state.service';\r\nimport { LifeCycleForecastService } from '../services/life-cycle-forecast.service';\r\nimport { Store } from '../models/store';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { ChartComponent } from 'angular2-chartjs';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n selector: 'app-life-cycle-forecast',\r\n templateUrl: './life-cycle-forecast.component.html'\r\n})\r\nexport class LifeCycleForecastComponent implements OnInit {\r\n lifeChartConfig = {\r\n type: 'horizontalBar',\r\n data: {\r\n labels: [\"Year 1\", \"Year 2\", \"Year 3\", \"Year 4\", \"Year 5\"],\r\n datasets: [\r\n {\r\n data: [],\r\n backgroundColor: \"#f2c80f\",\r\n hoverBackgroundColor: \"#ddb503\"\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n ticks: {\r\n callback: function (label, index, labels) {\r\n return `$${label.toLocaleString()}`;\r\n },\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n return `$${tooltipItem.xLabel.toLocaleString()}`;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n @ViewChild('lifeChart') lifeChart: ChartComponent;\r\n lifeCycleForecastLoaded: boolean;\r\n\r\n constructor(private stateService: StateService,\r\n private whiteLabelService: WhiteLabelService,\r\n private lifeCycleForecastService: LifeCycleForecastService,) { }\r\n\r\n ngOnInit() {\r\n var colors = this.whiteLabelService.getLifeChartColors();\r\n this.lifeChartConfig.data.datasets[0].backgroundColor = colors.backgroundColor;\r\n this.lifeChartConfig.data.datasets[0].hoverBackgroundColor = colors.hoverBackgroundColor;\r\n this.lifeCycleForecastLoaded = false;\r\n this.stateService.getStoreAndFilter.subscribe((value: [Store, ApplyFilters]) => {\r\n this.updateAsset(value[0] ? value[0].storeNo : null, value[1]);\r\n });\r\n }\r\n\r\n updateAsset(storeNo: string, filters: ApplyFilters) {\r\n //this.lifeCycleForecastLoaded = false;\r\n this.lifeCycleForecastService.getLifeCycleForecast(storeNo, filters)\r\n .subscribe(lifeCycleForecast => {\r\n this.lifeCycleForecastLoaded = true;\r\n let newData = [];\r\n if (lifeCycleForecast) {\r\n newData.push(lifeCycleForecast.year1);\r\n newData.push(lifeCycleForecast.year2);\r\n newData.push(lifeCycleForecast.year3);\r\n newData.push(lifeCycleForecast.year4);\r\n newData.push(lifeCycleForecast.year5);\r\n if (this.whiteLabelService.isWhittlesea()) {\r\n newData.push(lifeCycleForecast.year6);\r\n newData.push(lifeCycleForecast.year7);\r\n newData.push(lifeCycleForecast.year8);\r\n newData.push(lifeCycleForecast.year9);\r\n newData.push(lifeCycleForecast.year10);\r\n this.lifeChartConfig.data.labels = [\"Year 1\", \"Year 2\", \"Year 3\", \"Year 4\", \"Year 5\", \"Year 6\", \"Year 7\", \"Year 8\", \"Year 9\", \"Year 10\"];\r\n } else {\r\n this.lifeChartConfig.data.labels = [\"Year 1\", \"Year 2\", \"Year 3\", \"Year 4\", \"Year 5\"];\r\n }\r\n }\r\n this.lifeChartConfig.data.datasets[0].data = newData;\r\n if (this.lifeChart) {\r\n this.lifeChart.chart.update();\r\n }\r\n });\r\n }\r\n}\r\n","export class ApplyFilters {\r\n retailBusinessMgr: string;\r\n serviceDeliveryManager: string;\r\n storeState: string;\r\n assetDescription: string;\r\n dm: string;\r\n functionalRepresentative: string;\r\n facilityType: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetConditionsInfoByDescription } from '../models/assetConditionsInfoByDescription';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class AssetConditionsInfoByDescriptionService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/AssetConditionsInfoByDescription';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getAssetConditionsInfoByDescription(storeNumber: string | null, filters: ApplyFilters | null): Observable {\r\n let url = storeNumber == null ? this.apiUrl : `${this.apiUrl}/${storeNumber}`;\r\n return this.http.post(url, filters, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getAssetConditionsInfoByDescription(storeNumber, filters)', []))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetConditionsInfoByStore } from '../models/assetConditionsInfoByStore';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class AssetConditionsInfoByStoreService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/AssetConditionsInfoByStore';\r\n\r\n constructor(private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getAssetConditionsInfoByStore(storeNumber: string | null, filters: ApplyFilters | null): Observable {\r\n let url = storeNumber == null ? this.apiUrl : `${this.apiUrl}/${storeNumber}`;\r\n return this.http.post(url, filters, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getAssetConditionsInfoByStore(storeNumber, filters)', []))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetConditionsRating } from '../models/assetConditionsRating';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class AssetConditionsRatingsService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/AssetConditionsRating';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getAssetConditionsRating(storeNumber: string | null, filters: ApplyFilters | null): Observable {\r\n let url = storeNumber == null ? this.apiUrl : `${this.apiUrl}/${storeNumber}`;\r\n return this.http.post(url, filters, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getAssetConditionsRating(storeNumber, filters)', []))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AssetConditionsStats } from '../models/assetConditionsStats';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class AssetConditionsStatsService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/AssetConditionsStats';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getAssetConditionsStats(storeNumber: string | null, filters: ApplyFilters | null): Observable {\r\n let url = storeNumber == null ? this.apiUrl : `${this.apiUrl}/${storeNumber}`;\r\n return this.http.post(url, filters, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getAssetConditionsStats(storeNumber, filters)', null))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Entity } from '../models/entity';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { StateService } from '../../services/state.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class EntitiesService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/Entities';\r\n\r\n private currentEntity = new BehaviorSubject(undefined);\r\n\r\n get getCurrentEntity(): Observable {\r\n return this.currentEntity.asObservable();\r\n }\r\n\r\n constructor(private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private stateService: StateService,\r\n private whiteLabelService: WhiteLabelService) {\r\n\r\n this.stateService.getCurrentStore.subscribe(value => {\r\n if (value) {\r\n this.getEntity(value.id)\r\n .subscribe(entity => {\r\n this.currentEntity.next(entity);\r\n });\r\n } else {\r\n this.currentEntity.next(null);\r\n }\r\n });\r\n }\r\n\r\n getEntity(id: number): Observable {\r\n return this.http.get(`${this.apiUrl}/${id}`, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getEntity(id)', null))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Uploads } from '../models/uploads';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class FilesService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/Files';\r\n\r\n constructor(private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getFileName(storeNumber: string, blobName: string): string {\r\n return `${this.apiUrl}/${storeNumber}/${blobName}?instance=Platinum FM`;\r\n }\r\n\r\n getFiles(storeNumber: string): Observable {\r\n return this.http.get(`${this.apiUrl}/${storeNumber}`, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getFiles(storeNumber)', []))\r\n );\r\n }\r\n\r\n getFile(storeNumber: string, blobName: string): Observable> {\r\n let token = this.authService.getToken();\r\n return this.http.get(`${this.apiUrl}/${storeNumber}/${blobName}`, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": token\r\n }),\r\n observe: 'response',\r\n responseType: 'blob' as 'json'\r\n }).pipe(\r\n catchError(this.messages.handleErrorSilent(this.authService, 'getFile(id)', null))\r\n );\r\n }\r\n\r\n uploadFile(formData: FormData, storeNumber: string): Observable {\r\n let token = this.authService.getToken();\r\n return this.http.post(`${this.apiUrl}/${storeNumber}`, formData, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": token\r\n })\r\n });\r\n }\r\n\r\n deleteFile(id: number) {\r\n return this.http.delete(this.apiUrl + `/${id}`, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'deleteFile(id)'))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LifeCycleForecast } from '../models/lifeCycleForecast';\r\nimport { ApplyFilters } from '../models/applyFilters';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class LifeCycleForecastService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/LifeCycleForecast';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getLifeCycleForecast(storeNumber: string | null, filters: ApplyFilters | null): Observable {\r\n let url = storeNumber == null ? this.apiUrl : `${this.apiUrl}/${storeNumber}`;\r\n return this.http.post(url, filters, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getLifeCycleForecast(storeNumber, filters)', null))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Filters } from '../models/filters';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class StoreFiltersService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/StoreFilters';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getFilters(): Observable {\r\n return this.http.get(this.apiUrl, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getFilters', null))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Store } from '../models/store';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Injectable()\r\nexport class StoreService {\r\n private apiUrl = this.whiteLabelService.getSettings.apiUrl + 'api/Stores';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private messages: MessageService,\r\n private authService: AuthService,\r\n private whiteLabelService: WhiteLabelService) { }\r\n\r\n getStores(): Observable {\r\n return this.http.get(this.apiUrl, this.authService.getHttpOptions()).pipe(\r\n catchError(this.messages.handleError(this.authService, 'getStores', []))\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaCheck,\r\n\tfaClock,\r\n\tfaExclamationTriangle,\r\n\tfaFile,\r\n\tfaFileExcel,\r\n\tfaFilePdf,\r\n\tfaFileUpload,\r\n\tfaFileWord,\r\n\tfaMapMarkerAlt,\r\n\tfaTrashAlt,\r\n\tfaVideo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { Entity } from \"../models/entity\";\r\nimport { Store } from \"../models/store\";\r\nimport { EntitiesService } from \"../services/entities.service\";\r\nimport { FilesService } from \"../services/files.service\";\r\n\r\n@Component({\r\n\tselector: \"app-store-dashboard\",\r\n\ttemplateUrl: \"./store-dashboard.component.html\",\r\n})\r\nexport class StoreDashboardComponent implements OnInit {\r\n\t// Icons\r\n\tfaClock = faClock;\r\n\tfaMapMarkerAlt = faMapMarkerAlt;\r\n\tfaFile = faFile;\r\n\tfaTrashAlt = faTrashAlt;\r\n\tfaFileUpload = faFileUpload;\r\n\tfaCheck = faCheck;\r\n\tfaExclamationTriangle = faExclamationTriangle;\r\n\r\n\t// uploading\r\n\tpublic inProgress: boolean;\r\n\tpublic errorMessage: string;\r\n\tpublic buttonText = \"Upload file\";\r\n\tpublic isOk: boolean;\r\n\tstore: Store;\r\n\r\n\t// table\r\n\tentity: Entity;\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{ prop: \"fileName\", name: \"Name\" },\r\n\t\t\t{ prop: \"fileType\", name: \"Type\" },\r\n\t\t\t{ prop: \"uploadTime\", name: \"Upload date\" },\r\n\t\t],\r\n\t};\r\n\r\n\t// google map\r\n\tzoom = 16;\r\n\tcenter: google.maps.LatLngLiteral = { lat: 51.678418, lng: 7.809007 };\r\n\r\n\tconstructor(\r\n\t\tprivate entitiesService: EntitiesService,\r\n\t\tprivate stateService: StateService,\r\n\t\tprivate filesService: FilesService,\r\n\t\tprivate messageService: MessageService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.inProgress = false;\r\n\t\tthis.errorMessage = \"\";\r\n\t\tthis.isOk = false;\r\n\t\tthis.stateService.getCurrentStore.subscribe((value) => {\r\n\t\t\tthis.store = value;\r\n\t\t});\r\n\r\n\t\tthis.tableData.rows = [];\r\n\t\tthis.entitiesService.getCurrentEntity.subscribe((value) => {\r\n\t\t\tthis.entity = value;\r\n\t\t\tif (this.entity) {\r\n\t\t\t\tthis.center = {\r\n\t\t\t\t\tlat: Number(this.entity.latitude),\r\n\t\t\t\t\tlng: Number(this.entity.longitude)\r\n\t\t\t\t}\r\n\t\t\t\tthis.filesService.getFiles(this.entity.storeNo).subscribe((response) => {\r\n\t\t\t\t\tthis.tableData.rows = response;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tupload(files) {\r\n\t\tthis.errorMessage = \"\";\r\n\t\tthis.isOk = false;\r\n\t\tif (files.length === 0) return;\r\n\r\n\t\tconst formData = new FormData();\r\n\r\n\t\tfor (let file of files) {\r\n\t\t\tformData.append(file.name, file);\r\n\t\t\tthis.buttonText = file.name;\r\n\t\t}\r\n\t\tthis.inProgress = true;\r\n\r\n\t\tthis.filesService.uploadFile(formData, this.store.storeNo).subscribe(\r\n\t\t\t(response) => {\r\n\t\t\t\tthis.inProgress = false;\r\n\t\t\t\tthis.messageService.success(\"Done.\", \"Upload Successful.\");\r\n\t\t\t\tthis.isOk = true;\r\n\t\t\t\tthis.tableData.rows = [...this.tableData.rows, response];\r\n\t\t\t},\r\n\t\t\t(event) => {\r\n\t\t\t\tthis.inProgress = false;\r\n\t\t\t\tif (event.error.error) {\r\n\t\t\t\t\tthis.messageService.error(\"Error.\", event.error.error);\r\n\t\t\t\t\tthis.errorMessage = event.error.error;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.messageService.error(\"Error.\", event.message);\r\n\t\t\t\t\tthis.errorMessage = event.message;\r\n\t\t\t\t}\r\n\t\t\t\tthis.isOk = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteFile(event, id: number) {\r\n\t\tevent.stopPropagation();\r\n\t\tif (confirm(\"Are you sure to delete file?\")) {\r\n\t\t\tthis.filesService.deleteFile(id).subscribe((x) => {\r\n\t\t\t\tvar index = this.tableData.rows.findIndex(function (o) {\r\n\t\t\t\t\treturn o.id === id;\r\n\t\t\t\t});\r\n\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\tvar newArray = [...this.tableData.rows];\r\n\t\t\t\t\tnewArray.splice(index, 1);\r\n\t\t\t\t\tthis.tableData.rows = newArray;\r\n\t\t\t\t}\r\n\t\t\t\tthis.messageService.success(\"Done\", \"File deleted\");\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetIcon(fileName) {\r\n\t\tlet type = fileName.split(\".\").pop().toLowerCase();\r\n\t\tswitch (type) {\r\n\t\t\tcase \"mp4\":\r\n\t\t\tcase \"avi\":\r\n\t\t\tcase \"mkv\":\r\n\t\t\tcase \"mov\":\r\n\t\t\tcase \"wmv\":\r\n\t\t\t\treturn faVideo;\r\n\t\t\tcase \"xlsx\":\r\n\t\t\tcase \"xls\":\r\n\t\t\tcase \"csv\":\r\n\t\t\tcase \"ods\":\r\n\t\t\t\treturn faFileExcel;\r\n\t\t\tcase \"docx\":\r\n\t\t\tcase \"doc\":\r\n\t\t\tcase \"rtf\":\r\n\t\t\tcase \"txt\":\r\n\t\t\tcase \"odt\":\r\n\t\t\t\treturn faFileWord;\r\n\t\t\tcase \"pdf\":\r\n\t\t\t\treturn faFilePdf;\r\n\t\t\tdefault:\r\n\t\t\t\treturn faFile;\r\n\t\t}\r\n\t}\r\n\r\n\tgetLink(row) {\r\n\t\treturn this.filesService.getFileName(row.storeNo, row.blobName);\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n\r\n\r\n
Please select store
","
\r\n
\r\n
{{whiteLabelService.getSettings.assetConditionStoreNameText}}:
\r\n
{{entity.storeName}}
\r\n \r\n
Address:
\r\n
{{entity.storeAddress}}
\r\n \r\n
Suburb:
\r\n
{{entity.storeSuburb}}
\r\n \r\n
Postcode:
\r\n
{{entity.postCode}}
\r\n\r\n\r\n
Platinum FM - SDM:
\r\n
{{entity.serviceDeliveryManager}}
\r\n\r\n
SDM Contact Number:
\r\n
{{entity.serviceDeliveryManagerPhone}}
\r\n\r\n
7-Eleven-RBM:
\r\n
{{entity.retailBusinessMgr}}
\r\n\r\n
RBM Contact Number:
\r\n
{{entity.retailBusinessMgrPhone}}
\r\n\r\n
Starbucks DM:
\r\n
{{entity.dm}}
\r\n\r\n
DM Contact Number:
\r\n
{{entity.dmmobile}}
\r\n\r\n \r\n
Functional Site Representative:
\r\n
{{entity.functionalRepresentative}}
\r\n\r\n
FSR Contact Number:
\r\n
{{entity.functionalRepresentativePhone}}
\r\n
\r\n
\r\n\r\n
Please select {{whiteLabelService.getSettings.assetConditionStoreText}}\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EntitiesService } from '../services/entities.service';\r\nimport { Entity } from '../models/entity';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n selector: 'app-store-info',\r\n templateUrl: './store-info.component.html'\r\n})\r\nexport class StoreInfoComponent implements OnInit {\r\n entity: Entity;\r\n\r\n constructor(private entitiesService: EntitiesService,\r\n public whiteLabelService: WhiteLabelService) { }\r\n\r\n ngOnInit() {\r\n this.entitiesService.getCurrentEntity.subscribe(value => {\r\n this.entity = value;\r\n });\r\n }\r\n}\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaFileExport,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWhiteLabelService\r\n} from '../../services/white-label.service';\r\nimport { AssetRequestListResponseModel } from '../models/assetRequestListResponseModel';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport {\r\n\tAssetService\r\n} from '../services/asset.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-asset-affecting-st-table',\r\n\ttemplateUrl: './asset-affecting-st-table.component.html'\r\n})\r\nexport class AssetAffectingSTTableComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate assetService: AssetService,\r\n\t\tprivate messageService: MessageService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody.filter.assetTypeTags = ['Offline', 'Key'];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate currentUpdateId: string = '';\r\n\tupdate(updateId: string) {\r\n\t\tthis.currentUpdateId = updateId;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadData(true);\r\n\t\t});\r\n\t}\r\n\r\n\t@ViewChild('assetAffectingSTTable') table: DatatableComponent;\r\n\tloading: boolean = false;\r\n\r\n\ttableData = {\r\n\t\tpage: {\r\n\t\t\tsize: 20,\r\n\t\t\ttotalElements: 0\r\n\t\t},\r\n\t\tsorts: [{\r\n\t\t\tprop: 'assetOfflineStart',\r\n\t\t\tdir: 'asc'\r\n\t\t}],\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'storeNo',\r\n\t\t\tname: 'Store No'\r\n\t\t}, {\r\n\t\t\tprop: 'storeName',\r\n\t\t\tname: 'Store Name'\r\n\t\t}, {\r\n\t\t\tprop: 'storeState',\r\n\t\t\tname: 'Store State'\r\n\t\t}, {\r\n\t\t\tprop: 'assetName',\r\n\t\t\tname: 'Asset Name'\r\n\t\t}, {\r\n\t\t\tprop: 'assetId',\r\n\t\t\tname: 'Asset Id'\r\n\t\t}, {\r\n\t\t\tprop: 'assetId',\r\n\t\t\tname: 'Asset Id'\r\n\t\t}, {\r\n\t\t\tprop: 'assetBarcode',\r\n\t\t\tname: 'Barcode'\r\n\t\t}, {\r\n\t\t\tprop: 'priority',\r\n\t\t\tname: 'Priority'\r\n\t\t}, {\r\n\t\t\tprop: 'statusName',\r\n\t\t\tname: 'Status'\r\n\t\t}, {\r\n\t\t\tprop: 'assetOfflineStart',\r\n\t\t\tname: 'Offline Time (hrs)'\r\n\t\t}, {\r\n\t\t\tprop: 'vendorEstimateAttended',\r\n\t\t\tname: 'Vendor ETA'\r\n\t\t}, {\r\n\t\t\tprop: 'remainingTime',\r\n\t\t\tname: 'Remaining Time'\r\n\t\t}, {\r\n\t\t\tprop: 'vendorName',\r\n\t\t\tname: 'Vendor'\r\n\t\t}, {\r\n\t\t\tprop: 'requestNumber',\r\n\t\t\tname: 'Request Number'\r\n\t\t}],\r\n\t\tonSort: (event) => {\r\n\t\t\tthis.loadData(true);\r\n\t\t},\r\n\t\tonScroll: (event) => {\r\n\t\t\tif (event && event.currentTarget) {\r\n\t\t\t\tconst offsetY = event.currentTarget.scrollTop;\r\n\t\t\t\t// total height of all rows in the viewport\r\n\t\t\t\tconst viewHeight = event.currentTarget.clientHeight;\r\n\r\n\t\t\t\t// check if we scrolled to the end of the viewport\r\n\t\t\t\tif (!this.loading && offsetY + viewHeight >= (this.tableData.rows.length - 4) * 38/*rowHeight*/) {\r\n\t\t\t\t\tthis.loadData(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tonAssetIdClick: (row) => {\r\n\t\t\tif (event.type == 'click') {\r\n\t\t\t\twindow.open(this.whiteLabelService.getOldDashboardUrl() + '/Asset/AssetDetails?id=' + row.assetId, '_blank');\r\n\t\t\t}\r\n\t\t},\r\n\t\tonRequestNumberClick: (row) => {\r\n\t\t\tif (event.type == 'click') {\r\n\t\t\t\twindow.open(this.whiteLabelService.getOldDashboardUrl() + '/FM/RequestDetails?requestid=' + row.id, '_blank');\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.table.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\r\n\tloadData(cleanup: boolean) {\r\n\t\tif (!cleanup && this.tableData.rows.length >= this.tableData.page.totalElements) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loading = true;\r\n\t\tlet body = new QueryOptionsPagingModel();\r\n\t\tbody.paging = {\r\n\t\t\tlimit: this.tableData.page.size,\r\n\t\t\tcurrentPage: cleanup ? 1 : Math.round(this.tableData.rows.length / this.tableData.page.size) + 1\r\n\t\t};\r\n\t\tlet sorts = [];\r\n\t\tthis.table.sorts.forEach(element => {\r\n\t\t\tsorts.push({\r\n\t\t\t\tfield: element.prop,\r\n\t\t\t\torder: this.workOrderReportService.capitalizeFirstLetter(element.dir)\r\n\t\t\t});\r\n\t\t\tif (element.prop === \"priority\") {\r\n\t\t\t\tsorts.push({\r\n\t\t\t\t\tfield: \"assetOfflineStart\",\r\n\t\t\t\t\torder: \"ASC\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\tbody.sortBy = sorts;\r\n\t\tlet body2 = this.fillBody(body, this.stateService.getCurrentDateRange());\r\n\t\tthis.subs.add(this.assetService.getAssetRequestList(body2)\r\n\t\t\t.subscribe(data => this.subscribeTableData(data, cleanup)));\r\n\t}\r\n\r\n\tsubscribeTableData(data: AssetRequestListResponseModel[], cleanup: boolean) {\r\n\t\tif (this.woFiltersService.getCurrentUpdateId() === this.currentUpdateId) {\r\n\t\t\tlet newData = [];\r\n\t\t\tlet m = moment();\r\n\t\t\tdata.forEach(element => {\r\n\t\t\t\tlet assetOfflineStart = moment(element.assetOfflineStart);\r\n\t\t\t\tlet timeLapsed1 = moment.duration(m.diff(assetOfflineStart));\r\n\t\t\t\tlet timeLapsed2 = Math.floor(timeLapsed1.as('h')) + moment.utc(timeLapsed1.as('ms')).format(':mm');\r\n\r\n\t\t\t\tlet vendorEstimateAttended = element.vendorEstimateAttended ? moment(element.vendorEstimateAttended) : null;\r\n\t\t\t\tlet remainingTime1 = vendorEstimateAttended ? moment.duration(vendorEstimateAttended.diff(m)) : null;\r\n\t\t\t\tlet remainingTime2 = remainingTime1 ? (Math.floor(remainingTime1.as('h')) + moment.utc(remainingTime1.as('ms')).format(':mm')) : \"\";\r\n\r\n\t\t\t\tlet newRow = {\r\n\t\t\t\t\tid: element.id,\r\n\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\tstoreName: element.storeName,\r\n\t\t\t\t\tstoreState: element.storeState,\r\n\t\t\t\t\tassetName: element.assetName,\r\n\t\t\t\t\tassetId: element.assetId,\r\n\t\t\t\t\tassetBarcode: element.assetBarcode,\r\n\t\t\t\t\tpriority: element.priority,\r\n\t\t\t\t\tstatusName: element.statusName,\r\n\t\t\t\t\tassetOfflineStart: timeLapsed2,\r\n\t\t\t\t\tvendorEstimateAttended: vendorEstimateAttended ? vendorEstimateAttended.format('DD-MM-YYYY HH:mm') : '',\r\n\t\t\t\t\tremainingTime: remainingTime2,\r\n\t\t\t\t\tvendorName: element.vendorName,\r\n\t\t\t\t\trequestNumber: element.requestNumber,\r\n\r\n\t\t\t\t\tresolveKPIFail: element.resolveKPIFail,\r\n\t\t\t\t\trespondKPIFail: element.respondKPIFail,\r\n\t\t\t\t\trequestDate: element.requestDate,\r\n\t\t\t\t\tcompletedDate: element.completed\r\n\t\t\t\t};\r\n\t\t\t\tnewData.push(newRow);\r\n\t\t\t});\r\n\t\t\tif (data.length > 0 && this.tableData.page.totalElements !== data[0].totalCount) {\r\n\t\t\t\tthis.tableData.page.totalElements = data[0].totalCount;\r\n\t\t\t}\r\n\t\t\tlet dataArray;\r\n\t\t\tif (cleanup) {\r\n\t\t\t\tdataArray = [];\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.table.offset = 0;\r\n\t\t\t\t\tthis.table.bodyComponent.updateOffsetY(0);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdataArray = this.tableData.rows;\r\n\t\t\t}\r\n\t\t\tdataArray = dataArray.concat(newData);\r\n\t\t\tthis.tableData.rows = [...dataArray];\r\n\t\t\tthis.loading = false;\r\n\t\t\tthis.ref.detectChanges();\r\n\t\t}\r\n\t}\r\n\r\n\ttimeLapsedColor(data) {\r\n\t\t// warning: hours(current date - request date) > (hours(resolve date - request date) *0.7) or when ResponseKPI failed\r\n\t\tlet isWarning = data.row.respondKPIFail === 1;\r\n\t\tif (!isWarning) {\r\n\t\t\tconst requestDate = data.row.requestDate;\r\n\t\t\tconst resolveDate = data.row.completedDate;\r\n\t\t\tif (requestDate && resolveDate) {\r\n\t\t\t\tconst curretDateM = moment();\r\n\t\t\t\tconst requestDateM = moment(requestDate);\r\n\t\t\t\tconst resolveDateM = moment(resolveDate);\r\n\t\t\t\tisWarning = curretDateM.diff(requestDateM, \"hours\") > (resolveDateM.diff(requestDateM, \"hours\") * 0.7);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet isRed = data.row.resolveKPIFail === 1;\r\n\t\treturn { col: true, \"bg-danger\": isRed, \"bg-warning\": isWarning && !isRed, \"bg-success\": !isRed && !isWarning, \"text-white\": true };\r\n\t}\r\n\r\n\tremainingTimeColor(data) {\r\n\t\tlet hasColor = !!data.row.remainingTime;\r\n\t\tlet isRed = data.row.remainingTime && data.row.remainingTime.startsWith(\"-\") ? true : false;\r\n\t\treturn { col: true, \"bg-danger\": hasColor && isRed, \"bg-success\": hasColor && !isRed, \"text-white\": hasColor };\r\n\t}\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: AssetRequestListResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(new QueryOptionsPagingModel(), this.stateService.getCurrentDateRange());\r\n\t\tthis.exportCsvRequest(body);\r\n\t}\r\n\r\n\texportCsvRequest(body: any) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage: this.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1\r\n\t\t};\r\n\t\tthis.subs.add(this.assetService.getAssetRequestList(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\tthis.inProgressExportCSV = false;\r\n\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\tlet headers = Object.getOwnPropertyNames(data[0]);\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t\t\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t\t\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\t\tfieldSeparator: ',',\r\n\t\t\t\t\t\t\tquoteStrings: '\"',\r\n\t\t\t\t\t\t\tdecimalseparator: '.',\r\n\t\t\t\t\t\t\tshowLabels: true,\r\n\t\t\t\t\t\t\theaders: headers,\r\n\t\t\t\t\t\t\tshowTitle: false,\r\n\t\t\t\t\t\t\ttitle: \"export\",\r\n\t\t\t\t\t\t\tuseBom: true,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tnew AngularCsv(this.dataExport, 'export', options);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.messageService.info(\"CSV Export\", \"No data\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exportCsvRequest(body);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaFileExport = faFileExport;\r\n}","\r\n\tTime in hours that asset has been offline\r\n\r\n\r\n\tEstimated Time of Arrival put in by vendor\r\n\r\n\r\n\tEstimated remaining time in hours for Vendor to attend\r\n\r\n\r\n
\r\n\t
\r\n\t\t

\r\n\t\t\tKey Asset RM Work Orders by\r\n\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.storeNo}} - {{row.storeName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}\r\n\t\t\t\t\t\t\t\t\tState: {{row.storeState}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAsset Name: {{row.assetName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAsset Id: {{row.assetId}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tBarcode: {{row.assetBarcode}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPriority: {{row.priority}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tStatus: {{row.statusName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tOffline Time (hrs):\r\n\t\t\t\t\t\t\t\t{{row.assetOfflineStart}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}\r\n\t\t\t\t\t\t\t\t\tETA:\r\n\t\t\t\t\t\t\t\t{{row.vendorEstimateAttended}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tRemaining Hrs till Attendance:\r\n\t\t\t\t\t\t\t\t{{row.remainingTime}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.vendorName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tRequest Number: {{row.requestNumber}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{row.remainingTime}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { AssetOfflineSummaryResponseModel } from \"../models/assetOfflineSummaryResponseModel\";\r\nimport { AssetRequestListResponseModel } from \"../models/assetRequestListResponseModel\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { AssetService } from \"../services/asset.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-asset-availability-chart\",\r\n\ttemplateUrl: \"./asset-availability-chart.component.html\",\r\n})\r\nexport class AssetAvailabilityChartComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloaded: boolean;\r\n\ttotal: number;\r\n\tchartConfig = {\r\n\t\ttype: \"horizontalBar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t},\r\n\t\tadditional: {\r\n\t\t\tlastClickTime: null,\r\n\t\t\tlastClickElement: null,\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"keyAssetsChart\") chartByPriority: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate assetService: AssetService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tselectedDisplayType = \"1\";\r\n\tonChangeDisplayType() {\r\n\t\tif (this.loaded) {\r\n\t\t\tthis.loadPagedDataDone();\r\n\t\t}\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody.filter.assetTypeTags = [\"Offline\", \"Key\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: AssetRequestListResponseModel[];\r\n\tprivate summaryData: AssetOfflineSummaryResponseModel[] = [];\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(new QueryOptionsPagingModel(), dateRange);\r\n\t\tthis.loadPagedDataRequest(body, updateId);\r\n\t}\r\n\r\n\tloadPagedDataRequest(body: any, updateId) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage:\r\n\t\t\t\tthis.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1,\r\n\t\t};\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetRequestList(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\t\tthis.loadPagedDataDone();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.loadPagedDataRequest(body, updateId);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\t/*this.subs.add(\r\n\t\t\tthis.assetService.getAssetOfflineSummary(body).subscribe((summaryData) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.summaryData = summaryData;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);*/\r\n\t}\r\n\r\n\tloadPagedDataDone() {\r\n\t\t//console.log(this.summaryData);\r\n\t\t// sum of summaryData offlineCount\r\n\t\t/*this.total = 0;\r\n\t\tthis.summaryData.forEach((element) => {\r\n\t\t\tthis.total += element.offlineCount;\r\n\t\t});*/\r\n\t\tthis.total = this.dataExport.length;\r\n\t\tthis.loaded = true;\r\n\t\tlet newLabels = [];\r\n\t\tlet newData = {};\r\n\t\tlet priorities = [];\r\n\t\tthis.dataExport.forEach((element) => {\r\n\t\t\tconst label =\r\n\t\t\t\tthis.selectedDisplayType === \"1\"\r\n\t\t\t\t\t? (this.whiteLabelService.getSettings.assetAvailabilityKeyAssetsOffline ===\r\n\t\t\t\t\t \"Squad\" || this.whiteLabelService.getSettings.assetAvailabilityKeyAssetsOffline === \"Territory\")\r\n\t\t\t\t\t\t? element.retailBusinessManager\r\n\t\t\t\t\t\t: this.whiteLabelService.getSettings.assetAvailabilityKeyAssetsOffline ===\r\n\t\t\t\t\t\t \"Category\"\r\n\t\t\t\t\t\t? element.category\r\n\t\t\t\t\t\t: element.storeType\r\n\t\t\t\t\t: element.storeState;\r\n\t\t\tif (newLabels.indexOf(label) < 0) {\r\n\t\t\t\tnewLabels.push(label);\r\n\t\t\t\tnewData[label] = {};\r\n\t\t\t}\r\n\t\t\tconst priority = element.priority;\r\n\t\t\tif (!newData[label][priority]) {\r\n\t\t\t\tnewData[label][priority] = 0;\r\n\t\t\t}\r\n\t\t\tnewData[label][priority]++;\r\n\t\t\tif (priorities.indexOf(priority) < 0) {\r\n\t\t\t\tpriorities.push(priority);\r\n\t\t\t}\r\n\t\t});\r\n\t\tnewLabels.sort();\r\n\t\tpriorities.sort();\r\n\t\tconst newDatasets = [];\r\n\t\tfor (let i = 0; i < priorities.length; i++) {\r\n\t\t\tlet priority = priorities[i];\r\n\t\t\tlet dataForDataset = [];\r\n\t\t\tnewLabels.forEach((label) => {\r\n\t\t\t\tlet current = newData[label][priority];\r\n\t\t\t\tif (current) {\r\n\t\t\t\t\tdataForDataset.push(current);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataForDataset.push(0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tnewDatasets.push({\r\n\t\t\t\tlabel: priority,\r\n\t\t\t\tbackgroundColor: this.backgroundColor[i],\r\n\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[i],\r\n\t\t\t\tdata: dataForDataset,\r\n\t\t\t\ttype: \"horizontalBar\",\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\tthis.chartConfig.data.datasets = newDatasets;\r\n\r\n\t\tthis.loaded = true;\r\n\t\tif (this.chartByPriority) {\r\n\t\t\tthis.chartByPriority.chart.update();\r\n\t\t}\r\n\t\tthis.ref.detectChanges();\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Key Asset Offline RM Work Orders\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t{{whiteLabelService.getSettings.assetAvailabilityKeyAssetsOffline}}\r\n\t\t\tState\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
Total: {{ total | number }}
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit\r\n} from '@angular/core';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaInfo\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWhiteLabelService\r\n} from '../../services/white-label.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { AssetService } from '../services/asset.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-asset-availability-critical-offline',\r\n\ttemplateUrl: './asset-availability-critical-offline.component.html'\r\n})\r\nexport class AssetAvailabilityCriticalOfflineComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tdata: any[];\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate assetService: AssetService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService) {\r\n\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.assetTypeTags = ['Critical'];\r\n\t\tbody.filter.assetNames = undefined;\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(this.assetService.getCriticalAssetNames()\r\n\t\t\t.subscribe(assets => {\r\n\t\t\t\tthis.subs.add(this.assetService.getAssetOfflineSummary(body)\r\n\t\t\t\t\t.subscribe(data => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tconst newData = [];\r\n\t\t\t\t\t\t\tassets.forEach((asset) => {\r\n\t\t\t\t\t\t\t\tif (newData.find((item) => item.name === asset.groupName)) {\r\n\t\t\t\t\t\t\t\t\tnewData.find((item) => item.name === asset.groupName).assets.push(asset.inform_Submenu2 ?? asset.inform_System);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\tnewData.push({ name: asset.groupName, assets: [asset.inform_Submenu2 ?? asset.inform_System], count: 0, icon: asset.icon });\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t//console.log(newData);\r\n\t\t\t\t\t\t\t//console.log(data);\r\n\t\t\t\t\t\t\tdata.forEach((item) => {\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < newData.length; i++) {\r\n\t\t\t\t\t\t\t\t\tif (newData[i].assets.includes(item.name) || newData[i].assets.includes(item.system)) {\r\n\t\t\t\t\t\t\t\t\t\tnewData[i].count += item.offlineCount;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.data = newData;\r\n\t\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\r\n\t\t\t}));\r\n\t}\r\n\r\n\tonClick(item) {\r\n\t\tfor (var i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\tif (item.assets.includes(this.woFiltersService.assetNames[i])) {\r\n\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\tthis.woFiltersService.selectedAssetName = item.assets;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Critical Assets Offline\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{{item.name}}
\r\n\t\t\t\t\t\t\t

{{item.count | number}}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit\r\n} from '@angular/core';\r\nimport {\r\n\tfaInfo\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWhiteLabelService\r\n} from '../../services/white-label.service';\r\nimport { AssetOfflineSummaryResponseModel } from '../models/assetOfflineSummaryResponseModel';\r\nimport { AssetRequestListResponseModel } from '../models/assetRequestListResponseModel';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { AssetService } from '../services/asset.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-asset-availability-summary',\r\n\ttemplateUrl: './asset-availability-summary.component.html'\r\n})\r\nexport class AssetAvailabilitySummaryComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tvalue1: number = 0;\r\n\tvalue2: number = 0;\r\n\tvalue3: number = 0;\r\n\tvalue4: number = 0;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate assetService: AssetService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService) {\r\n\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.assetTypeTags = ['Key'];\r\n\t\treturn body;\r\n\t}\r\n\r\n\r\n\tsummaryData: AssetOfflineSummaryResponseModel[] = [];\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(this.assetService.getAssetOfflineSummary(body)\r\n\t\t\t.subscribe(summaryData => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.summaryData = summaryData;\r\n\t\t\t\t\tthis.loadPagedData(updateId);\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: AssetRequestListResponseModel[];\r\n\tloadPagedData(updateId) {\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(new QueryOptionsPagingModel(), this.stateService.getCurrentDateRange());\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody.filter.assetTypeTags = ['Offline', 'Key'];\r\n\t\tthis.loadPagedDataRequest(body, updateId);\r\n\t}\r\n\r\n\tloadPagedDataRequest(body: any, updateId) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage: this.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1\r\n\t\t};\r\n\t\tthis.subs.add(this.assetService.getAssetRequestList(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\t\tthis.value3 = 0;\r\n\t\t\t\t\t\tthis.value4 = 0;\r\n\t\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\t\tthis.dataExport.forEach(element => {\r\n\t\t\t\t\t\t\t\tthis.value3 += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\tthis.value4 += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.value1 = 0;\r\n\t\t\t\t\t\tthis.value2 = 0;\r\n\t\t\t\t\t\tthis.summaryData.forEach(element => {\r\n\t\t\t\t\t\t\tthis.value1 += element.offlineCount;\r\n\t\t\t\t\t\t\tthis.value2 += element.assetCount;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.value2 = this.value1 ? (100 * (this.value2 - this.value1) / this.value2) : 100;\r\n\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.loadPagedDataRequest(body, updateId);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{{value1 | number}}Key Assets Offline
\r\n\t\t\t\t
{{value2 | number:'1.0-2'}}%Key Asset Availability
\r\n\t\t\t\t
{{value3 | number}}Overdue WO counts (Response KPI)
\r\n\t\t\t\t
{{value4 | number}}Overdue WO counts (Rectification KPI)
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tViewChild,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { AssetService } from '../services/asset.service';\r\n\r\n@Component({\r\n\tselector: 'app-asset-availability-table',\r\n\ttemplateUrl: './asset-availability-table.component.html'\r\n})\r\nexport class AssetAvailabilityTableComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloaded: boolean;\r\n\r\n\tofflineCountComparator(valueA, valueB, rowA, rowB, sortDirection) {\r\n\t\tif (valueA < valueB) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tif (valueA > valueB) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (rowA.count < rowB.count) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tif (rowA.count > rowB.count) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'id',\r\n\t\t\tname: 'Asset Name'\r\n\t\t}, {\r\n\t\t\tprop: 'count',\r\n\t\t\tname: 'Total Asset Count'\r\n\t\t}, {\r\n\t\t\tprop: 'offlineCount',\r\n\t\t\tname: 'Offline Asset Count',\r\n\t\t\tcomparator: this.offlineCountComparator.bind(this)\r\n\t\t}, {\r\n\t\t\tprop: 'available',\r\n\t\t\tname: 'Availability (%)'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.assetNames[i] === row.name) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedAssetName = [this.woFiltersService.assetNames[i]];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.openWOVendorTable.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('assetAvailabilityTable') openWOVendorTable: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate assetService: AssetService,\r\n\t\tprivate whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.assetTypeTags = ['Key'];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(this.assetService.getAssetOfflineSummary(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = element.name;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: rowId,\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\tcount: 0,\r\n\t\t\t\t\t\t\t\tofflineCount: 0,\r\n\t\t\t\t\t\t\t\tavailable: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].count += element.count;\r\n\t\t\t\t\t\tnewData[rowId].offlineCount += element.offlineCount;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewData[key].available = 100 * (newData[key].count ? ((newData[key].count - newData[key].offlineCount) / newData[key].count) : 0)\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableData.rows = newDataArray;\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}","\r\n\t% of assets that are currently operational\r\n\r\n
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Key Asset Offline by Asset Name\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal Asset Count: {{row.count | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tOffline Asset Count: {{row.offlineCount | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAvailability (%): {{row.available | number}}%\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-2'}}%\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Guid } from \"guid-typescript\";\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n\tselector: 'app-asset-availability',\r\n\ttemplateUrl: './asset-availability.component.html'\r\n})\r\nexport class AssetAvailabilityComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(private authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle('Asset Availability');\r\n\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(this.stateService.getDateRange.subscribe((value: IMyDateRangeModel) => {\r\n\t\t\tthis.update();\r\n\t\t}));\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n}","
\r\n\t
\r\n\t\t
\r\n\t\t\tNot available.\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaChartColumn,\r\n\tfaExpandArrowsAlt,\r\n\tfaFileExport,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { AngularCsv } from \"angular-csv-ext\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport ConverterHelper from \"../../converterHelper\";\r\nimport { DropdownItem } from \"../../models/dropdownItem\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { AssetBenchmarkByAgeResponseModel } from \"../models/assetBenchmarkByAgeResponseModel\";\r\nimport { AssetBenchmarkByAssetResponseModel } from \"../models/assetBenchmarkByAssetResponseModel\";\r\nimport { DashboardAssetPerformanceDataSetModel } from \"../models/dashboardAssetPerformanceDataSetModel\";\r\nimport { DashboardAssetPerformanceModel } from \"../models/dashboardAssetPerformanceModel\";\r\nimport { DashboardAssetPerformanceSeriesModel } from \"../models/dashboardAssetPerformanceSeriesModel\";\r\nimport { Filter } from \"../models/filter\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { AssetService } from \"../services/asset.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-asset-performance-age\",\r\n\ttemplateUrl: \"./asset-performance-age.component.html\",\r\n})\r\nexport class AssetPerformanceAgeComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\ttitle: string;\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tdataByAge: [\r\n\t\tAssetBenchmarkByAgeResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tdataByAsset: [\r\n\t\tAssetBenchmarkByAssetResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\t// dataSetName, timeRange, seriesName, color\r\n\tlegendArray: [string, string, [string, string][]][] = [];\r\n\tchartDatasetSeries: [\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tAssetBenchmarkByAssetResponseModel[] | AssetBenchmarkByAgeResponseModel[]\r\n\t][] = [];\r\n\tchartConfig = {\r\n\t\ttype: \"line\",\r\n\t\tdata: {\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"x\",\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\ttype: \"linear\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t\tmax: 0,\r\n\t\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\t\tstepSize: 1,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\t\tlabelString: \"\",\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tparsing: {\r\n\t\t\t\txAxisKey: \"x\",\r\n\t\t\t\tyAxisKey: \"y\",\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data.datasets[tooltipItem[0].datasetIndex].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet result = `Age: ${tooltipItem[\"xLabel\"]}`;\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterLabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet result = [];\r\n\t\t\t\t\t\tconst additionalData = this.chartDatasetSeries[tooltipItem.datasetIndex];\r\n\t\t\t\t\t\tfor (let i = 0; i < additionalData[2].length; i++) {\r\n\t\t\t\t\t\t\tconst element = additionalData[2][i];\r\n\t\t\t\t\t\t\tconst x = parseInt(tooltipItem[\"xLabel\"]);\r\n\t\t\t\t\t\t\tif (element.ageInYears === x) {\r\n\t\t\t\t\t\t\t\tconst series = additionalData[1];\r\n\t\t\t\t\t\t\t\tconst dataSet = additionalData[0];\r\n\t\t\t\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\t\t\t\tdataSet.series[0].fromDt && dataSet.series[0].toDt\r\n\t\t\t\t\t\t\t\t\t\t? `${dataSet.series[0].fromDt} - ${dataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\t\t\t\tresult.push(`Date Range: ${timeStr}`);\r\n\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t`Asset Count: ${ConverterHelper.intToString(element.assetCount)}`\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\t\t\tconst value =\r\n\t\t\t\t\t\t\t\t\t\t\tseries.filterType === \"stores\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t? (element as AssetBenchmarkByAssetResponseModel)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.annualisedMaintCost\r\n\t\t\t\t\t\t\t\t\t\t\t\t: (element as AssetBenchmarkByAgeResponseModel).benchmarkMaintCost;\r\n\t\t\t\t\t\t\t\t\t\tresult.push(`Maintain Cost: ${ConverterHelper.floatToString(value)}`);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\t\t\tconst value =\r\n\t\t\t\t\t\t\t\t\t\t\tseries.filterType === \"stores\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t? (element as AssetBenchmarkByAssetResponseModel)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.annualisedMaintCount\r\n\t\t\t\t\t\t\t\t\t\t\t\t: (element as AssetBenchmarkByAgeResponseModel).benchmarkMaintCount;\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Maintain Count: ${ConverterHelper.floatToString(value)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\t\t\tconst value =\r\n\t\t\t\t\t\t\t\t\t\t\tseries.filterType === \"stores\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t? (element as AssetBenchmarkByAssetResponseModel)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.annualisedTimeBetweenFailure\r\n\t\t\t\t\t\t\t\t\t\t\t\t: (element as AssetBenchmarkByAgeResponseModel).timeBetweenFailure;\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Time Between Failure: ${ConverterHelper.intToString(value)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tswitch (series.filterType) {\r\n\t\t\t\t\t\t\t\t\tcase \"assetNames\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(`Asset Names: ${series.filterValues.join(\", \")}`);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterRetailBusinessManagerLabel\r\n\t\t\t\t\t\t\t\t\t\t\t)}: ${series.filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(`Store Profile: ${series.filterValues.join(\", \")}`);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel\r\n\t\t\t\t\t\t\t\t\t\t\t)}: ${series.filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Stores: ${(series.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result.length ? result : \"\";\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"apaChart\") chart: ChartComponent;\r\n\r\n\ttitleCase(str) {\r\n\t\tvar splitStr = str.toLowerCase().split(\" \");\r\n\t\tfor (var i = 0; i < splitStr.length; i++) {\r\n\t\t\t// You do not need to check if i is larger than splitStr length, as your for does that for you\r\n\t\t\t// Assign it back to the array\r\n\t\t\tsplitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);\r\n\t\t}\r\n\t\t// Directly return the joined string\r\n\t\treturn splitStr.join(\" \");\r\n\t}\r\n\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [],\r\n\t\theadersGroup: [],\r\n\t\trowsForExport: [],\r\n\t\theadersForExport: [],\r\n\t};\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate assetService: AssetService\r\n\t) {}\r\n\r\n\t@Input() selectedDisplayType = \"1\";\r\n\t@Input() model: DashboardAssetPerformanceModel | null = null;\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tswitch (this.selectedDisplayType) {\r\n\t\t\tdefault: {\r\n\t\t\t\tthis.title = \"Annualised Average Maintenance Cost\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"2\": {\r\n\t\t\t\tthis.title = \"Annualised Average Maintenance Count\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"3\": {\r\n\t\t\t\tthis.title = \"Mean Time Between Failures (MTBF)\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody.filter = new Filter();\r\n\t\tbody.filter.assetTypeTags = [\"Key\"];\r\n\t\tswitch (series.filterType) {\r\n\t\t\tcase \"assetNames\": {\r\n\t\t\t\tbody.filter.assetNames = series.filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t// squad\r\n\t\t\t\tbody.filter.retailBusinessManagers = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t// fuel/non fuel\r\n\t\t\t\tbody.filter.storeProfiles = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeTypes\": {\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel === \"facility type\"\r\n\t\t\t\t) {\r\n\t\t\t\t\tbody.filter.storeTypes = series.filterValues as string[];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbody.filter.storeClusters = series.filterValues as string[];\r\n\t\t\t\t}\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"stores\": {\r\n\t\t\t\tbody.filter.storeIds = (series.filterValues as DropdownItem[]).map(\r\n\t\t\t\t\t(item) => item.id\r\n\t\t\t\t);\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (dataSet.series[0].fromDt && dataSet.series[0].toDt) {\r\n\t\t\tbody.filter.fromDt = dataSet.series[0].fromDt + \"T00:00:00.000Z\";\r\n\t\t\tbody.filter.toDt = dataSet.series[0].toDt + \"T00:00:00.000Z\";\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdateCounter = 0;\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tthis.tableData.columns = [];\r\n\t\tthis.tableData.rows = [];\r\n\t\tthis.tableData.headersGroup = [];\r\n\t\tthis.tableData.headersForExport = [];\r\n\t\tthis.tableData.rowsForExport = [];\r\n\t\tthis.dataByAge = [];\r\n\t\tthis.dataByAsset = [];\r\n\t\tthis.chartDatasetSeries = [];\r\n\t\tthis.chartConfig.data.datasets = [];\r\n\t\tthis.chartConfig.options.scales.xAxes[0].ticks.max = 0;\r\n\t\tthis.legendArray = [];\r\n\t\tlet updateCounter = 0;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tupdateCounter += dataSet.series.length;\r\n\t\t});\r\n\t\tthis.updateCounter = updateCounter;\r\n\t\tlet i = 1;\r\n\t\tconst disableSeries3 = this.model.dataSets.length > 2;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tlet j = 0;\r\n\t\t\tdataSet.series.forEach((series) => {\r\n\t\t\t\tif (!disableSeries3 || j < 2) {\r\n\t\t\t\t\tif (j >= 2) {\r\n\t\t\t\t\t\tthis.sendRequestSeries3(\r\n\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\tj,\r\n\t\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\t\tseries,\r\n\t\t\t\t\t\t\tthis.fillBody(new QueryOptionsModel(), dateRange, dataSet, series),\r\n\t\t\t\t\t\t\tupdateId\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.sendRequestSeries1and2(\r\n\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\tj,\r\n\t\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\t\tseries,\r\n\t\t\t\t\t\t\tthis.fillBody(new QueryOptionsModel(), dateRange, dataSet, series),\r\n\t\t\t\t\t\t\tupdateId\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t}\r\n\t\t\t\tj++;\r\n\t\t\t});\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (!updateCounter) {\r\n\t\t\tthis.loaded = true;\r\n\t\t}\r\n\t}\r\n\r\n\tsendRequestSeries1and2(\r\n\t\tdataSetIndex: number,\r\n\t\tseriesIndex: number,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel,\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tupdateId: string\r\n\t) {\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByAge(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataByAge.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\t\t\t\t\tthis.fillChartAndTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tsendRequestSeries3(\r\n\t\tdataSetIndex: number,\r\n\t\tseriesIndex: number,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel,\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tupdateId: string\r\n\t) {\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByAsset(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataByAsset.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\t\t\t\t\tthis.fillChartAndTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillChartAndTable() {\r\n\t\tif (this.updateCounter <= 0) {\r\n\t\t\t//fill chart and legend\r\n\t\t\tlet maxX = 0;\r\n\t\t\t// dataSetName, dateRange, seriesName, color, filter\r\n\t\t\tconst newLegendMap: { [key: string]: [string, [string, string, string][]] } =\r\n\t\t\t\t{};\r\n\t\t\tfor (let i = 0; i < this.dataByAge.length; i++) {\r\n\t\t\t\tconst currentData = this.dataByAge[i][0];\r\n\t\t\t\tconst currentSeries = this.dataByAge[i][1];\r\n\t\t\t\tconst currentDataSet = this.dataByAge[i][2];\r\n\t\t\t\tconst currentDataSetIndex = this.dataByAge[i][3];\r\n\t\t\t\tconst currentSeriesIndex = this.dataByAge[i][4];\r\n\t\t\t\tif (currentSeries.showInGraph) {\r\n\t\t\t\t\t// chart\r\n\t\t\t\t\tconst values = [];\r\n\t\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\tvalues.push({ y: element.benchmarkMaintCost, x: element.ageInYears });\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\tvalues.push({ y: element.benchmarkMaintCount, x: element.ageInYears });\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\tvalues.push({ y: element.timeBetweenFailure, x: element.ageInYears });\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (element.ageInYears > maxX) {\r\n\t\t\t\t\t\t\tmaxX = element.ageInYears;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartConfig.data.datasets.push({\r\n\t\t\t\t\t\tlabel: `Data Set ${currentDataSetIndex} - Series ${\r\n\t\t\t\t\t\t\tcurrentSeriesIndex + 1\r\n\t\t\t\t\t\t}`,\r\n\t\t\t\t\t\tborderColor: currentSeries.color,\r\n\t\t\t\t\t\tbackgroundColor: currentSeries.color,\r\n\t\t\t\t\t\thoverBackgroundColor: currentSeries.color,\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: values,\r\n\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartDatasetSeries.push([currentDataSet, currentSeries, currentData]);\r\n\r\n\t\t\t\t\t// legend\r\n\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t? `\\r\\n${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\tconst dataSetName = `Data Set ${currentDataSetIndex}`;\r\n\t\t\t\t\tif (!newLegendMap[dataSetName]) {\r\n\t\t\t\t\t\tnewLegendMap[dataSetName] = [timeStr, []];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet filter = \"\";\r\n\t\t\t\t\tswitch (currentSeries.filterType) {\r\n\t\t\t\t\t\tcase \"assetNames\": {\r\n\t\t\t\t\t\t\tfilter = `Asset Names: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\t\tfilter = `${this.titleCase(\r\n\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterRetailBusinessManagerLabel\r\n\t\t\t\t\t\t\t)}: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\t\tfilter = `Store Profile: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\t\tfilter = `${this.titleCase(\r\n\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel\r\n\t\t\t\t\t\t\t)}: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\t\tfilter = `Stores: ${(currentSeries.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t\t.join(\", \")}`;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewLegendMap[dataSetName][1].push([\r\n\t\t\t\t\t\t`Series ${currentSeriesIndex + 1}`,\r\n\t\t\t\t\t\tcurrentSeries.color,\r\n\t\t\t\t\t\tfilter,\r\n\t\t\t\t\t]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfor (let i = 0; i < this.dataByAsset.length; i++) {\r\n\t\t\t\tconst currentData = this.dataByAsset[i][0];\r\n\t\t\t\tconst currentSeries = this.dataByAsset[i][1];\r\n\t\t\t\tconst currentDataSet = this.dataByAsset[i][2];\r\n\t\t\t\tconst currentDataSetIndex = this.dataByAsset[i][3];\r\n\t\t\t\tconst currentSeriesIndex = this.dataByAsset[i][4];\r\n\t\t\t\tif (currentSeries.showInGraph) {\r\n\t\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\t\t// chart\r\n\t\t\t\t\t\tconst values = [];\r\n\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\tvalues.push({ y: element.annualisedMaintCost, x: element.ageInYears });\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\tvalues.push({ y: element.annualisedMaintCount, x: element.ageInYears });\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\tvalues.push({\r\n\t\t\t\t\t\t\t\t\ty: element.annualisedTimeBetweenFailure,\r\n\t\t\t\t\t\t\t\t\tx: element.ageInYears,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst color = element.groupByEntity\r\n\t\t\t\t\t\t\t? currentSeries.color\r\n\t\t\t\t\t\t\t: this.whiteLabelService.getRandomColor();\r\n\t\t\t\t\t\tconst nameAddition = element.groupByEntity\r\n\t\t\t\t\t\t\t? \"\"\r\n\t\t\t\t\t\t\t: ` - Asset ${element.assetId}`;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets.push({\r\n\t\t\t\t\t\t\tlabel: `Data Set ${currentDataSetIndex} - Series ${\r\n\t\t\t\t\t\t\t\tcurrentSeriesIndex + 1\r\n\t\t\t\t\t\t\t}${nameAddition}`,\r\n\t\t\t\t\t\t\tborderColor: color,\r\n\t\t\t\t\t\t\tbackgroundColor: color,\r\n\t\t\t\t\t\t\thoverBackgroundColor: color,\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: values,\r\n\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartDatasetSeries.push([currentDataSet, currentSeries, [element]]);\r\n\r\n\t\t\t\t\t\tif (element.ageInYears > maxX) {\r\n\t\t\t\t\t\t\tmaxX = element.ageInYears;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// legend\r\n\t\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t\t? `\\r\\n${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\t\tconst dataSetName = `Data Set ${currentDataSetIndex}`;\r\n\t\t\t\t\t\tif (!newLegendMap[dataSetName]) {\r\n\t\t\t\t\t\t\tnewLegendMap[dataSetName] = [timeStr, []];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet filter = `Stores: ${(currentSeries.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t.join(\", \")}`;\r\n\t\t\t\t\t\tnewLegendMap[dataSetName][1].push([\r\n\t\t\t\t\t\t\t`Series ${currentSeriesIndex + 1}${nameAddition}`,\r\n\t\t\t\t\t\t\tcolor,\r\n\t\t\t\t\t\t\tfilter,\r\n\t\t\t\t\t\t]);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst options = Object.assign({}, this.chartConfig.options);\r\n\t\t\toptions.scales.xAxes[0].ticks.max = maxX;\r\n\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\tcase \"1\": {\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = true;\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"$\";\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase \"2\": {\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = false;\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"\";\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase \"3\": {\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = true;\r\n\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"Hours\";\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.chartConfig.options = options;\r\n\r\n\t\t\tif (this.chart) {\r\n\t\t\t\tthis.chart.chart.update();\r\n\t\t\t}\r\n\r\n\t\t\t// fill legend\r\n\t\t\tlet newLegendArray = [];\r\n\t\t\tfor (let key in newLegendMap) {\r\n\t\t\t\tnewLegendArray.push([\r\n\t\t\t\t\tkey,\r\n\t\t\t\t\tnewLegendMap[key][0],\r\n\t\t\t\t\tnewLegendMap[key][1].sort((a, b) => a[0].localeCompare(b[0])),\r\n\t\t\t\t]);\r\n\t\t\t}\r\n\t\t\tnewLegendArray.sort((a, b) => a[0].localeCompare(b[0]));\r\n\t\t\tthis.legendArray = newLegendArray;\r\n\r\n\t\t\t// fill table from this.dataByAge\r\n\t\t\tinterface GroupedAgeDataSets {\r\n\t\t\t\tdataSetName: string;\r\n\t\t\t\tseriesNames: string[];\r\n\t\t\t\t// series, age, value\r\n\t\t\t\tseriesData: { [key: string]: { [key: string]: number } };\r\n\t\t\t}\r\n\t\t\tconst groupedData: GroupedAgeDataSets[] = [];\r\n\t\t\t// table should contain only series 1 and 2\r\n\t\t\tconst disableSeries3 = true; //this.model.dataSets.length > 2;\r\n\t\t\tfor (let i = 0; i < this.model.dataSets.length; i++) {\r\n\t\t\t\tconst currentDataSet = this.model.dataSets[i];\r\n\t\t\t\tif (currentDataSet.series.length) {\r\n\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t? `${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\tconst filterStr = (currentDataSet.series[0].filterValues as string[]).join(\r\n\t\t\t\t\t\t\",\"\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst gd = {\r\n\t\t\t\t\t\tdataSetName: `Data Set ${i + 1} - ${filterStr} - ${timeStr}`,\r\n\t\t\t\t\t\tseriesNames: [],\r\n\t\t\t\t\t\tseriesData: {},\r\n\t\t\t\t\t};\r\n\t\t\t\t\tlet j = 0;\r\n\t\t\t\t\tthis.model.dataSets[i].series.forEach((series) => {\r\n\t\t\t\t\t\tif (!disableSeries3 || j < 2) {\r\n\t\t\t\t\t\t\tconst seriesName = this.buildSeriesName(j, series);\r\n\t\t\t\t\t\t\tgd.seriesNames.push(seriesName);\r\n\t\t\t\t\t\t\tgd.seriesData[seriesName] = {};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tj++;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tgroupedData.push(gd);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet ages: number[] = [];\r\n\t\t\tfor (let i = 0; i < this.dataByAge.length; i++) {\r\n\t\t\t\tconst currentData = this.dataByAge[i][0];\r\n\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\tages.push(element.ageInYears);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tages = Array.from(new Set(ages)).sort(function (a, b) {\r\n\t\t\t\treturn a - b;\r\n\t\t\t});\r\n\t\t\tages.forEach((age) => {\r\n\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\t\tgd.seriesData[sName][age.toString()] = 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tfor (let i = 0; i < this.dataByAge.length; i++) {\r\n\t\t\t\tconst currentData = this.dataByAge[i][0];\r\n\t\t\t\tconst currentSeries = this.dataByAge[i][1];\r\n\t\t\t\t//const currentDataSet = this.dataByAge[i][2];\r\n\t\t\t\tconst currentDataSetIndex = this.dataByAge[i][3];\r\n\t\t\t\tconst currentSeriesIndex = this.dataByAge[i][4];\r\n\t\t\t\t// table should contain only series 1 and 2\r\n\t\t\t\tif (currentSeriesIndex >= 2) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\tconst key = element.ageInYears.toString();\r\n\t\t\t\t\tlet value = 0;\r\n\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\tvalue = element.benchmarkMaintCost;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\tvalue = element.benchmarkMaintCount;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\tvalue = element.timeBetweenFailure;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgroupedData[currentDataSetIndex - 1].seriesData[\r\n\t\t\t\t\t\tthis.buildSeriesName(currentSeriesIndex, currentSeries)\r\n\t\t\t\t\t][key] = value;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tconst columns = [\"Age\"];\r\n\t\t\tconst headersForExport = [\"Age\"];\r\n\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\tcolumns.push(sName);\r\n\t\t\t\t\theadersForExport.push(`${gd.dataSetName} - ${sName}`);\r\n\t\t\t\t});\r\n\t\t\t\tif (gd.seriesNames.length > 1) {\r\n\t\t\t\t\tconst title = `${gd.seriesNames[gd.seriesNames.length - 1]} % against ${\r\n\t\t\t\t\t\tgd.seriesNames[0]\r\n\t\t\t\t\t}`;\r\n\t\t\t\t\tcolumns.push(title);\r\n\t\t\t\t\theadersForExport.push(`${gd.dataSetName} - ${title}`);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconst rows = [];\r\n\t\t\tconst rowsForExport = [];\r\n\t\t\tages.forEach((age) => {\r\n\t\t\t\tconst ageStr = age.toString();\r\n\t\t\t\tlet row = [[ageStr, \"\"]];\r\n\t\t\t\tlet rowForExport = [ageStr];\r\n\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\t\trow.push([\r\n\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\tthis.selectedDisplayType === \"1\" ? \"$\" : \"\"\r\n\t\t\t\t\t\t\t}${ConverterHelper.floatToString(gd.seriesData[sName][ageStr])}`,\r\n\t\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t\t]);\r\n\t\t\t\t\t\trowForExport.push(\r\n\t\t\t\t\t\t\tConverterHelper.floatToString(gd.seriesData[sName][ageStr])\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (gd.seriesNames.length > 1) {\r\n\t\t\t\t\t\tconst lastSValue =\r\n\t\t\t\t\t\t\tgd.seriesData[gd.seriesNames[gd.seriesNames.length - 1]][ageStr];\r\n\t\t\t\t\t\tconst firstSValue = gd.seriesData[gd.seriesNames[0]][ageStr];\r\n\t\t\t\t\t\tconst value = firstSValue ? (lastSValue * 100) / firstSValue : 0;\r\n\t\t\t\t\t\tlet classes = \"\";\r\n\t\t\t\t\t\tif (this.selectedDisplayType === \"3\") {\r\n\t\t\t\t\t\t\tclasses =\r\n\t\t\t\t\t\t\t\tvalue < 50\r\n\t\t\t\t\t\t\t\t\t? \"bg-danger text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t: value >= 50 && value < 75\r\n\t\t\t\t\t\t\t\t\t? \"bg-warning text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t: \"text-end\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tclasses =\r\n\t\t\t\t\t\t\t\tvalue > 150\r\n\t\t\t\t\t\t\t\t\t? \"bg-danger text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t: value > 125\r\n\t\t\t\t\t\t\t\t\t? \"bg-warning text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t: \"text-end\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\trow.push([`${ConverterHelper.floatToString(value)}%`, classes]);\r\n\t\t\t\t\t\trowForExport.push(value.toFixed(2));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\trows.push(row);\r\n\t\t\t\trowsForExport.push(rowForExport);\r\n\t\t\t});\r\n\r\n\t\t\tconst headersGroup = [];\r\n\t\t\theadersGroup.push([\"\", 1]);\r\n\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\theadersGroup.push([\r\n\t\t\t\t\tgd.dataSetName,\r\n\t\t\t\t\tgd.seriesNames.length > 1\r\n\t\t\t\t\t\t? gd.seriesNames.length + 1\r\n\t\t\t\t\t\t: gd.seriesNames.length,\r\n\t\t\t\t]);\r\n\t\t\t});\r\n\r\n\t\t\tthis.tableData.columns = columns;\r\n\t\t\tthis.tableData.rows = rows;\r\n\t\t\tthis.tableData.headersGroup = headersGroup;\r\n\t\t\tthis.tableData.rowsForExport = rowsForExport;\r\n\t\t\tthis.tableData.headersForExport = headersForExport;\r\n\r\n\t\t\t// all done\r\n\t\t\tthis.loaded = true;\r\n\t\t\tthis.ref.detectChanges();\r\n\t\t}\r\n\t}\r\n\r\n\tbuildSeriesName(\r\n\t\tseriesIndex: number,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel\r\n\t): string {\r\n\t\tswitch (seriesIndex) {\r\n\t\t\tcase 0: {\r\n\t\t\t\treturn \"All Assets\";\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tswitch (series.filterType) {\r\n\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\treturn (series.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn `Series ${seriesIndex + 1}`;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisChartFullscreen = false;\r\n\tpublic goFullscreenChart(value: boolean) {\r\n\t\tthis.isChartFullscreen = value;\r\n\t}\r\n\r\n\tpublic exportCsv() {\r\n\t\tconst options = {\r\n\t\t\tfieldSeparator: \",\",\r\n\t\t\tquoteStrings: '\"',\r\n\t\t\tdecimalseparator: \".\",\r\n\t\t\tshowLabels: true,\r\n\t\t\theaders: this.tableData.headersForExport.map((x) => {\r\n\t\t\t\treturn `\\\"${x}\\\"`;\r\n\t\t\t}),\r\n\t\t\tshowTitle: false,\r\n\t\t\ttitle: \"export\",\r\n\t\t\tuseBom: true,\r\n\t\t};\r\n\t\treturn new AngularCsv(this.tableData.rowsForExport, \"export\", options);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFileExport = faFileExport;\r\n\tfaExpandArrowsAlt = faExpandArrowsAlt;\r\n\tfaTable = faTable;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t {{title}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{title}}

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{{group[0]}}
\r\n\t\t\t\t\t\t
{{group[1]}}
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{item[0]}}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{{item[2]}}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t

\r\n\t\t\t {{title}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
{{cell[0]}}
{{column}}
{{row[i][0]}}
No data to display
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaChartColumn,\r\n\tfaExpandArrowsAlt,\r\n\tfaFileExport,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { AngularCsv } from \"angular-csv-ext\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport ConverterHelper from \"../../converterHelper\";\r\nimport { DropdownItem } from \"../../models/dropdownItem\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { AssetBenchmarkByMonthNameResponseModel } from \"../models/assetBenchmarkByMonthNameResponseModel\";\r\nimport { DashboardAssetPerformanceDataSetModel } from \"../models/dashboardAssetPerformanceDataSetModel\";\r\nimport { DashboardAssetPerformanceModel } from \"../models/dashboardAssetPerformanceModel\";\r\nimport { DashboardAssetPerformanceSeriesModel } from \"../models/dashboardAssetPerformanceSeriesModel\";\r\nimport { Filter } from \"../models/filter\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { AssetService } from \"../services/asset.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-asset-performance-month\",\r\n\ttemplateUrl: \"./asset-performance-month.component.html\",\r\n})\r\nexport class AssetPerformanceMonthComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\ttitle: string;\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tchartData: [\r\n\t\tAssetBenchmarkByMonthNameResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\t// dataSetName, timeRange, seriesName, color\r\n\tlegendArray: [string, string, [string, string][]][] = [];\r\n\tchartConfig = {\r\n\t\ttype: \"line\",\r\n\t\tdata: {\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\thover: {\r\n\t\t\t\tmode: \"x\",\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\ttype: \"category\",\r\n\t\t\t\t\t\tlabels: [\r\n\t\t\t\t\t\t\t\"Jan\",\r\n\t\t\t\t\t\t\t\"Feb\",\r\n\t\t\t\t\t\t\t\"Mar\",\r\n\t\t\t\t\t\t\t\"Apr\",\r\n\t\t\t\t\t\t\t\"May\",\r\n\t\t\t\t\t\t\t\"Jun\",\r\n\t\t\t\t\t\t\t\"Jul\",\r\n\t\t\t\t\t\t\t\"Aug\",\r\n\t\t\t\t\t\t\t\"Sep\",\r\n\t\t\t\t\t\t\t\"Oct\",\r\n\t\t\t\t\t\t\t\"Nov\",\r\n\t\t\t\t\t\t\t\"Dec\",\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tscaleLabel: {\r\n\t\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\t\tlabelString: \"\",\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\tparsing: {\r\n\t\t\t\txAxisKey: \"x\",\r\n\t\t\t\tyAxisKey: \"y\",\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data.datasets[tooltipItem[0].datasetIndex].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet result = \"\";\r\n\t\t\t\t\t\tfor (\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\ti < this.chartData[tooltipItem.datasetIndex][0].length;\r\n\t\t\t\t\t\t\ti++\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tconst element = this.chartData[tooltipItem.datasetIndex][0][i];\r\n\t\t\t\t\t\t\tconst x = tooltipItem[\"xLabel\"];\r\n\t\t\t\t\t\t\tif (element.monthName === x) {\r\n\t\t\t\t\t\t\t\tresult = `Month: ${element.monthName}`;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterLabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet result = [];\r\n\t\t\t\t\t\tfor (\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\ti < this.chartData[tooltipItem.datasetIndex][0].length;\r\n\t\t\t\t\t\t\ti++\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tconst element = this.chartData[tooltipItem.datasetIndex][0][i];\r\n\t\t\t\t\t\t\tconst x = tooltipItem[\"xLabel\"];\r\n\t\t\t\t\t\t\tif (element.monthName === x) {\r\n\t\t\t\t\t\t\t\tconst series = this.chartData[tooltipItem.datasetIndex][1];\r\n\t\t\t\t\t\t\t\tconst dataSet = this.chartData[tooltipItem.datasetIndex][2];\r\n\t\t\t\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\t\t\t\tdataSet.series[0].fromDt && dataSet.series[0].toDt\r\n\t\t\t\t\t\t\t\t\t\t? `${dataSet.series[0].fromDt} - ${dataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\t\t\t\tresult.push(`Date Range: ${timeStr}`);\r\n\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t`Asset Count: ${ConverterHelper.intToString(element.assetCount)}`\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Maintain Cost: ${ConverterHelper.floatToString(\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.benchmarkMaintCost\r\n\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Maintain Count: ${ConverterHelper.floatToString(\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.benchmarkMaintCount\r\n\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Time Between Failure: ${ConverterHelper.intToString(\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.timeBetweenFailure\r\n\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tswitch (series.filterType) {\r\n\t\t\t\t\t\t\t\t\tcase \"assetNames\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${this.chartData[\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipItem.datasetIndex\r\n\t\t\t\t\t\t\t\t\t\t\t][1].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterRetailBusinessManagerLabel\r\n\t\t\t\t\t\t\t\t\t\t\t)}: ${this.chartData[tooltipItem.datasetIndex][1].filterValues.join(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\", \"\r\n\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Store Profile: ${this.chartData[\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipItem.datasetIndex\r\n\t\t\t\t\t\t\t\t\t\t\t][1].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel\r\n\t\t\t\t\t\t\t\t\t\t\t)}: ${this.chartData[tooltipItem.datasetIndex][1].filterValues.join(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\", \"\r\n\t\t\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Asset Names: ${dataSet.series[0].filterValues.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tresult.push(\r\n\t\t\t\t\t\t\t\t\t\t\t`Stores: ${(\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.chartData[tooltipItem.datasetIndex][1]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.filterValues as DropdownItem[]\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.join(\", \")}`\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result.length ? result : \"\";\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"apaChart\") chart: ChartComponent;\r\n\r\n\ttitleCase(str) {\r\n\t\tvar splitStr = str.toLowerCase().split(\" \");\r\n\t\tfor (var i = 0; i < splitStr.length; i++) {\r\n\t\t\t// You do not need to check if i is larger than splitStr length, as your for does that for you\r\n\t\t\t// Assign it back to the array\r\n\t\t\tsplitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);\r\n\t\t}\r\n\t\t// Directly return the joined string\r\n\t\treturn splitStr.join(\" \");\r\n\t}\r\n\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [],\r\n\t\theadersGroup: [],\r\n\t\theadersTop: [],\r\n\t\trowsForExport: [],\r\n\t\theadersForExport: [],\r\n\t};\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate assetService: AssetService\r\n\t) {}\r\n\r\n\t@Input() selectedDisplayType = \"1\";\r\n\t@Input() model: DashboardAssetPerformanceModel | null = null;\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tswitch (this.selectedDisplayType) {\r\n\t\t\tdefault: {\r\n\t\t\t\tthis.title = \"Average Maintenance Cost by Calendar Month\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"2\": {\r\n\t\t\t\tthis.title = \"Average Maintenance Count by Calendar Month\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"3\": {\r\n\t\t\t\tthis.title = \"Mean Time Between Failures (MTBF)\";\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody.filter = new Filter();\r\n\t\tbody.filter.assetTypeTags = [\"Key\"];\r\n\t\tswitch (series.filterType) {\r\n\t\t\tcase \"assetNames\": {\r\n\t\t\t\tbody.filter.assetNames = series.filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t// squad\r\n\t\t\t\tbody.filter.retailBusinessManagers = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t// fuel/non fuel\r\n\t\t\t\tbody.filter.storeProfiles = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeTypes\": {\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel === \"facility type\"\r\n\t\t\t\t) {\r\n\t\t\t\t\tbody.filter.storeTypes = series.filterValues as string[];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbody.filter.storeClusters = series.filterValues as string[];\r\n\t\t\t\t}\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"stores\": {\r\n\t\t\t\tbody.filter.storeIds = (series.filterValues as DropdownItem[]).map(\r\n\t\t\t\t\t(item) => item.id\r\n\t\t\t\t);\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (dataSet.series[0].fromDt && dataSet.series[0].toDt) {\r\n\t\t\tbody.filter.fromDt = dataSet.series[0].fromDt + \"T00:00:00.000Z\";\r\n\t\t\tbody.filter.toDt = dataSet.series[0].toDt + \"T00:00:00.000Z\";\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdateCounter = 0;\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tthis.tableData.columns = [];\r\n\t\tthis.tableData.rows = [];\r\n\t\tthis.tableData.headersGroup = [];\r\n\t\tthis.tableData.headersTop = [];\r\n\t\tthis.tableData.headersForExport = [];\r\n\t\tthis.tableData.rowsForExport = [];\r\n\t\tthis.chartData = [];\r\n\t\tthis.chartConfig.data.datasets = [];\r\n\t\tthis.legendArray = [];\r\n\t\tlet updateCounter = 0;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tupdateCounter += dataSet.series.length;\r\n\t\t});\r\n\t\tthis.updateCounter = updateCounter;\r\n\t\tlet i = 1;\r\n\t\tconst disableSeries3 = this.model.dataSets.length > 2;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tlet j = 0;\r\n\t\t\tdataSet.series.forEach((series) => {\r\n\t\t\t\tif (!disableSeries3 || j < 2) {\r\n\t\t\t\t\tthis.sendRequest(\r\n\t\t\t\t\t\ti,\r\n\t\t\t\t\t\tj,\r\n\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\tseries,\r\n\t\t\t\t\t\tthis.fillBody(new QueryOptionsModel(), dateRange, dataSet, series),\r\n\t\t\t\t\t\tupdateId\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t}\r\n\t\t\t\tj++;\r\n\t\t\t});\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (!updateCounter) {\r\n\t\t\tthis.loaded = true;\r\n\t\t}\r\n\t}\r\n\r\n\tsendRequest(\r\n\t\tdataSetIndex: number,\r\n\t\tseriesIndex: number,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel,\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tupdateId: string\r\n\t) {\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByMonthName(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.chartData.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\r\n\t\t\t\t\tif (this.updateCounter <= 0) {\r\n\t\t\t\t\t\t// fill chart\r\n\t\t\t\t\t\tfor (let i = 0; i < this.chartData.length; i++) {\r\n\t\t\t\t\t\t\tconst currentData = this.chartData[i][0];\r\n\t\t\t\t\t\t\tconst currentSeries = this.chartData[i][1];\r\n\t\t\t\t\t\t\tconst currentDataSetIndex = this.chartData[i][3];\r\n\t\t\t\t\t\t\tconst currentSeriesIndex = this.chartData[i][4];\r\n\t\t\t\t\t\t\tif (currentSeries.showInGraph) {\r\n\t\t\t\t\t\t\t\tconst values = [];\r\n\t\t\t\t\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({ y: element.benchmarkMaintCost, x: element.monthName });\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: element.benchmarkMaintCount,\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: element.monthName,\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\t\t\t\tvalues.push({ y: element.timeBetweenFailure, x: element.monthName });\r\n\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tthis.chartConfig.data.datasets.push({\r\n\t\t\t\t\t\t\t\t\tlabel: `Data Set ${currentDataSetIndex} - Series ${\r\n\t\t\t\t\t\t\t\t\t\tcurrentSeriesIndex + 1\r\n\t\t\t\t\t\t\t\t\t}`,\r\n\t\t\t\t\t\t\t\t\tborderColor: currentSeries.color,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: currentSeries.color,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: currentSeries.color,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: values,\r\n\t\t\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst options = Object.assign({}, this.chartConfig.options);\r\n\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = true;\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"$\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = false;\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.display = true;\r\n\t\t\t\t\t\t\t\toptions.scales.yAxes[0].scaleLabel.labelString = \"Hours\";\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.chartConfig.options = options;\r\n\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// fill legend\r\n\t\t\t\t\t\t// dataSetName, dateRange, seriesName, color, filter\r\n\t\t\t\t\t\tconst newLegendMap: {\r\n\t\t\t\t\t\t\t[key: string]: [string, [string, string, string][]];\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tfor (let i = 0; i < this.chartData.length; i++) {\r\n\t\t\t\t\t\t\tconst currentSeries = this.chartData[i][1];\r\n\t\t\t\t\t\t\tif (currentSeries.showInGraph) {\r\n\t\t\t\t\t\t\t\tconst currentDataSet = this.chartData[i][2];\r\n\t\t\t\t\t\t\t\tconst currentDataSetIndex = this.chartData[i][3];\r\n\t\t\t\t\t\t\t\tconst currentSeriesIndex = this.chartData[i][4];\r\n\t\t\t\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t\t\t\t? `\\r\\n${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\t\t\t\tconst dataSetName = `Data Set ${currentDataSetIndex}`;\r\n\t\t\t\t\t\t\t\tif (!newLegendMap[dataSetName]) {\r\n\t\t\t\t\t\t\t\t\tnewLegendMap[dataSetName] = [timeStr, []];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlet filter = \"\";\r\n\t\t\t\t\t\t\t\tswitch (currentSeries.filterType) {\r\n\t\t\t\t\t\t\t\t\tcase \"assetNames\": {\r\n\t\t\t\t\t\t\t\t\t\tfilter = `Asset Names: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\t\t\t\t\tfilter = `${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterRetailBusinessManagerLabel\r\n\t\t\t\t\t\t\t\t\t\t)}: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\t\t\t\t\tfilter = `Store Profile: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\t\t\t\t\tfilter = `${this.titleCase(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel\r\n\t\t\t\t\t\t\t\t\t\t)}: ${currentSeries.filterValues.join(\", \")}`;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\t\t\t\t\tfilter = `Stores: ${(currentSeries.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t\t\t\t\t.join(\", \")}`;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tnewLegendMap[dataSetName][1].push([\r\n\t\t\t\t\t\t\t\t\t`Series ${currentSeriesIndex + 1}`,\r\n\t\t\t\t\t\t\t\t\tcurrentSeries.color,\r\n\t\t\t\t\t\t\t\t\tfilter,\r\n\t\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet newLegendArray = [];\r\n\t\t\t\t\t\tfor (let key in newLegendMap) {\r\n\t\t\t\t\t\t\tnewLegendArray.push([\r\n\t\t\t\t\t\t\t\tkey,\r\n\t\t\t\t\t\t\t\tnewLegendMap[key][0],\r\n\t\t\t\t\t\t\t\tnewLegendMap[key][1].sort((a, b) => a[0].localeCompare(b[0])),\r\n\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewLegendArray.sort((a, b) => a[0].localeCompare(b[0]));\r\n\t\t\t\t\t\tthis.legendArray = newLegendArray;\r\n\r\n\t\t\t\t\t\t// fill table from this.chartData\r\n\t\t\t\t\t\tinterface GroupedMonthDataSets {\r\n\t\t\t\t\t\t\tdataSetName: string;\r\n\t\t\t\t\t\t\tseriesNames: string[];\r\n\t\t\t\t\t\t\t// series, monthName, value\r\n\t\t\t\t\t\t\tseriesData: { [key: string]: { [key: string]: number } };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst groupedData: GroupedMonthDataSets[] = [];\r\n\t\t\t\t\t\tconst disableSeries3 = this.model.dataSets.length > 2;\r\n\t\t\t\t\t\tfor (let i = 0; i < this.model.dataSets.length; i++) {\r\n\t\t\t\t\t\t\tconst currentDataSet = this.model.dataSets[i];\r\n\t\t\t\t\t\t\tif (currentDataSet.series.length) {\r\n\t\t\t\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t\t\t\t? `${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\t\t\t\tconst filterStr = (\r\n\t\t\t\t\t\t\t\t\tcurrentDataSet.series[0].filterValues as string[]\r\n\t\t\t\t\t\t\t\t).join(\",\");\r\n\t\t\t\t\t\t\t\tconst gd = {\r\n\t\t\t\t\t\t\t\t\tdataSetName: `Data Set ${i + 1} - ${filterStr} - ${timeStr}`,\r\n\t\t\t\t\t\t\t\t\tseriesNames: [],\r\n\t\t\t\t\t\t\t\t\tseriesData: {},\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tlet j = 0;\r\n\t\t\t\t\t\t\t\tthis.model.dataSets[i].series.forEach((series) => {\r\n\t\t\t\t\t\t\t\t\tif (!disableSeries3 || j < 2) {\r\n\t\t\t\t\t\t\t\t\t\tgd.seriesNames.push(this.buildSeriesName(j, series));\r\n\t\t\t\t\t\t\t\t\t\tgd.seriesData[this.buildSeriesName(j, series)] = {};\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tj++;\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tgroupedData.push(gd);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet monthNames: string[] = [\r\n\t\t\t\t\t\t\t\"Jan\",\r\n\t\t\t\t\t\t\t\"Feb\",\r\n\t\t\t\t\t\t\t\"Mar\",\r\n\t\t\t\t\t\t\t\"Apr\",\r\n\t\t\t\t\t\t\t\"May\",\r\n\t\t\t\t\t\t\t\"Jun\",\r\n\t\t\t\t\t\t\t\"Jul\",\r\n\t\t\t\t\t\t\t\"Aug\",\r\n\t\t\t\t\t\t\t\"Sep\",\r\n\t\t\t\t\t\t\t\"Oct\",\r\n\t\t\t\t\t\t\t\"Nov\",\r\n\t\t\t\t\t\t\t\"Dec\",\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tmonthNames.forEach((monthName) => {\r\n\t\t\t\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\t\t\t\t\tgd.seriesData[sName][monthName] = 0;\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tfor (let i = 0; i < this.chartData.length; i++) {\r\n\t\t\t\t\t\t\tconst currentData = this.chartData[i][0];\r\n\t\t\t\t\t\t\tconst currentSeries = this.chartData[i][1];\r\n\t\t\t\t\t\t\t//const currentDataSet = this.chartData[i][2];\r\n\t\t\t\t\t\t\tconst currentDataSetIndex = this.chartData[i][3];\r\n\t\t\t\t\t\t\tconst currentSeriesIndex = this.chartData[i][4];\r\n\t\t\t\t\t\t\tcurrentData.forEach((element) => {\r\n\t\t\t\t\t\t\t\tconst key = element.monthName;\r\n\t\t\t\t\t\t\t\tlet value = 0;\r\n\t\t\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\t\t\tcase \"1\": {\r\n\t\t\t\t\t\t\t\t\t\tvalue = element.benchmarkMaintCost;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\t\t\tvalue = element.benchmarkMaintCount;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\t\t\tvalue = element.timeBetweenFailure;\r\n\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tgroupedData[currentDataSetIndex - 1].seriesData[\r\n\t\t\t\t\t\t\t\t\tthis.buildSeriesName(currentSeriesIndex, currentSeries)\r\n\t\t\t\t\t\t\t\t][key] = value;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst columns = [\"Month\"];\r\n\t\t\t\t\t\tconst headersForExport = [\"Month\"];\r\n\t\t\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\t\t\t\tcolumns.push(sName);\r\n\t\t\t\t\t\t\t\theadersForExport.push(`${gd.dataSetName} - ${sName}`);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tif (gd.seriesNames.length > 1) {\r\n\t\t\t\t\t\t\t\tconst title = `${gd.seriesNames[gd.seriesNames.length - 1]} % against ${\r\n\t\t\t\t\t\t\t\t\tgd.seriesNames[0]\r\n\t\t\t\t\t\t\t\t}`;\r\n\t\t\t\t\t\t\t\tcolumns.push(title);\r\n\t\t\t\t\t\t\t\theadersForExport.push(`${gd.dataSetName} - ${title}`);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tconst rows = [];\r\n\t\t\t\t\t\tconst rowsForExport = [];\r\n\t\t\t\t\t\tmonthNames.forEach((monthName) => {\r\n\t\t\t\t\t\t\tlet row = [[monthName, \"\"]];\r\n\t\t\t\t\t\t\tlet rowForExport = [monthName];\r\n\t\t\t\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\t\t\t\tgd.seriesNames.forEach((sName) => {\r\n\t\t\t\t\t\t\t\t\trow.push([\r\n\t\t\t\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedDisplayType === \"1\" ? \"$\" : \"\"\r\n\t\t\t\t\t\t\t\t\t\t}${ConverterHelper.floatToString(gd.seriesData[sName][monthName])}`,\r\n\t\t\t\t\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t\t\t\trowForExport.push(\r\n\t\t\t\t\t\t\t\t\t\tConverterHelper.floatToString(gd.seriesData[sName][monthName])\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tif (gd.seriesNames.length > 1) {\r\n\t\t\t\t\t\t\t\t\tconst lastSValue =\r\n\t\t\t\t\t\t\t\t\t\tgd.seriesData[gd.seriesNames[gd.seriesNames.length - 1]][monthName];\r\n\t\t\t\t\t\t\t\t\tconst firstSValue = gd.seriesData[gd.seriesNames[0]][monthName];\r\n\t\t\t\t\t\t\t\t\tconst value = firstSValue ? (lastSValue * 100) / firstSValue : 0;\r\n\t\t\t\t\t\t\t\t\tlet classes = \"\";\r\n\t\t\t\t\t\t\t\t\tif (this.selectedDisplayType === \"3\") {\r\n\t\t\t\t\t\t\t\t\t\tclasses =\r\n\t\t\t\t\t\t\t\t\t\t\tvalue < 50\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-danger text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t: value >= 50 && value < 75\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-warning text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t: \"text-end\";\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tclasses =\r\n\t\t\t\t\t\t\t\t\t\t\tvalue > 150\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-danger text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t: value > 125\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-warning text-white text-end\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t: \"text-end\";\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\trow.push([`${ConverterHelper.floatToString(value)}%`, classes]);\r\n\t\t\t\t\t\t\t\t\trowForExport.push(ConverterHelper.floatToString(value));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\trows.push(row);\r\n\t\t\t\t\t\t\trowsForExport.push(rowForExport);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tconst headersGroup = [];\r\n\t\t\t\t\t\theadersGroup.push([\"\", 1]);\r\n\t\t\t\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\t\t\t\theadersGroup.push([\r\n\t\t\t\t\t\t\t\tgd.dataSetName,\r\n\t\t\t\t\t\t\t\tgd.seriesNames.length > 1\r\n\t\t\t\t\t\t\t\t\t? gd.seriesNames.length + 1\r\n\t\t\t\t\t\t\t\t\t: gd.seriesNames.length,\r\n\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet headersTop;\r\n\t\t\t\t\t\tswitch (this.selectedDisplayType) {\r\n\t\t\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\t\t\theadersTop = [\r\n\t\t\t\t\t\t\t\t\t\"Average Maintenance Cost by Calendar Month\",\r\n\t\t\t\t\t\t\t\t\tcolumns.length,\r\n\t\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"2\": {\r\n\t\t\t\t\t\t\t\theadersTop = [\r\n\t\t\t\t\t\t\t\t\t\"Average Maintenance Counts by Calendar Month\",\r\n\t\t\t\t\t\t\t\t\tcolumns.length,\r\n\t\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcase \"3\": {\r\n\t\t\t\t\t\t\t\theadersTop = [\r\n\t\t\t\t\t\t\t\t\t\"Mean Time Between Failures (MTBF) - Hrs\",\r\n\t\t\t\t\t\t\t\t\tcolumns.length,\r\n\t\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.tableData.columns = columns;\r\n\t\t\t\t\t\tthis.tableData.rows = rows;\r\n\t\t\t\t\t\tthis.tableData.headersGroup = headersGroup;\r\n\t\t\t\t\t\tthis.tableData.headersTop = [headersTop];\r\n\t\t\t\t\t\tthis.tableData.rowsForExport = rowsForExport;\r\n\t\t\t\t\t\tthis.tableData.headersForExport = headersForExport;\r\n\r\n\t\t\t\t\t\t// all done\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tbuildSeriesName(\r\n\t\tseriesIndex: number,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel\r\n\t): string {\r\n\t\tswitch (seriesIndex) {\r\n\t\t\tcase 0: {\r\n\t\t\t\treturn \"All Assets\";\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tswitch (series.filterType) {\r\n\t\t\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t\t\t// squad\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t\t\t// fuel/non fuel\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"storeTypes\": {\r\n\t\t\t\t\t\treturn series.filterValues.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase \"stores\": {\r\n\t\t\t\t\t\treturn (series.filterValues as DropdownItem[])\r\n\t\t\t\t\t\t\t.map((x) => x.name)\r\n\t\t\t\t\t\t\t.join(\", \");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn `Series ${seriesIndex + 1}`;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisChartFullscreen = false;\r\n\tpublic goFullscreenChart(value: boolean) {\r\n\t\tthis.isChartFullscreen = value;\r\n\t}\r\n\r\n\tpublic exportCsv() {\r\n\t\tconst options = {\r\n\t\t\tfieldSeparator: \",\",\r\n\t\t\tquoteStrings: '\"',\r\n\t\t\tdecimalseparator: \".\",\r\n\t\t\tshowLabels: true,\r\n\t\t\theaders: this.tableData.headersForExport.map((x) => {\r\n\t\t\t\treturn `\\\"${x}\\\"`;\r\n\t\t\t}),\r\n\t\t\tshowTitle: false,\r\n\t\t\ttitle: \"export\",\r\n\t\t\tuseBom: true,\r\n\t\t};\r\n\t\treturn new AngularCsv(this.tableData.rowsForExport, \"export\", options);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFileExport = faFileExport;\r\n\tfaExpandArrowsAlt = faExpandArrowsAlt;\r\n\tfaTable = faTable;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t {{title}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{title}}

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{{group[0]}}
\r\n\t\t\t\t\t\t
{{group[1]}}
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{item[0]}}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{{item[2]}}\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t

\r\n\t\t\t {{title}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
{{cell[0]}}
{{column}}
{{row[i][0]}}
No data to display
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tOnDestroy,\r\n\tInput,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaChartLine\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { Subscription } from 'rxjs';\r\nimport { DashboardAssetPerformanceSeriesModel } from '../models/dashboardAssetPerformanceSeriesModel';\r\nimport { WOFiltersService } from '../services/wo-filters.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { DropdownItem } from '../../models/dropdownItem';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n\tselector: 'app-asset-performance-series',\r\n\ttemplateUrl: './asset-performance-series.component.html'\r\n})\r\nexport class AssetPerformanceSeriesComponent implements OnInit, OnDestroy {\r\n\t@Input() model: DashboardAssetPerformanceSeriesModel;\r\n\r\n\tmonth1: moment.Moment | null = null;\r\n\tmonth2: moment.Moment | null = null;\r\n\tdatePicker1Config = {\r\n\t\tappendTo: 'body',\r\n\t\tmax: moment().endOf('month'),\r\n\t\topens: \"right\"\r\n\t}\r\n\tdatePicker2Config = {\r\n\t\tappendTo: 'body',\r\n\t\tmax: moment().endOf('month'),\r\n\t\topens: \"left\"\r\n\t}\r\n\r\n\tonMonth1Changed() {\r\n\t\tif (this.month1) {\r\n\t\t\tconst newValue = this.month1.format('YYYY-MM-DD');\r\n\t\t\tif (newValue !== this.model.fromDt) {\r\n\t\t\t\tthis.model.fromDt = newValue;\r\n\t\t\t}\r\n\t\t\tif (this.month2 && this.month2 < this.month1) {\r\n\t\t\t\tthis.month2 = this.month1;\r\n\t\t\t\tthis.onMonth2Changed();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonMonth2Changed() {\r\n\t\tif (this.month2) {\r\n\t\t\tconst newValue = this.month2.endOf('month').format('YYYY-MM-DD');\r\n\t\t\tif (newValue !== this.model.toDt) {\r\n\t\t\t\tthis.model.toDt = newValue;\r\n\t\t\t}\r\n\t\t\tif (this.month1 && this.month2 < this.month1) {\r\n\t\t\t\tthis.month1 = this.month2;\r\n\t\t\t\tthis.onMonth1Changed();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsingleValue: string | DropdownItem = undefined;\r\n\r\n\tconstructor(public woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.month1 = moment(this.model.fromDt);\r\n\t\tthis.month2 = moment(this.model.toDt);\r\n\r\n\t\tif (this.model.filterValues && this.model.filterValues.length) {\r\n\t\t\tthis.singleValue = this.model.filterValues[0];\r\n\t\t}\r\n\t}\r\n\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tonChangeSingleValue() {\r\n\t\tif (this.singleValue) {\r\n\t\t\tif (this.model.filterValues.length) {\r\n\t\t\t\tthis.model.filterValues[0] = this.singleValue;\r\n\t\t\t} else {\r\n\t\t\t\tthis.model.filterValues.push(this.singleValue);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.model.filterValues = [];\r\n\t\t}\r\n\t}\r\n\r\n\tonChangeFilterType() {\r\n\t\tthis.model.filterValues = [];\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartLine = faChartLine;\r\n}","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{{model.color}}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t \t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{whiteLabelService.getSettings.filterRetailBusinessManagerLabel.toUpperCase()}}\r\n\t\t\t\tSTORE PROFILE\r\n\t\t\t\t{{whiteLabelService.getSettings.filterStoreTypeLabel.toUpperCase()}}\r\n\t\t\t\tCATEGORY\r\n\t\t\t \r\n\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaChartColumn,\r\n\tfaExpandArrowsAlt,\r\n\tfaFileExport,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { AngularCsv } from \"angular-csv-ext\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport ConverterHelper from \"../../converterHelper\";\r\nimport { DropdownItem } from \"../../models/dropdownItem\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { AssetBenchmarkByAgeResponseModel } from \"../models/assetBenchmarkByAgeResponseModel\";\r\nimport { AssetBenchmarkByAssetResponseModel } from \"../models/assetBenchmarkByAssetResponseModel\";\r\nimport { AssetBenchmarkListExtendedModel } from \"../models/assetBenchmarkListExtendedModel\";\r\nimport { AssetBenchmarkListResponseModel } from \"../models/assetBenchmarkListResponseModel\";\r\nimport { DashboardAssetPerformanceDataSetModel } from \"../models/dashboardAssetPerformanceDataSetModel\";\r\nimport { DashboardAssetPerformanceModel } from \"../models/dashboardAssetPerformanceModel\";\r\nimport { DashboardAssetPerformanceSeriesModel } from \"../models/dashboardAssetPerformanceSeriesModel\";\r\nimport { Filter } from \"../models/filter\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { AssetService } from \"../services/asset.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-asset-performance-summary-asset\",\r\n\ttemplateUrl: \"./asset-performance-summary-asset.component.html\",\r\n})\r\nexport class AssetPerformanceSummaryAssetComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\ttitle: string;\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tdataByAge: [\r\n\t\tAssetBenchmarkByAgeResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tdataByAsset: [\r\n\t\tAssetBenchmarkByAssetResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\t// data, series, dataSet, datasetIndex, seriesIndex\r\n\tdataBenchmarkList: [\r\n\t\tAssetBenchmarkListResponseModel[],\r\n\t\tDashboardAssetPerformanceSeriesModel,\r\n\t\tDashboardAssetPerformanceDataSetModel,\r\n\t\tnumber,\r\n\t\tnumber\r\n\t][] = [];\r\n\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t\"\",\r\n\t\t\t\"Asset Number\",\r\n\t\t\t\"Barcode\",\r\n\t\t\t\"Installation Date\",\r\n\t\t\t\"Decommission Date\",\r\n\t\t\t\"Age\",\r\n\t\t\t\"Annualised ($)\",\r\n\t\t\t\"Benchmark (against All Assets)\",\r\n\t\t\t\"% Against Benchmark\",\r\n\t\t\t\"Annualised (Counts)\",\r\n\t\t\t\"Benchmark (against All Assets)\",\r\n\t\t\t\"% Against Benchmark\",\r\n\t\t\t\"Annualised (Hrs)\",\r\n\t\t\t\"Benchmark (against All Assets)\",\r\n\t\t\t\"% Against Benchmark\",\r\n\t\t],\r\n\t\theadersGroup: [\r\n\t\t\t[\"\", 6],\r\n\t\t\t[\"Maintenance Cost\", 3],\r\n\t\t\t[\"Maintenance Counts\", 3],\r\n\t\t\t[\"MTBF\", 3],\r\n\t\t],\r\n\t\trowsForExport: [],\r\n\t\theadersForExport: [\r\n\t\t\t\"\",\r\n\t\t\t\"Asset Number\",\r\n\t\t\t\"Barcode\",\r\n\t\t\t\"Installation Date\",\r\n\t\t\t\"Decommission Date\",\r\n\t\t\t\"Age\",\r\n\t\t\t\"Maintenance Cost - Annualised ($)\",\r\n\t\t\t\"Maintenance Cost - Benchmark (against All Assets)\",\r\n\t\t\t\"Maintenance Cost - % Against Benchmark\",\r\n\t\t\t\"Maintenance Counts - Annualised (Counts)\",\r\n\t\t\t\"Maintenance Counts - Benchmark (against All Assets)\",\r\n\t\t\t\"Maintenance Counts - % Against Benchmark\",\r\n\t\t\t\"MTBF - Annualised (Hrs)\",\r\n\t\t\t\"MTBF - Benchmark (against All Assets)\",\r\n\t\t\t\"MTBF - % Against Benchmark\",\r\n\t\t],\r\n\t};\r\n\r\n\ttableDataBenchmarkList = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"description\",\r\n\t\t\t\tname: \"Asset Description\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"assetId\",\r\n\t\t\t\tname: \"Asset Number\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"barcode\",\r\n\t\t\t\tname: \"Barcode\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"installationDate\",\r\n\t\t\t\tname: \"Installation Date\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"decommissionDate\",\r\n\t\t\t\tname: \"Decommission Date\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"ageInYears\",\r\n\t\t\t\tname: \"Age\",\r\n\t\t\t},\r\n\t\t],\r\n\t};\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate assetService: AssetService,\r\n\t\tprivate modalService: NgbModal\r\n\t) {}\r\n\r\n\t@Input() model: DashboardAssetPerformanceModel | null = null;\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody.filter = new Filter();\r\n\t\tbody.filter.assetTypeTags = [\"Key\"];\r\n\t\tswitch (series.filterType) {\r\n\t\t\tcase \"assetNames\": {\r\n\t\t\t\tbody.filter.assetNames = series.filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"retailBusinessManagers\": {\r\n\t\t\t\t// squad\r\n\t\t\t\tbody.filter.retailBusinessManagers = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeProfiles\": {\r\n\t\t\t\t// fuel/non fuel\r\n\t\t\t\tbody.filter.storeProfiles = series.filterValues as string[];\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"storeTypes\": {\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.whiteLabelService.getSettings.filterStoreTypeLabel === \"facility type\"\r\n\t\t\t\t) {\r\n\t\t\t\t\tbody.filter.storeTypes = series.filterValues as string[];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbody.filter.storeClusters = series.filterValues as string[];\r\n\t\t\t\t}\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase \"stores\": {\r\n\t\t\t\tbody.filter.storeIds = (series.filterValues as DropdownItem[]).map(\r\n\t\t\t\t\t(item) => item.id\r\n\t\t\t\t);\r\n\t\t\t\tbody.filter.assetNames = dataSet.series[0].filterValues as string[];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (dataSet.series[0].fromDt && dataSet.series[0].toDt) {\r\n\t\t\tbody.filter.fromDt = dataSet.series[0].fromDt + \"T00:00:00.000Z\";\r\n\t\t\tbody.filter.toDt = dataSet.series[0].toDt + \"T00:00:00.000Z\";\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdateCounter = 0;\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tthis.tableData.rows = [];\r\n\t\tthis.tableData.rowsForExport = [];\r\n\t\tthis.dataByAge = [];\r\n\t\tthis.dataByAsset = [];\r\n\t\tthis.dataBenchmarkList = [];\r\n\t\tlet updateCounter = 0;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tupdateCounter += dataSet.series.length > 2 ? 1 : 0;\r\n\t\t});\r\n\t\tconst requestsCount = 3;\r\n\t\tthis.updateCounter = updateCounter * requestsCount;\r\n\t\tlet i = 1;\r\n\t\tconst disableSeries3 = this.model.dataSets.length > 2;\r\n\t\tthis.model.dataSets.forEach((dataSet) => {\r\n\t\t\tif (dataSet.series.length > 2) {\r\n\t\t\t\tif (!disableSeries3) {\r\n\t\t\t\t\tthis.sendRequestSeries1(\r\n\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\tdataSet.series[0],\r\n\t\t\t\t\t\tthis.fillBody(\r\n\t\t\t\t\t\t\tnew QueryOptionsModel(),\r\n\t\t\t\t\t\t\tdateRange,\r\n\t\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\t\tdataSet.series[0]\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tupdateId\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.sendRequestSeries3(\r\n\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t2,\r\n\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\tdataSet.series[2],\r\n\t\t\t\t\t\tthis.fillBody(\r\n\t\t\t\t\t\t\tnew QueryOptionsModel(),\r\n\t\t\t\t\t\t\tdateRange,\r\n\t\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\t\tdataSet.series[2]\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tupdateId\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.updateCounter -= requestsCount;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (!this.updateCounter) {\r\n\t\t\tthis.loaded = true;\r\n\t\t}\r\n\t}\r\n\r\n\tsendRequestSeries1(\r\n\t\tdataSetIndex: number,\r\n\t\tseriesIndex: number,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel,\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tupdateId: string\r\n\t) {\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByAge(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataByAge.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\t\t\t\t\tthis.fillTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tsendRequestSeries3(\r\n\t\tdataSetIndex: number,\r\n\t\tseriesIndex: number,\r\n\t\tdataSet: DashboardAssetPerformanceDataSetModel,\r\n\t\tseries: DashboardAssetPerformanceSeriesModel,\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tupdateId: string\r\n\t) {\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByAge(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataByAge.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\t\t\t\t\tthis.fillTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkByAsset(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataByAsset.push([data, series, dataSet, dataSetIndex, seriesIndex]);\r\n\t\t\t\t\tthis.fillTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.assetService.getAssetBenchmarkList(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.updateCounter--;\r\n\t\t\t\t\tthis.dataBenchmarkList.push([\r\n\t\t\t\t\t\tdata,\r\n\t\t\t\t\t\tseries,\r\n\t\t\t\t\t\tdataSet,\r\n\t\t\t\t\t\tdataSetIndex,\r\n\t\t\t\t\t\tseriesIndex,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tthis.fillTable();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillTable() {\r\n\t\tif (this.updateCounter <= 0) {\r\n\t\t\t// fill table from this.dataByAge, this.dataByAsset, this.dataBenchmarkList\r\n\t\t\tinterface GroupedSummaryDataSets {\r\n\t\t\t\tgroup: string;\r\n\t\t\t\tvalues: string[][];\r\n\t\t\t}\r\n\t\t\tconst groupedData: GroupedSummaryDataSets[] = [];\r\n\t\t\tconst disableSeries3 = this.model.dataSets.length > 2;\r\n\t\t\tfor (let i = 0; i < this.model.dataSets.length; i++) {\r\n\t\t\t\tconst currentDataSet = this.model.dataSets[i];\r\n\t\t\t\tif (currentDataSet.series.length) {\r\n\t\t\t\t\tconst timeStr =\r\n\t\t\t\t\t\tcurrentDataSet.series[0].fromDt && currentDataSet.series[0].toDt\r\n\t\t\t\t\t\t\t? `${currentDataSet.series[0].fromDt} - ${currentDataSet.series[0].toDt}`\r\n\t\t\t\t\t\t\t: \"\";\r\n\t\t\t\t\tlet j = 0;\r\n\t\t\t\t\tthis.model.dataSets[i].series.forEach((series) => {\r\n\t\t\t\t\t\tif (!disableSeries3 || j < 2) {\r\n\t\t\t\t\t\t\tconst filterStr =\r\n\t\t\t\t\t\t\t\tj < 2\r\n\t\t\t\t\t\t\t\t\t? (series.filterValues as string[]).join(\",\")\r\n\t\t\t\t\t\t\t\t\t: (series.filterValues as DropdownItem[]).map((x) => x.name).join(\",\");\r\n\t\t\t\t\t\t\tconst gd = {\r\n\t\t\t\t\t\t\t\tgroup: `Data Set ${i + 1}
${`Series ${\r\n\t\t\t\t\t\t\t\t\tj + 1\r\n\t\t\t\t\t\t\t\t}`}
${filterStr}
${timeStr}`,\r\n\t\t\t\t\t\t\t\tvalues: [],\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tgroupedData.push(gd);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tj++;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor (let i = 0; i < this.dataByAsset.length; i++) {\r\n\t\t\t\tconst currentDataByAsset = this.dataByAsset[i][0];\r\n\t\t\t\t//const currentSeries = this.dataByAsset[i][1];\r\n\t\t\t\t//const currentDataSet = this.dataByAsset[i][2];\r\n\t\t\t\tconst currentDataSetIndex = this.dataByAsset[i][3] - 1;\r\n\t\t\t\tconst currentSeriesIndex = this.dataByAsset[i][4];\r\n\t\t\t\tlet currentDataByAge: AssetBenchmarkByAgeResponseModel[] = [];\r\n\t\t\t\tfor (let j = 0; j < this.dataByAge.length; j++) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.dataByAge[j][3] === this.dataByAsset[i][3] &&\r\n\t\t\t\t\t\tthis.dataByAge[j][4] === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tcurrentDataByAge = this.dataByAge[j][0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlet currentDataBenchmarkList: AssetBenchmarkListResponseModel[] = [];\r\n\t\t\t\tfor (let j = 0; j < this.dataBenchmarkList.length; j++) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.dataBenchmarkList[j][3] === this.dataByAsset[i][3] &&\r\n\t\t\t\t\t\tthis.dataBenchmarkList[j][4] === this.dataByAsset[i][4]\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tcurrentDataBenchmarkList = this.dataBenchmarkList[j][0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tlet gdIndex = 0;\r\n\t\t\t\tfor (let dsI = 0; dsI < this.model.dataSets.length; dsI++) {\r\n\t\t\t\t\tlet stop = false;\r\n\t\t\t\t\tfor (let sI = 0; sI < this.model.dataSets[dsI].series.length; sI++) {\r\n\t\t\t\t\t\tif (dsI === currentDataSetIndex && currentSeriesIndex === sI) {\r\n\t\t\t\t\t\t\tstop = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tgdIndex++;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (stop) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tcurrentDataByAsset.forEach((item) => {\r\n\t\t\t\t\tlet itemByAge: AssetBenchmarkByAgeResponseModel | null = null;\r\n\t\t\t\t\tfor (let g = 0; g < currentDataByAge.length; g++) {\r\n\t\t\t\t\t\tif (currentDataByAge[g].ageInYears === item.ageInYears) {\r\n\t\t\t\t\t\t\titemByAge = currentDataByAge[g];\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet itemsBenchmarkList: AssetBenchmarkListExtendedModel[] = [];\r\n\t\t\t\t\tfor (let g = 0; g < currentDataBenchmarkList.length; g++) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tcurrentDataBenchmarkList[g].groupingAssetTypeMapId ===\r\n\t\t\t\t\t\t\titem.groupingAssetTypeMapId\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\titemsBenchmarkList.push({\r\n\t\t\t\t\t\t\t\tage: item.ageInYears,\r\n\r\n\t\t\t\t\t\t\t\tassetId: currentDataBenchmarkList[g].assetId,\r\n\t\t\t\t\t\t\t\tassetTypeMapId: currentDataBenchmarkList[g].assetTypeMapId,\r\n\t\t\t\t\t\t\t\tgroupingAssetTypeMapId:\r\n\t\t\t\t\t\t\t\t\tcurrentDataBenchmarkList[g].groupingAssetTypeMapId,\r\n\t\t\t\t\t\t\t\tgroupByEntity: currentDataBenchmarkList[g].groupByEntity,\r\n\t\t\t\t\t\t\t\tsystem: currentDataBenchmarkList[g].system,\r\n\t\t\t\t\t\t\t\tcategory: currentDataBenchmarkList[g].category,\r\n\t\t\t\t\t\t\t\tname: currentDataBenchmarkList[g].name,\r\n\t\t\t\t\t\t\t\tdescription: currentDataBenchmarkList[g].description,\r\n\r\n\t\t\t\t\t\t\t\tinstallationDate: currentDataBenchmarkList[g].installationDate,\r\n\t\t\t\t\t\t\t\tdecommissionDate: currentDataBenchmarkList[g].decommissionDate,\r\n\t\t\t\t\t\t\t\tbarcode: currentDataBenchmarkList[g].barcode,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet row = [];\r\n\t\t\t\t\tconst firstCell = item.groupByEntity ? itemsBenchmarkList : item.assetId;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\tfirstCell,\r\n\t\t\t\t\t\tfirstCell,\r\n\t\t\t\t\t\tArray.isArray(firstCell) ? \"text-center\" : \"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst barcode = item.groupByEntity ? \"\" : item.barcode;\r\n\t\t\t\t\trow.push([barcode, barcode, \"text-end\"]);\r\n\t\t\t\t\tconst installationDate = item.groupByEntity\r\n\t\t\t\t\t\t? \"\"\r\n\t\t\t\t\t\t: this.formatDateForTable(item.installationDate as string);\r\n\t\t\t\t\trow.push([installationDate, installationDate, \"text-end\"]);\r\n\t\t\t\t\tconst decommissionDate = item.groupByEntity\r\n\t\t\t\t\t\t? \"\"\r\n\t\t\t\t\t\t: this.formatDateForTable(item.decommissionDate as string);\r\n\t\t\t\t\trow.push([decommissionDate, decommissionDate, \"text-end\"]);\r\n\t\t\t\t\tconst age = item.groupByEntity ? \"\" : item.ageInYears;\r\n\t\t\t\t\trow.push([age, age, \"text-end\"]);\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titem.annualisedMaintCost.toFixed(2),\r\n\t\t\t\t\t\t`$${ConverterHelper.floatToString(item.annualisedMaintCost)}`,\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst benchmarkMaintCost = itemByAge ? itemByAge.benchmarkMaintCost : 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? benchmarkMaintCost.toFixed(2) : \"N/A\",\r\n\t\t\t\t\t\titemByAge\r\n\t\t\t\t\t\t\t? `$${ConverterHelper.floatToString(benchmarkMaintCost)}`\r\n\t\t\t\t\t\t\t: \"N/A\",\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst againstBenchamrk1 =\r\n\t\t\t\t\t\titemByAge && itemByAge.benchmarkMaintCost\r\n\t\t\t\t\t\t\t? (100 * item.annualisedMaintCost) / itemByAge.benchmarkMaintCost\r\n\t\t\t\t\t\t\t: 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? againstBenchamrk1.toFixed(2) : \"N/A\",\r\n\t\t\t\t\t\titemByAge\r\n\t\t\t\t\t\t\t? `${ConverterHelper.floatToString(againstBenchamrk1)}%`\r\n\t\t\t\t\t\t\t: \"N/A\",\r\n\t\t\t\t\t\t`text-end ${\r\n\t\t\t\t\t\t\tagainstBenchamrk1 > 150\r\n\t\t\t\t\t\t\t\t? \"bg-danger text-white\"\r\n\t\t\t\t\t\t\t\t: againstBenchamrk1 > 125\r\n\t\t\t\t\t\t\t\t? \"bg-warning text-white\"\r\n\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t}`,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titem.annualisedMaintCount,\r\n\t\t\t\t\t\tConverterHelper.floatToString(item.annualisedMaintCount),\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst benchmarkMaintCount = itemByAge ? itemByAge.benchmarkMaintCount : 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? benchmarkMaintCount.toFixed(2) : \"N/A\",\r\n\t\t\t\t\t\titemByAge\r\n\t\t\t\t\t\t\t? `${ConverterHelper.floatToString(benchmarkMaintCount)}`\r\n\t\t\t\t\t\t\t: \"N/A\",\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst againstBenchamrk2 =\r\n\t\t\t\t\t\titemByAge && itemByAge.benchmarkMaintCount\r\n\t\t\t\t\t\t\t? (100 * item.annualisedMaintCount) / itemByAge.benchmarkMaintCount\r\n\t\t\t\t\t\t\t: 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? againstBenchamrk2.toFixed(2) : \"N/A\",\r\n\t\t\t\t\t\titemByAge\r\n\t\t\t\t\t\t\t? `${ConverterHelper.floatToString(againstBenchamrk2)}%`\r\n\t\t\t\t\t\t\t: \"N/A\",\r\n\t\t\t\t\t\t`text-end ${\r\n\t\t\t\t\t\t\tagainstBenchamrk2 > 150\r\n\t\t\t\t\t\t\t\t? \"bg-danger text-white\"\r\n\t\t\t\t\t\t\t\t: againstBenchamrk2 > 125\r\n\t\t\t\t\t\t\t\t? \"bg-warning text-white\"\r\n\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t}`,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titem.annualisedTimeBetweenFailure.toString(),\r\n\t\t\t\t\t\tConverterHelper.intToString(item.annualisedTimeBetweenFailure),\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst timeBetweenFailure = itemByAge ? itemByAge.timeBetweenFailure : 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? timeBetweenFailure.toString() : \"N/A\",\r\n\t\t\t\t\t\titemByAge ? `${ConverterHelper.intToString(timeBetweenFailure)}` : \"N/A\",\r\n\t\t\t\t\t\t\"text-end\",\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tconst againstBenchamrk3 =\r\n\t\t\t\t\t\titemByAge && itemByAge.timeBetweenFailure\r\n\t\t\t\t\t\t\t? (100 * item.annualisedTimeBetweenFailure) /\r\n\t\t\t\t\t\t\t itemByAge.timeBetweenFailure\r\n\t\t\t\t\t\t\t: 0;\r\n\t\t\t\t\trow.push([\r\n\t\t\t\t\t\titemByAge ? againstBenchamrk3.toFixed(2) : \"N/A\",\r\n\t\t\t\t\t\titemByAge\r\n\t\t\t\t\t\t\t? `${ConverterHelper.floatToString(againstBenchamrk3)}%`\r\n\t\t\t\t\t\t\t: \"N/A\",\r\n\t\t\t\t\t\t`text-end ${\r\n\t\t\t\t\t\t\tagainstBenchamrk3 < 50\r\n\t\t\t\t\t\t\t\t? \"bg-danger text-white\"\r\n\t\t\t\t\t\t\t\t: againstBenchamrk3 >= 50 && againstBenchamrk3 < 75\r\n\t\t\t\t\t\t\t\t? \"bg-warning text-white\"\r\n\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t}`,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tgroupedData[gdIndex].values.push(row);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tconst rows = [];\r\n\t\t\tconst rowsForExport = [];\r\n\t\t\tgroupedData.forEach((gd) => {\r\n\t\t\t\tlet isFirst = true;\r\n\t\t\t\tgd.values.forEach((gRow) => {\r\n\t\t\t\t\tlet row = [];\r\n\t\t\t\t\tif (isFirst) {\r\n\t\t\t\t\t\trow.push([gd.group, \"dark-cell\", gd.values.length]);\r\n\t\t\t\t\t\tisFirst = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet rowForExport = [gd.group.replace(//g, \" - \")];\r\n\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\tgRow.forEach((cell) => {\r\n\t\t\t\t\t\trow.push([\r\n\t\t\t\t\t\t\tcell[1],\r\n\t\t\t\t\t\t\tcell[2],\r\n\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\tArray.isArray(cell[0]),\r\n\t\t\t\t\t\t\ti === 0 && cell[0] && !Array.isArray(cell[0])\r\n\t\t\t\t\t\t\t\t? `${this.whiteLabelService.getOldDashboardUrl()}/Asset/AssetDetails?id=${\r\n\t\t\t\t\t\t\t\t\t\tcell[0]\r\n\t\t\t\t\t\t\t\t }`\r\n\t\t\t\t\t\t\t\t: \"\",\r\n\t\t\t\t\t\t]);\r\n\t\t\t\t\t\tif (Array.isArray(cell[0])) {\r\n\t\t\t\t\t\t\trowForExport.push(\"\");\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\trowForExport.push(cell[0]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\ti++;\r\n\t\t\t\t\t});\r\n\t\t\t\t\trows.push(row);\r\n\t\t\t\t\trowsForExport.push(rowForExport);\r\n\r\n\t\t\t\t\tif (Array.isArray(gRow[0][0])) {\r\n\t\t\t\t\t\tconst unboxedRows =\r\n\t\t\t\t\t\t\tgRow[0][0] as unknown as AssetBenchmarkListExtendedModel[];\r\n\t\t\t\t\t\tunboxedRows.forEach((internalRow) => {\r\n\t\t\t\t\t\t\trowForExport = [];\r\n\t\t\t\t\t\t\trowForExport.push(internalRow.description);\r\n\t\t\t\t\t\t\trowForExport.push(internalRow.assetId.toString());\r\n\t\t\t\t\t\t\trowForExport.push(internalRow.barcode);\r\n\t\t\t\t\t\t\trowForExport.push(\r\n\t\t\t\t\t\t\t\tthis.formatDateForTable(internalRow.installationDate as string)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\trowForExport.push(\r\n\t\t\t\t\t\t\t\tthis.formatDateForTable(internalRow.decommissionDate as string)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\trowForExport.push(internalRow.age.toString());\r\n\t\t\t\t\t\t\trowsForExport.push(rowForExport);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tthis.tableData.rows = rows;\r\n\t\t\tthis.tableData.rowsForExport = rowsForExport;\r\n\r\n\t\t\t// all done\r\n\t\t\tthis.loaded = true;\r\n\t\t\tthis.ref.detectChanges();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic formatDateForTable(dateStr: string): string {\r\n\t\tif (dateStr) {\r\n\t\t\tconst tIndex = dateStr.indexOf(\"T\");\r\n\t\t\tif (tIndex > -1) {\r\n\t\t\t\treturn dateStr.substr(0, tIndex);\r\n\t\t\t} else {\r\n\t\t\t\treturn dateStr;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tisChartFullscreen = false;\r\n\tpublic goFullscreenChart(value: boolean) {\r\n\t\tthis.isChartFullscreen = value;\r\n\t}\r\n\r\n\tpublic exportCsv() {\r\n\t\tconst options = {\r\n\t\t\tfieldSeparator: \",\",\r\n\t\t\tquoteStrings: '\"',\r\n\t\t\tdecimalseparator: \".\",\r\n\t\t\tshowLabels: true,\r\n\t\t\theaders: this.tableData.headersForExport.map((x) => {\r\n\t\t\t\treturn `\\\"${x}\\\"`;\r\n\t\t\t}),\r\n\t\t\tshowTitle: false,\r\n\t\t\ttitle: \"export\",\r\n\t\t\tuseBom: true,\r\n\t\t};\r\n\t\treturn new AngularCsv(this.tableData.rowsForExport, \"export\", options);\r\n\t}\r\n\r\n\tpublic open(content, list) {\r\n\t\tthis.tableDataBenchmarkList.rows = list;\r\n\t\tthis.modalService.open(content, { size: \"lg\" });\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFileExport = faFileExport;\r\n\tfaExpandArrowsAlt = faExpandArrowsAlt;\r\n\tfaTable = faTable;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary by Asset (Maintenance Cost, Count and MTBF)\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
{{cell[0]}}
{{column}}
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
No data to display
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n\r\n\r\n\t
\r\n\t

Asset List

\r\n\t \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{formatDateForTable(value)}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{formatDateForTable(value)}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\n\r\nimport {\r\n\tfaFilter,\r\n\tfaSave,\r\n\tfaTrashAlt,\r\n\tfaPlusSquare,\r\n\tfaUndo\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Guid } from \"guid-typescript\";\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { DashboardAssetPerformanceModel } from '../models/dashboardAssetPerformanceModel';\r\nimport * as moment from 'moment';\r\nimport { DashboardService } from '../services/dashboard.service';\r\nimport { DashboardAssetPerformanceDataSetModel } from '../models/dashboardAssetPerformanceDataSetModel';\r\n\r\n@Component({\r\n\tselector: 'app-asset-performance',\r\n\ttemplateUrl: './asset-performance.component.html'\r\n})\r\nexport class AssetPerformanceComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(private authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate messageService: MessageService,\r\n\t\tprivate dashboardService: DashboardService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tconfig: DashboardAssetPerformanceModel | null = null;\r\n\tisDashboardReady: boolean = false;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle('Asset Performance Benchmark');\r\n\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.woFiltersService.assetNamesEnable(false);\r\n\r\n\t\tthis.dashboardService.getDashboardAssetPerformance().subscribe(data => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.config = data;\r\n\t\t\t} else {\r\n\t\t\t\tthis.config = { dataSets: [] };\r\n\t\t\t}\r\n\t\t\tthis.dashboardBackup = JSON.stringify(this.config);\r\n\t\t\tthis.isDashboardReady = true;\r\n\t\t});\r\n\r\n\t\tthis.subs.add(this.stateService.getDateRange.subscribe((value: IMyDateRangeModel) => {\r\n\t\t\tthis.update();\r\n\t\t}));\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t\tthis.woFiltersService.assetNamesEnable(true);\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\r\n\tselectedTab = \"1\";\r\n\tselectTab(value: string) {\r\n\t\tthis.selectedTab = value;\r\n\t}\r\n\r\n\tdashboardBackup: string = \"\";\r\n\r\n\tcancelEditDashboard() {\r\n\t\tthis.config = JSON.parse(this.dashboardBackup);\r\n\t}\r\n\r\n\tinProgressSaveDashboard: boolean = false;\r\n\r\n\tsaveDashboard() {\r\n\t\tconst today = moment();\r\n\t\tconst maxDate = today.endOf('month').format('YYYY-MM-DD');\r\n\t\tlet shortDateRange = false;\r\n\t\tlet invalidDateRange = false;\r\n\t\tlet bigDate = false;\r\n\t\tfor (let i = 0; i < this.config.dataSets.length; i++) {\r\n\t\t\tconst ds = this.config.dataSets[i];\r\n\t\t\tif (ds.series.length) {\r\n\t\t\t\tconst s1 = ds.series[0];\r\n\t\t\t\tif (s1.fromDt && s1.toDt) {\r\n\t\t\t\t\tif (s1.toDt > maxDate) {\r\n\t\t\t\t\t\tbigDate = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst m1 = moment(s1.fromDt);\r\n\t\t\t\t\tconst m2 = moment(s1.toDt);\r\n\t\t\t\t\tconst days = m2.diff(m1, 'days') + 1;\r\n\t\t\t\t\tif (days < 365) {\r\n\t\t\t\t\t\tshortDateRange = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tinvalidDateRange = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (bigDate) {\r\n\t\t\tthis.messageService.error(\"Error\", `Please select Date Range below ${today.add(1, 'months').format('MMM YYYY')}`);\r\n\t\t} else if (invalidDateRange) {\r\n\t\t\tthis.messageService.error(\"Error\", \"Please select Date Range\");\r\n\t\t} else if (shortDateRange) {\r\n\t\t\tthis.messageService.error(\"Error\", \"Please select Date Range over 12 months\");\r\n\t\t} else {\r\n\t\t\tconst dashboardBackup = JSON.stringify(this.config);\r\n\t\t\tthis.inProgressSaveDashboard = true;\r\n\t\t\tthis.dashboardService.saveDashboardAssetPerformance(this.config).subscribe(value => {\r\n\t\t\t\tthis.messageService.success(\"Dashboard\", \"Changes saved.\");\r\n\t\t\t\tthis.inProgressSaveDashboard = false;\r\n\t\t\t\tthis.dashboardBackup = dashboardBackup;\r\n\t\t\t\tthis.update();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\taddDataSet() {\r\n\t\tthis.config.dataSets.push(new DashboardAssetPerformanceDataSetModel());\r\n\t}\r\n\r\n\tdeleteDataSet(index: number) {\r\n\t\tthis.config.dataSets.splice(index, 1);\r\n\t}\r\n\r\n\taddSeries(index: number) {\r\n\t\tconst series = this.config.dataSets[index].series;\r\n\t\tif (series.length) {\r\n\t\t\tseries.push({\r\n\t\t\t\tcolor: this.getRandomColor(),\r\n\t\t\t\tshowInGraph: true,\r\n\t\t\t\tfromDt: null,\r\n\t\t\t\ttoDt: null,\r\n\t\t\t\tfilterType: \r\n\t\t\t\t\tseries.length === 1 ?\r\n\t\t\t\t\t\t(this.whiteLabelService.getSettings.assetPerformanceBenchmarkHideRetailBusinessManager ?\r\n\t\t\t\t\t\t\t\"storeProfiles\" : \r\n\t\t\t\t\t\t\t\"retailBusinessManagers\") :\r\n\t\t\t\t\t\t\"stores\",\r\n\t\t\t\tfilterValues: []\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// last 12 full months\r\n\t\t\tlet m = moment();\r\n\t\t\tm = m.subtract(1, 'months').endOf('month');\r\n\t\t\tconst toDt = m.format('YYYY-MM-DD');\r\n\t\t\tm = m.subtract(1, 'years').startOf('month');\r\n\t\t\tconst fromDt = m.format('YYYY-MM-DD');\r\n\t\t\tseries.push({\r\n\t\t\t\tcolor: this.getRandomColor(),\r\n\t\t\t\tshowInGraph: true,\r\n\t\t\t\tfromDt: fromDt,\r\n\t\t\t\ttoDt: toDt,\r\n\t\t\t\tfilterType: \"assetNames\",\r\n\t\t\t\tfilterValues: []\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteSeries(index: number, series) {\r\n\t\tlet fromIndex = this.config.dataSets[index].series.indexOf(series);\r\n\t\tif (fromIndex >= 0) {\r\n\t\t\tthis.config.dataSets[index].series.splice(fromIndex, 1);\r\n\t\t}\r\n\t}\r\n\r\n\tgetRandomColor() {\r\n\t\treturn this.whiteLabelService.getRandomColor();\r\n\t}\r\n\r\n\t// Icons\r\n\tfaFilter = faFilter;\r\n\tfaSave = faSave;\r\n\tfaTrashAlt = faTrashAlt;\r\n\tfaPlusSquare = faPlusSquare;\r\n\tfaUndo = faUndo;\r\n}","
\r\n\t
\r\n\t\t
\r\n\t\t\tNot available.\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

\r\n\t\t\t\t\t Filters\r\n\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tData Set {{j + 1}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tSeries {{i + 1}}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t

= 2 && config.dataSets.length >= 3\">Disabled

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
Loading...
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-actual-budget-category\",\r\n\ttemplateUrl: \"./financial-actual-budget-category.component.html\",\r\n})\r\nexport class FinancialActualBudgetCategoryComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tcountTooltip: any = {};\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet type = data.datasets[tooltipItem.datasetIndex].label;\r\n\t\t\t\t\t\tlet result = `$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\tif (type !== \"Budget\" && this.countTooltip[tooltipItem.xLabel]) {\r\n\t\t\t\t\t\t\tlet count = this.countTooltip[tooltipItem.xLabel][type];\r\n\t\t\t\t\t\t\tresult += ` / Count ${count}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"chartFABCategory\") chart: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryGLCategory(body);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryGLCategory(body);\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\tlet glCategories = [];\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tif (element.glCategory && !glCategories.includes(element.glCategory)) {\r\n\t\t\t\t\t\t\tglCategories.push(element.glCategory);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.glCategory && !glCategories.includes(element.glCategory)) {\r\n\t\t\t\t\t\t\tglCategories.push(element.glCategory);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tglCategories.sort();\r\n\t\t\t\t\tnewLabels = glCategories;\r\n\t\t\t\t\tlet array = [];\r\n\t\t\t\t\tglCategories.forEach((element) => {\r\n\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tvar indexCategory = glCategories.indexOf(element.glCategory);\r\n\t\t\t\t\t\tif (indexCategory >= 0) {\r\n\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\tnewData[indexActuals].data[indexCategory] += element.cost;\r\n\t\t\t\t\t\t\tnewData[indexForecast].data[indexCategory] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\tnewTooltip[element.glCategory][\"Actuals\"] +=\r\n\t\t\t\t\t\t\t\telement.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\tnewTooltip[element.glCategory][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\tlet indexCategory = glCategories.indexOf(element.glCategory);\r\n\t\t\t\t\t\t\tif (indexCategory >= 0) {\r\n\t\t\t\t\t\t\t\tlet indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexCategory] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget v Total Spend by Category\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-actual-budget-fuel-non-fuel-state\",\r\n\ttemplateUrl: \"./financial-actual-budget-fuel-non-fuel-state.component.html\",\r\n})\r\nexport class FinancialActualBudgetFuelNonFuelStateComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tcountTooltip: any = {};\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet type = data.datasets[tooltipItem.datasetIndex].label;\r\n\t\t\t\t\t\tlet result = `$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\tif (type !== \"Budget\" && this.countTooltip[tooltipItem.xLabel]) {\r\n\t\t\t\t\t\t\tlet count = this.countTooltip[tooltipItem.xLabel][type];\r\n\t\t\t\t\t\t\tresult += ` / Count ${count}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"chartFABFuelState\") chart: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body1 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbody1.filter.storeProfiles = [\"Non Fuel\"];\r\n\t\tlet body2 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbody2.filter.storeProfiles = [\"Fuel\"];\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryState(body1);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryState(body1);\r\n\t\tlet query3 = this.workOrderReportService.getRequestSummaryState(body2);\r\n\t\tlet query4 = this.financialService.getBudgetSummaryState(body2);\r\n\t\tthis.subs.add(\r\n\t\t\tforkJoin([query1, query2, query3, query4]).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\tlet states = [];\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Non Fuel`;\r\n\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Non Fuel`;\r\n\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[2].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Fuel`;\r\n\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[3].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Fuel`;\r\n\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tstates.sort();\r\n\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\tvar array = [];\r\n\t\t\t\t\tstates.forEach((element) => {\r\n\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Non Fuel`;\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\tnewTooltip[state][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\tnewTooltip[state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state && element.entityMatch) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Non Fuel`;\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[2].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Fuel`;\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\tnewTooltip[state][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\tnewTooltip[state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[3].forEach((element) => {\r\n\t\t\t\t\t\tif (element.state && element.entityMatch) {\r\n\t\t\t\t\t\t\tlet state = `${element.state} Fuel`;\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget v Total Spend - Fuel vs Non Fuel by State\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-actual-budget-store-type-state\",\r\n\ttemplateUrl: \"./financial-actual-budget-store-type-state.component.html\",\r\n})\r\nexport class FinancialActualBudgetStoreTypeStateComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tcountTooltip: any = {};\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet type = data.datasets[tooltipItem.datasetIndex].label;\r\n\t\t\t\t\t\tlet result = `$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\tif (type !== \"Budget\" && this.countTooltip[tooltipItem.xLabel]) {\r\n\t\t\t\t\t\t\tlet count = this.countTooltip[tooltipItem.xLabel][type];\r\n\t\t\t\t\t\t\tresult += ` / Count ${count}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"chartFABStoreTypeState\") chart: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\t\tlet query1 = this.workOrderReportService.getRequestSummaryStoreType(body);\r\n\t\t\tlet query2 = this.financialService.getBudgetSummaryStoreType(body);\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.storeType) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.storeType}`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.storeType) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.storeType}`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tstates.sort();\r\n\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\tstates.forEach((element) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.storeType) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.storeType}`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.storeType && element.entityMatch) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.storeType}`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tlet body1 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\t\tbody1.filter.storeTypes = [\"FSE\"];\r\n\t\t\tlet body2 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\t\tbody2.filter.storeTypes = [\"COHO\"];\r\n\r\n\t\t\tlet query1 = this.workOrderReportService.getRequestSummaryState(body1);\r\n\t\t\tlet query2 = this.financialService.getBudgetSummaryState(body1);\r\n\t\t\tlet query3 = this.workOrderReportService.getRequestSummaryState(body2);\r\n\t\t\tlet query4 = this.financialService.getBudgetSummaryState(body2);\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tforkJoin([query1, query2, query3, query4]).subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} FSE`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} FSE`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[2].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} COHO`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[3].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} COHO`;\r\n\t\t\t\t\t\t\t\tif (!states.includes(state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tstates.sort();\r\n\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\tstates.forEach((element) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} FSE`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state && element.entityMatch) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} FSE`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[2].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} COHO`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\t\tnewTooltip[state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[3].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.state && element.entityMatch) {\r\n\t\t\t\t\t\t\t\tlet state = `${element.state} COHO`;\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(state);\r\n\t\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget v Total Spend - {{facilityTypeMode ? \"Facility Type\" :\r\n\t\t\twhiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel) + \" Type by State\"}}\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { DecimalPipeCostZeroDigits } from \"../../decimalPipeCostZeroDigits\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-asset-cost\",\r\n\ttemplateUrl: \"./financial-asset-cost.component.html\",\r\n})\r\nexport class FinancialAssetCostComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tloadedByAsset: boolean;\r\n\ttableDataByAsset = {\r\n\t\trows: [],\r\n\t\tcolumnsStart: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Asset Category\",\r\n\t\t\t\theaderClass: \"col-3\",\r\n\t\t\t\tcellClass: \"col-3 cursor-pointer\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t},\r\n\t\t],\r\n\t\tcolumns: [],\r\n\t\tcolumnsEnd: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t\tpipe: new DecimalPipeCostZeroDigits(\"en-US\"),\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (event) => {\r\n\t\t\tif (event && event.type == \"click\" && event.row) {\r\n\t\t\t\tlet row = event.row;\r\n\t\t\t\tfor (let i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\t\t\tif (this.woFiltersService.assetNames[i] === row.assetName) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedAssetName = [\r\n\t\t\t\t\t\t\tthis.woFiltersService.assetNames[i],\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"assetTableCost\") tableByAsset: DatatableComponent;\r\n\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryAssetStoreType(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tlet headers = [];\r\n\t\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!headers.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\theaders.push(element.storeType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\theaders.sort();\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewTotal.push({\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].class =\r\n\t\t\t\t\t\t\t\tthis.tableDataByAsset.columnsEnd[0].cellClass;\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\t\tname: `${element.name} - ${element.category}`,\r\n\t\t\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\theaders.forEach((state) => {\r\n\t\t\t\t\t\t\t\t\t\tnewRow[state] = 0;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlet cost = element.cost + element.costEstNet;\r\n\t\t\t\t\t\t\t\tnewData[rowId].total += cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][element.storeType] += cost;\r\n\t\t\t\t\t\t\t\tnewTotal[headers.indexOf(element.storeType)].value += cost;\r\n\t\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].value += cost;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet headersObjects = [];\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\theadersObjects.push({\r\n\t\t\t\t\t\t\t\t\tprop: element,\r\n\t\t\t\t\t\t\t\t\tname: element,\r\n\t\t\t\t\t\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tresizeable: false,\r\n\t\t\t\t\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t\t\t\t\tpipe: new DecimalPipeCostZeroDigits(\"en-US\"),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.columns = this.tableDataByAsset.columnsStart\r\n\t\t\t\t\t\t\t\t.concat(headersObjects)\r\n\t\t\t\t\t\t\t\t.concat(this.tableDataByAsset.columnsEnd);\r\n\t\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryAssetState(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tlet headers = [];\r\n\t\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!headers.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\theaders.push(element.state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\theaders.sort();\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewTotal.push({\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].class =\r\n\t\t\t\t\t\t\t\tthis.tableDataByAsset.columnsEnd[0].cellClass;\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\t\tname: `${element.name} - ${element.category}`,\r\n\t\t\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\theaders.forEach((state) => {\r\n\t\t\t\t\t\t\t\t\t\tnewRow[state] = 0;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlet cost = element.cost + element.costEstNet;\r\n\t\t\t\t\t\t\t\tnewData[rowId].total += cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][element.state] += cost;\r\n\t\t\t\t\t\t\t\tnewTotal[headers.indexOf(element.state)].value += cost;\r\n\t\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].value += cost;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet headersObjects = [];\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\theadersObjects.push({\r\n\t\t\t\t\t\t\t\t\tprop: element,\r\n\t\t\t\t\t\t\t\t\tname: element,\r\n\t\t\t\t\t\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tresizeable: false,\r\n\t\t\t\t\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t\t\t\t\tpipe: new DecimalPipeCostZeroDigits(\"en-US\"),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.columns = this.tableDataByAsset.columnsStart\r\n\t\t\t\t\t\t\t\t.concat(headersObjects)\r\n\t\t\t\t\t\t\t\t.concat(this.tableDataByAsset.columnsEnd);\r\n\t\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Asset Category (WO $ Value{{facilityTypeMode ? \" by facility type\" : \" by state\"}} by asset category)\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { DecimalPipeZeroDigits } from \"../../decimalPipeZeroDigits\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-asset-count\",\r\n\ttemplateUrl: \"./financial-asset-count.component.html\",\r\n})\r\nexport class FinancialAssetCountComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tloadedByAsset: boolean;\r\n\ttableDataByAsset = {\r\n\t\trows: [],\r\n\t\tcolumnsStart: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Asset Category\",\r\n\t\t\t\theaderClass: \"col-3\",\r\n\t\t\t\tcellClass: \"col-3 cursor-pointer\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t},\r\n\t\t],\r\n\t\tcolumns: [],\r\n\t\tcolumnsEnd: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t\tpipe: new DecimalPipeZeroDigits(\"en-US\"),\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (event) => {\r\n\t\t\tif (event && event.type == \"click\" && event.row) {\r\n\t\t\t\tlet row = event.row;\r\n\t\t\t\tfor (let i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\t\t\tif (this.woFiltersService.assetNames[i] === row.assetName) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedAssetName = [\r\n\t\t\t\t\t\t\tthis.woFiltersService.assetNames[i],\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"assetTableCount\") tableByAsset: DatatableComponent;\r\n\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryAssetStoreType(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tlet headers = [];\r\n\t\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!headers.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\theaders.push(element.storeType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\theaders.sort();\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewTotal.push({\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].class =\r\n\t\t\t\t\t\t\t\tthis.tableDataByAsset.columnsEnd[0].cellClass;\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\t\tname: `${element.name} - ${element.category}`,\r\n\t\t\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\theaders.forEach((state) => {\r\n\t\t\t\t\t\t\t\t\t\tnewRow[state] = 0;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tnewData[rowId].total += element.count;\r\n\t\t\t\t\t\t\t\tnewData[rowId][element.storeType] += element.count;\r\n\t\t\t\t\t\t\t\tnewTotal[headers.indexOf(element.storeType)].value += element.count;\r\n\t\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].value += element.count;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet headersObjects = [];\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\theadersObjects.push({\r\n\t\t\t\t\t\t\t\t\tprop: element,\r\n\t\t\t\t\t\t\t\t\tname: element,\r\n\t\t\t\t\t\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tresizeable: false,\r\n\t\t\t\t\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t\t\t\t\tpipe: new DecimalPipeZeroDigits(\"en-US\"),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.columns = this.tableDataByAsset.columnsStart\r\n\t\t\t\t\t\t\t\t.concat(headersObjects)\r\n\t\t\t\t\t\t\t\t.concat(this.tableDataByAsset.columnsEnd);\r\n\t\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryAssetState(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tlet headers = [];\r\n\t\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!headers.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\theaders.push(element.state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\theaders.sort();\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewTotal.push({\r\n\t\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].class =\r\n\t\t\t\t\t\t\t\tthis.tableDataByAsset.columnsEnd[0].cellClass;\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\t\tname: `${element.name} - ${element.category}`,\r\n\t\t\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\theaders.forEach((state) => {\r\n\t\t\t\t\t\t\t\t\t\tnewRow[state] = 0;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tnewData[rowId].total += element.count;\r\n\t\t\t\t\t\t\t\tnewData[rowId][element.state] += element.count;\r\n\t\t\t\t\t\t\t\tnewTotal[headers.indexOf(element.state)].value += element.count;\r\n\t\t\t\t\t\t\t\tnewTotal[newTotal.length - 1].value += element.count;\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet headersObjects = [];\r\n\t\t\t\t\t\t\theaders.forEach((element) => {\r\n\t\t\t\t\t\t\t\theadersObjects.push({\r\n\t\t\t\t\t\t\t\t\tprop: element,\r\n\t\t\t\t\t\t\t\t\tname: element,\r\n\t\t\t\t\t\t\t\t\theaderClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tcellClass: \"col text-end\",\r\n\t\t\t\t\t\t\t\t\tresizeable: false,\r\n\t\t\t\t\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t\t\t\t\tpipe: new DecimalPipeZeroDigits(\"en-US\"),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\t\tthis.tableDataByAsset.columns = this.tableDataByAsset.columnsStart\r\n\t\t\t\t\t\t\t\t.concat(headersObjects)\r\n\t\t\t\t\t\t\t\t.concat(this.tableDataByAsset.columnsEnd);\r\n\t\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Asset Category (WO Count{{facilityTypeMode ? \" by facility type\" : \" by state\"}} by asset category)\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-budget-actual-forecast-month\",\r\n\ttemplateUrl: \"./financial-budget-actual-forecast-month.component.html\",\r\n})\r\nexport class FinancialBudgetActualForecastMonthComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tcountTooltip: any = {};\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet type = data.datasets[tooltipItem.datasetIndex].label;\r\n\t\t\t\t\t\tlet result = `$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\tif (type !== \"Budget\" && this.countTooltip[tooltipItem.xLabel]) {\r\n\t\t\t\t\t\t\tlet count = this.countTooltip[tooltipItem.xLabel][type];\r\n\t\t\t\t\t\t\tresult += ` / Count ${count}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chart.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[1]._model &&\r\n\t\t\t\t\tactivePoints[1]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tlet value = activePoints[1]._model.label;\r\n\t\t\t\t\tlet m = moment(value + \"/01\", \"YYYY/MM/DD\");\r\n\t\t\t\t\tlet beginDate = m.toDate();\r\n\t\t\t\t\tlet endDate = m.add(1, \"months\").date(0).toDate();\r\n\t\t\t\t\tthis.stateService.updateDateRange(\"set\", beginDate, endDate);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"chartFBAFLine\") chart: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryMonth(body);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryMonth(body);\r\n\t\tthis.subs.add(\r\n\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\tlet monthes = [];\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (!monthes.includes(month)) {\r\n\t\t\t\t\t\t\tmonthes.push(month);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (!monthes.includes(month)) {\r\n\t\t\t\t\t\t\tmonthes.push(month);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmonthes.sort();\r\n\t\t\t\t\tnewLabels = monthes;\r\n\t\t\t\t\tvar array = [];\r\n\t\t\t\t\tmonthes.forEach((element) => {\r\n\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"line\",\r\n\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvar indexMonth = monthes.indexOf(month);\r\n\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\tnewData[indexActuals].data[indexMonth] += element.cost;\r\n\t\t\t\t\t\tnewData[indexForecast].data[indexMonth] += element.costEstNet;\r\n\r\n\t\t\t\t\t\tnewTooltip[month][\"Actuals\"] += element.count - element.costEstNetCount;\r\n\t\t\t\t\t\tnewTooltip[month][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tvar indexMonth = monthes.indexOf(month);\r\n\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\tnewData[indexBudget].data[indexMonth] += element.amount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget vs Total Spend by Month\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-budget-actual-forecast-state\",\r\n\ttemplateUrl: \"./financial-budget-actual-forecast-state.component.html\",\r\n})\r\nexport class FinancialBudgetActualForecastStateComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tcountTooltip: any = {};\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tlet type = data.datasets[tooltipItem.datasetIndex].label;\r\n\t\t\t\t\t\tlet result = `$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\tif (type !== \"Budget\" && this.countTooltip[tooltipItem.xLabel]) {\r\n\t\t\t\t\t\t\tlet count = this.countTooltip[tooltipItem.xLabel][type];\r\n\t\t\t\t\t\t\tresult += ` / Count ${count}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chart.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (activePoints && activePoints.length > 0) {\r\n\t\t\t\t\tfor (var i = 0; i < activePoints.length; i++) {\r\n\t\t\t\t\t\tif (activePoints[i]._model && activePoints[i]._model.label) {\r\n\t\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\t\tvar value = activePoints[i]._model.label;\r\n\t\t\t\t\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType = [value];\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedState = [value];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"chartFBAFState\") chart: ChartComponent;\r\n\r\n\tpublic hasBack(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tlet query1 = this.workOrderReportService.getRequestSummaryStoreType(body);\r\n\t\t\tlet query2 = this.financialService.getBudgetSummaryStoreType(body);\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tstates.sort();\r\n\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\tstates.forEach((element) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\tnewTooltip[element.storeType][\"Actuals\"] +=\r\n\t\t\t\t\t\t\t\telement.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\tnewTooltip[element.storeType][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tlet query1 = this.workOrderReportService.getRequestSummaryState(body);\r\n\t\t\tlet query2 = this.financialService.getBudgetSummaryState(body);\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.countTooltip = {};\r\n\t\t\t\t\t\tlet newTooltip = {};\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [\"Budget\", \"Actuals\", \"Forecast\"];\r\n\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tstates.sort();\r\n\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\tstates.forEach((element) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\tnewTooltip[element] = {};\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Actuals\"] = 0;\r\n\t\t\t\t\t\t\tnewTooltip[element][\"Forecast\"] = 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Budget\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[1],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[1],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 0\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Actuals\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[0],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[0],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\tlabel: \"Forecast\",\r\n\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[7],\r\n\t\t\t\t\t\t\tborderColor: this.backgroundColor[7],\r\n\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\tstack: \"Stack 1\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\t\tvar indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\tvar indexActuals = types.indexOf(\"Actuals\");\r\n\t\t\t\t\t\t\tvar indexForecast = types.indexOf(\"Forecast\");\r\n\t\t\t\t\t\t\tnewData[indexActuals].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\tnewData[indexForecast].data[indexState] += element.costEstNet;\r\n\r\n\t\t\t\t\t\t\tnewTooltip[element.state][\"Actuals\"] +=\r\n\t\t\t\t\t\t\t\telement.count - element.costEstNetCount;\r\n\t\t\t\t\t\t\tnewTooltip[element.state][\"Forecast\"] += element.costEstNetCount;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\t\tvar indexBudget = types.indexOf(\"Budget\");\r\n\t\t\t\t\t\t\t\tnewData[indexBudget].data[indexState] += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets = newData;\r\n\t\t\t\t\t\tthis.countTooltip = newTooltip;\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget vs Total Spend by {{facilityTypeMode ? \"Facility Type\" : \"State\"}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tViewChild,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { Observable, Subscription, forkJoin } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { FinancialService } from '../services/financial.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n\tselector: 'app-financial-forecast-budget-store-gl',\r\n\ttemplateUrl: './financial-forecast-budget-store-gl.component.html'\r\n})\r\nexport class FinancialForecastBudgetStoreGlComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByStore: boolean;\r\n\ttableDataByStore = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'code',\r\n\t\t\tname: 'GL Code'\r\n\t\t}, {\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'GL Name'\r\n\t\t}, {\r\n\t\t\tprop: 'open',\r\n\t\t\tname: 'Open'\r\n\t\t}, {\r\n\t\t\tprop: 'wip',\r\n\t\t\tname: 'WIP'\r\n\t\t}, {\r\n\t\t\tprop: 'completed',\r\n\t\t\tname: 'Completed'\r\n\t\t}, {\r\n\t\t\tprop: 'poRasised',\r\n\t\t\tname: 'PO Raised'\r\n\t\t}, {\r\n\t\t\tprop: 'total',\r\n\t\t\tname: 'Total'\r\n\t\t}, {\r\n\t\t\tprop: 'budget',\r\n\t\t\tname: 'Budget'\r\n\t\t}, {\r\n\t\t\tprop: 'varianceCost',\r\n\t\t\tname: '$ Variance'\r\n\t\t}, {\r\n\t\t\tprop: 'variancePercent',\r\n\t\t\tname: '% Variance'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByStore.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('woStoreTable') tableByStore: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByStore = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open', 'Completed'];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByStore = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryGLCodePivot(body);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryGLCode(body);\r\n\r\n\t\tthis.subs.add(forkJoin([query1, query2])\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col-1 text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\tdata[0].forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.glCode}--${element.glName}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t//id: element.id,\r\n\t\t\t\t\t\t\t\tcode: element.glCode,\r\n\t\t\t\t\t\t\t\tname: element.glName,\r\n\t\t\t\t\t\t\t\topen: 0,\r\n\t\t\t\t\t\t\t\twip: 0,\r\n\t\t\t\t\t\t\t\tcompleted: 0,\r\n\t\t\t\t\t\t\t\tpoRasised: 0,\r\n\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\tbudget: 0,\r\n\t\t\t\t\t\t\t\tvarianceCost: 0,\r\n\t\t\t\t\t\t\t\tvariancePercent: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].open += element.openCost + element.openCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].wip += element.wipCost + element.wipCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].completed += element.completedCost + element.completedCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].poRasised += element.poRaisedCost + element.poRaisedCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].total =\r\n\t\t\t\t\t\t\tnewData[rowId].open +\r\n\t\t\t\t\t\t\tnewData[rowId].wip +\r\n\t\t\t\t\t\t\tnewData[rowId].completed +\r\n\t\t\t\t\t\t\tnewData[rowId].poRasised;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach(element => {\r\n\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\tlet rowId = `${element.glCode}--${element.glName}`;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\t//id: element.id,\r\n\t\t\t\t\t\t\t\t\tcode: element.glCode,\r\n\t\t\t\t\t\t\t\t\tname: element.glName,\r\n\t\t\t\t\t\t\t\t\topen: 0,\r\n\t\t\t\t\t\t\t\t\twip: 0,\r\n\t\t\t\t\t\t\t\t\tcompleted: 0,\r\n\t\t\t\t\t\t\t\t\tpoRasised: 0,\r\n\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\tbudget: 0,\r\n\t\t\t\t\t\t\t\t\tvarianceCost: 0,\r\n\t\t\t\t\t\t\t\t\tvariancePercent: 0\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId].budget += element.amount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tlet element = newData[key];\r\n\t\t\t\t\t\telement.varianceCost += element.budget - element.total;\r\n\t\t\t\t\t\tif (element.budget !== 0) {\r\n\t\t\t\t\t\t\telement.variancePercent = 100 * element.varianceCost / element.budget;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewDataArray.push(element);\r\n\t\t\t\t\t\tnewTotal[0].value += element.open;\r\n\t\t\t\t\t\tnewTotal[1].value += element.wip;\r\n\t\t\t\t\t\tnewTotal[2].value += element.completed;\r\n\t\t\t\t\t\tnewTotal[3].value += element.poRasised;\r\n\t\t\t\t\t\tnewTotal[4].value += element.total;\r\n\t\t\t\t\t\tnewTotal[5].value += element.budget;\r\n\t\t\t\t\t\tnewTotal[6].value += element.varianceCost;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (newTotal[5].value !== 0) {\r\n\t\t\t\t\t\tnewTotal[7].value = 100 * newTotal[6].value / newTotal[5].value;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataByStore.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByStore.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByStore = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Budget v Total Spend by {{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}} (GL Version)\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tOpen: {{row.open | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tWIP: ${{row.wip | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCompleted: ${{row.completed | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPO Raised: ${{row.poRasised | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: ${{row.total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tBudget: ${{row.budget | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t$ Variance: ${{row.varianceCost | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t% Variance: {{row.variancePercent | number : '1.0-0'}}%\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}%\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-forecast-budget-store\",\r\n\ttemplateUrl: \"./financial-forecast-budget-store.component.html\",\r\n})\r\nexport class FinancialForecastBudgetStoreComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByStore: boolean;\r\n\ttableDataByStore = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeNo\",\r\n\t\t\t\tname: \"Store No\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"open\",\r\n\t\t\t\tname: \"Open\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"wip\",\r\n\t\t\t\tname: \"WIP\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"completed\",\r\n\t\t\t\tname: \"Completed\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"poRasised\",\r\n\t\t\t\tname: \"PO Raised\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"budget\",\r\n\t\t\t\tname: \"Budget\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"varianceCost\",\r\n\t\t\t\tname: \"$ Variance\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"variancePercent\",\r\n\t\t\t\tname: \"% Variance\",\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.stores.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.stores[i].id === row.id) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedStore = [this.woFiltersService.stores[i]];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByStore.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"woStoreTable\") tableByStore: DatatableComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByStore = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByStore = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryEntityGLPivot(body);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryEntity(body);\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tclass: \"col-1 text-end\",\r\n\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tlet rowId = `${element.name}--${element.storeNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\topen: 0,\r\n\t\t\t\t\t\t\t\twip: 0,\r\n\t\t\t\t\t\t\t\tcompleted: 0,\r\n\t\t\t\t\t\t\t\tpoRasised: 0,\r\n\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\tbudget: 0,\r\n\t\t\t\t\t\t\t\tvarianceCost: 0,\r\n\t\t\t\t\t\t\t\tvariancePercent: 0,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].open += element.openCost + element.openCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].wip += element.wipCost + element.wipCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].completed +=\r\n\t\t\t\t\t\t\telement.completedCost + element.completedCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].poRasised +=\r\n\t\t\t\t\t\t\telement.poRaisedCost + element.poRaisedCostEstNet;\r\n\t\t\t\t\t\tnewData[rowId].total =\r\n\t\t\t\t\t\t\tnewData[rowId].open +\r\n\t\t\t\t\t\t\tnewData[rowId].wip +\r\n\t\t\t\t\t\t\tnewData[rowId].completed +\r\n\t\t\t\t\t\t\tnewData[rowId].poRasised;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\tlet rowId = `${element.name}--${element.storeNo}`;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\t\topen: 0,\r\n\t\t\t\t\t\t\t\t\twip: 0,\r\n\t\t\t\t\t\t\t\t\tcompleted: 0,\r\n\t\t\t\t\t\t\t\t\tpoRasised: 0,\r\n\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t\tbudget: 0,\r\n\t\t\t\t\t\t\t\t\tvarianceCost: 0,\r\n\t\t\t\t\t\t\t\t\tvariancePercent: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId].budget += element.amount;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tlet element = newData[key];\r\n\t\t\t\t\t\telement.varianceCost += element.budget - element.total;\r\n\t\t\t\t\t\tif (element.budget !== 0) {\r\n\t\t\t\t\t\t\telement.variancePercent = (100 * element.varianceCost) / element.budget;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewDataArray.push(element);\r\n\t\t\t\t\t\tnewTotal[0].value += element.open;\r\n\t\t\t\t\t\tnewTotal[1].value += element.wip;\r\n\t\t\t\t\t\tnewTotal[2].value += element.completed;\r\n\t\t\t\t\t\tnewTotal[3].value += element.poRasised;\r\n\t\t\t\t\t\tnewTotal[4].value += element.total;\r\n\t\t\t\t\t\tnewTotal[5].value += element.budget;\r\n\t\t\t\t\t\tnewTotal[6].value += element.varianceCost;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (newTotal[5].value !== 0) {\r\n\t\t\t\t\t\tnewTotal[7].value = (100 * newTotal[6].value) / newTotal[5].value;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataByStore.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByStore.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByStore = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Budget v Total Spend by {{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tOpen: {{row.open | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tWIP: ${{row.wip | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCompleted: ${{row.completed | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPO Raised: ${{row.poRasised | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: ${{row.total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tBudget: ${{row.budget | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t$ Variance: ${{row.varianceCost | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t% Variance: {{row.variancePercent | number : '1.0-0'}}%\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}%\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaHourglassEnd,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { forkJoin, Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { FinancialService } from \"../services/financial.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial-summary\",\r\n\ttemplateUrl: \"./financial-summary.component.html\",\r\n})\r\nexport class FinancialSummaryComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloaded: boolean;\r\n\r\n\tbudget: number = 0;\r\n\ttotalSpend: number = 0;\r\n\ttotalSpendVBudget: number = 0;\r\n\tfullYearForecastVBudget: number = 0;\r\n\twoCount: number = 0;\r\n\r\n\tshowFullYearForecastVBudget: boolean = true;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate financialService: FinancialService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.glStatuses = [\"Open\", \"Completed\", \"WIP\", \"PO Issued\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\ttwoDigitsToString(n) {\r\n\t\treturn n > 9 ? \"\" + n : \"0\" + n;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\r\n\t\t//let currentFY = this.stateService.yearToFY(this.stateService.getCurrentFY());\r\n\t\tthis.showFullYearForecastVBudget = this.stateService.isCurrentFY(); //this.stateService.selectedYear && this.stateService.selectedYear === currentFY;\r\n\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet query1 = this.workOrderReportService.getRequestSummaryMonth(body);\r\n\t\tlet query2 = this.financialService.getBudgetSummaryMonth(body);\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tforkJoin([query1, query2]).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet today = moment.utc();\r\n\t\t\t\t\tlet thisMonth = moment.utc(\r\n\t\t\t\t\t\t`${today.year()}-${this.twoDigitsToString(today.month() + 1)}-01`\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tlet budget = 0;\r\n\t\t\t\t\tlet totalSpend = 0;\r\n\t\t\t\t\tlet totalSpendVBudget = 0;\r\n\t\t\t\t\tlet fullYearForecastVBudget = 0;\r\n\t\t\t\t\tlet woCount = 0;\r\n\r\n\t\t\t\t\tlet actualYTD = 0; // sum of Actual (by month) = cost from RequestSummaryMonth\r\n\t\t\t\t\tlet budgetFuture = 0; // amount from BudgetSummaryMonth where year.month > currentYear.currentMonth\r\n\t\t\t\t\tdata[0].forEach((element) => {\r\n\t\t\t\t\t\tactualYTD += element.cost + element.costEstNet;\r\n\t\t\t\t\t\twoCount += element.count;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata[1].forEach((element) => {\r\n\t\t\t\t\t\tif (element.entityMatch) {\r\n\t\t\t\t\t\t\tbudget += element.amount;\r\n\t\t\t\t\t\t\tlet date = moment.utc(\r\n\t\t\t\t\t\t\t\t`${element.year}-${this.twoDigitsToString(element.month)}-01`\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tif (date > thisMonth) {\r\n\t\t\t\t\t\t\t\tbudgetFuture += element.amount;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\ttotalSpend = actualYTD;\r\n\t\t\t\t\ttotalSpendVBudget = budget - totalSpend;\r\n\t\t\t\t\tfullYearForecastVBudget = budget - totalSpend - budgetFuture;\r\n\r\n\t\t\t\t\tthis.budget = budget;\r\n\t\t\t\t\tthis.totalSpend = totalSpend;\r\n\t\t\t\t\tthis.totalSpendVBudget = totalSpendVBudget;\r\n\t\t\t\t\tthis.fullYearForecastVBudget = fullYearForecastVBudget;\r\n\t\t\t\t\tthis.woCount = woCount;\r\n\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaHourglassEnd = faHourglassEnd;\r\n}\r\n","\r\n\tFull Financial Year budget\r\n\r\n\r\n\tTotal Spend =
Actual Spend i.e. Completed RM/PM and PO Raised amounts
PLUS
Estimated Spend i.e. Open RM/PM WO and WIP amounts.\r\n
\r\n\r\n\tBudget v Projection =
Budget - Total Spend - Future Budget\r\n
\r\n\r\n\tWO Count =
RM/PM Open and Completed work orders\r\n
\r\n
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
${{budget | number : '1.0-0'}}Budget
\r\n\t\t\t\t
${{totalSpend | number : '1.0-0'}}Total Spend
\r\n\t\t\t\t
${{totalSpendVBudget | number : '1.0-0'}}Budget v Total Spend
\r\n\t\t\t\t
${{fullYearForecastVBudget | number : '1.0-0'}}Budget v Projection
\r\n\t\t\t\t
{{woCount | number : '1.0-0'}}WO Count
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaFileExport,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWhiteLabelService\r\n} from '../../services/white-label.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport { RequestListResponseModel } from '../models/requestListResponseModel';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-financial-wo',\r\n\ttemplateUrl: './financial-wo.component.html'\r\n})\r\nexport class FinancialWOComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open', 'Completed'];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate currentUpdateId: string = '';\r\n\tupdate(updateId: string) {\r\n\t\tthis.currentUpdateId = updateId;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadOpenRMWorkOrders(true);\r\n\t\t});\r\n\t}\r\n\r\n\t//#region table RM Work Orders\r\n\t@ViewChild('financialWorkOrders') tableOpenRMWorkOrders: DatatableComponent;\r\n\tloadingOpenRMWorkOrders: boolean = false;\r\n\ttableDataOpenRMWorkOrders = {\r\n\t\tpage: {\r\n\t\t\tsize: 20,\r\n\t\t\ttotalElements: 0\r\n\t\t},\r\n\t\tsorts: [{\r\n\t\t\tprop: 'requestNumber',\r\n\t\t\tdir: 'asc'\r\n\t\t}],\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'id',\r\n\t\t\tname: 'Id'\r\n\t\t}, {\r\n\t\t\tprop: 'storeNo',\r\n\t\t\tname: 'Store No'\r\n\t\t}, {\r\n\t\t\tprop: 'storeName',\r\n\t\t\tname: 'Store Name'\r\n\t\t}, {\r\n\t\t\tprop: 'vendorName',\r\n\t\t\tname: 'Vendor Name'\r\n\t\t}, {\r\n\t\t\tprop: 'requestDate',\r\n\t\t\tname: 'Request Date'\r\n\t\t}, {\r\n\t\t\tprop: 'statusName',\r\n\t\t\tname: 'Status'\r\n\t\t}, {\r\n\t\t\tprop: 'code',\r\n\t\t\tname: 'GL Code'\r\n\t\t}, {\r\n\t\t\tprop: 'status',\r\n\t\t\tname: 'GL Status'\r\n\t\t}, {\r\n\t\t\tprop: 'assetName',\r\n\t\t\tname: 'AssetName – AssetCategory'\r\n\t\t}],\r\n\t\tonSort: (event) => {\r\n\t\t\tthis.loadOpenRMWorkOrders(true);\r\n\t\t},\r\n\t\tonScroll: (event) => {\r\n\t\t\tif (event && event.currentTarget) {\r\n\t\t\t\tconst offsetY = event.currentTarget.scrollTop;\r\n\t\t\t\t// total height of all rows in the viewport\r\n\t\t\t\tconst viewHeight = event.currentTarget.clientHeight;\r\n\r\n\t\t\t\t// check if we scrolled to the end of the viewport\r\n\t\t\t\tif (!this.loadingOpenRMWorkOrders && offsetY + viewHeight >= (this.tableDataOpenRMWorkOrders.rows.length - 4) * 38/*rowHeight*/) {\r\n\t\t\t\t\tthis.loadOpenRMWorkOrders(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tonNameClick: (row) => {\r\n\t\t\tif (event.type == 'click') {\r\n\t\t\t\twindow.open(this.whiteLabelService.getOldDashboardUrl() + '/FM/RequestDetails?requestid=' + row.id, '_blank');\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableOpenRMWorkOrders.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\tloadOpenRMWorkOrders(cleanup: boolean) {\r\n\t\tif (!cleanup && this.tableDataOpenRMWorkOrders.rows.length >= this.tableDataOpenRMWorkOrders.page.totalElements) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingOpenRMWorkOrders = true;\r\n\t\tlet body = new QueryOptionsPagingModel();\r\n\t\tbody.paging = {\r\n\t\t\tlimit: this.tableDataOpenRMWorkOrders.page.size,\r\n\t\t\tcurrentPage: cleanup ? 1 : Math.round(this.tableDataOpenRMWorkOrders.rows.length / this.tableDataOpenRMWorkOrders.page.size) + 1\r\n\t\t};\r\n\t\tlet sorts = [];\r\n\t\tthis.tableOpenRMWorkOrders.sorts.forEach(element => {\r\n\t\t\tsorts.push({\r\n\t\t\t\tfield: element.prop,\r\n\t\t\t\torder: this.workOrderReportService.capitalizeFirstLetter(element.dir)\r\n\t\t\t});\r\n\t\t});\r\n\t\tbody.sortBy = sorts;\r\n\t\tlet body2 = this.fillBody(body, this.stateService.getCurrentDateRange());\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestList(body2)\r\n\t\t\t.subscribe(data => this.subscribeTableDataOpenRMWorkOrders(data, cleanup)));\r\n\t}\r\n\r\n\tsubscribeTableDataOpenRMWorkOrders(data: RequestListResponseModel[], cleanup: boolean) {\r\n\t\tif (this.woFiltersService.getCurrentUpdateId() === this.currentUpdateId) {\r\n\t\t\tlet newData = [];\r\n\t\t\tdata.forEach(element => {\r\n\t\t\t\tlet d = moment(element.requestDate);\r\n\t\t\t\tlet newRow = {\r\n\t\t\t\t\tid: element.id,\r\n\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\tstoreName: element.storeName,\r\n\t\t\t\t\tvendorName: element.vendorName,\r\n\t\t\t\t\trequestDate: d.format('DD-MM-YYYY HH:mm'),\r\n\t\t\t\t\tglCode: element.glCode,\r\n\t\t\t\t\tassetName: `${element.assetName} - ${element.assetCategory}`,\r\n\t\t\t\t\tglStatus: element.glStatus,\r\n\t\t\t\t\tstatusName: element.statusName,\r\n\t\t\t\t\trequestType: element.requestType,\r\n\t\t\t\t\tcost: element.cost,\r\n\t\t\t\t\tcostEst: element.cost > 0 ? 0 : element.costEst,\r\n\t\t\t\t\tglCostType: element.glCostType,\r\n\t\t\t\t\trequestNumber: element.requestNumber\r\n\t\t\t\t};\r\n\t\t\t\tnewData.push(newRow);\r\n\t\t\t});\r\n\t\t\tif (data.length > 0 && this.tableDataOpenRMWorkOrders.page.totalElements !== data[0].totalCount) {\r\n\t\t\t\tthis.tableDataOpenRMWorkOrders.page.totalElements = data[0].totalCount;\r\n\t\t\t}\r\n\t\t\tlet dataArray;\r\n\t\t\tif (cleanup) {\r\n\t\t\t\tdataArray = [];\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.tableOpenRMWorkOrders.offset = 0;\r\n\t\t\t\t\tthis.tableOpenRMWorkOrders.bodyComponent.updateOffsetY(0);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdataArray = this.tableDataOpenRMWorkOrders.rows;\r\n\t\t\t}\r\n\t\t\tdataArray = dataArray.concat(newData);\r\n\t\t\tthis.tableDataOpenRMWorkOrders.rows = [...dataArray];\r\n\t\t\tthis.loadingOpenRMWorkOrders = false;\r\n\t\t\tthis.ref.detectChanges();\r\n\t\t}\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: RequestListResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(new QueryOptionsPagingModel(), this.stateService.getCurrentDateRange());\r\n\t\tthis.exportCsvRequest(body);\r\n\t}\r\n\r\n\texportCsvRequest(body: any) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage: this.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1\r\n\t\t};\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestList(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\tthis.inProgressExportCSV = false;\r\n\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\tlet headers = Object.getOwnPropertyNames(data[0]);\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t\t\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t\t\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\t\tfieldSeparator: ',',\r\n\t\t\t\t\t\t\tquoteStrings: '\"',\r\n\t\t\t\t\t\t\tdecimalseparator: '.',\r\n\t\t\t\t\t\t\tshowLabels: true,\r\n\t\t\t\t\t\t\theaders: headers,\r\n\t\t\t\t\t\t\tshowTitle: false,\r\n\t\t\t\t\t\t\ttitle: \"export\",\r\n\t\t\t\t\t\t\tuseBom: true,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tnew AngularCsv(this.dataExport, 'export', options);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.messageService.info(\"CSV Export\", \"No data\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exportCsvRequest(body);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaFileExport = faFileExport;\r\n\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Work Orders\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.storeNo}} - {{row.storeName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.vendorName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tRequest Date: {{row.requestDate}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tStatus: {{row.statusName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAsset: {{row.assetName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tGL Code: {{row.glCode}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tGL Status: {{row.glStatus}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost Type: {{row.glCostType}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost: ${{row.cost | number:'1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost Est: ${{row.costEst |\r\n\t\t\t\t\t\t\t\tnumber:'1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number:'1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number:'1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\n\r\n@Component({\r\n\tselector: \"app-financial\",\r\n\ttemplateUrl: \"./financial.component.html\",\r\n})\r\nexport class FinancialComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {\r\n\t\tif (this.stateService.years.length) {\r\n\t\t\tif (!this.stateService.selectedYear) {\r\n\t\t\t\tlet fy = this.stateService.years[this.stateService.years.length - 1];\r\n\t\t\t\tthis.stateService.selectedYear = fy;\r\n\t\t\t\tthis.stateService.onChangeSelectedYear(fy, true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\"Financial Report\");\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (data.indexOf(\"admin\") > -1 || data.indexOf(\"fm\") > -1) {\r\n\t\t\t\t\tthis.woFiltersService.loadData();\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.stateService.getDateRange.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update();\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
0 && (roles$ | async)?.indexOf('admin') < 0 && (roles$ | async)?.indexOf('fm') < 0\" class=\"container\">\r\n\t\t
\r\n\t\t\tNot available for current user role.\r\n\t\t
\r\n\t
\r\n\t
-1 || (roles$ | async)?.indexOf('fm') > -1\" class=\"container\">\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { DashboardAssetPerformanceSeriesModel } from \"./dashboardAssetPerformanceSeriesModel\";\r\n\r\nexport class DashboardAssetPerformanceDataSetModel {\r\n series: DashboardAssetPerformanceSeriesModel[] = [];\r\n}","import { DashboardWidgetModel } from \"./dashboardWidgetModel\";\r\n\r\nexport class DashboardRowModel {\r\n widgets: DashboardWidgetModel[];\r\n}","import { FilterLight } from './filterLight'\r\n\r\nexport class DashboardWidgetModel {\r\n title: string;\r\n filter: FilterLight;\r\n}","export class Filter {\r\n\tauthUserId: number;\r\n\tfromDt: Date | string | null;\r\n\ttoDt: Date | string | null;\r\n\tfromEstCompletedDt: Date | string | null;\r\n\ttoEstCompletedDt: Date | string | null;\r\n\toverallStatuses: string[];\r\n\tstates: string[];\r\n\tvendorIds: number[];\r\n\tvendorNames: string[];\r\n\tvendorExclusions: string[];\r\n\tstoreIds: number[];\r\n\tassetCategories: string[];\r\n\tassetNames: string[];\r\n\tbrands: string[];\r\n\tdistricts: string[];\r\n\tstatuses: string[];\r\n\tstatusIds: number[];\r\n\trequestTypes: string[];\r\n\tpriorities: string[];\r\n\tglCostTypes: string[];\r\n\tglDescriptions: string[];\r\n\tglStatuses: string[];\r\n\tserviceDeliveryManagers: string[];\r\n\tretailBusinessManagers: string[];\r\n\tregionalManagers: string[];\r\n\tcategories: string[];\r\n\tcategoryManagers: string[];\r\n\tstoreTypes: string[];\r\n\tstoreProfiles: string[];\r\n\tstoreClusters: string[];\r\n\tdistrictManagers: string[];\r\n\tdeliveryIndicators: string[];\r\n\tstartDate: Date | string | null;\r\n\tendDate: Date | string | null;\r\n\tisActive: boolean | null;\r\n\texcludeExistingReports: boolean | null;\r\n\treportTypes: string[];\r\n\tassetTypeTags: string[];\r\n}\r\n","export class FilterLight {\r\n overallStatuses: string[] = null;\r\n states: string[] = null;\r\n vendorIds: number[] = null;\r\n vendorNames: string[] = null;\r\n vendorExclusions: string[] = null;\r\n storeIds: number[] = null;\r\n assetCategories: string[] = null;\r\n assetNames: string[] = null;\r\n statuses: string[] = null;\r\n statusIds: number[] = null;\r\n requestTypes: string[] = null;\r\n priorities: string[] = null;\r\n glCostTypes: string[] = null;\r\n glDescriptions: string[] = null;\r\n glStatuses: string[];\r\n serviceDeliveryManagers: string[] = null;\r\n retailBusinessManagers: string[] = null;\r\n regionalManagers: string[] = null;\r\n storeTypes: string[] = null;\r\n storeProfiles: string[] = null;\r\n storeClusters: string[] = null;\r\n districtManagers: string[] = null;\r\n deliveryIndicators: string[] = null;\r\n}","import { Filter } from './filter'\r\n\r\nexport class QueryOptionsModel\r\n{\r\n filter: Filter;\r\n}","import { QueryOptionsModel } from \"./queryOptionsModel\";\r\nimport { Paging } from \"./paging\";\r\nimport { SortBy } from \"./sortBy\";\r\n\r\nexport class QueryOptionsPagingModel extends QueryOptionsModel{\r\n paging: Paging;\r\n sortBy: SortBy[];\r\n}","import { NameCountModel } from \"./nameCountModel\";\r\n\r\nexport class ReportWeeklyStatusModel {\r\n BodyClass: string;\r\n Year: string;\r\n Week: string;\r\n State: string[];\r\n Comment: string;\r\n Priority: string;\r\n ChartConfigByPriorityLabels: string[];\r\n ChartConfigByPriorityValues: number[];\r\n TableAssetData: NameCountModel[];\r\n ChartsConfigKPIPerformance: any[];\r\n ChartConfigByVolumeLabels: string[];\r\n ChartConfigByVolumeValues: number[];\r\n TableVendorsData: NameCountModel[];\r\n TableStoresData: NameCountModel[];\r\n}","import {\r\n\tInjectable\r\n} from '@angular/core';\r\nimport {\r\n\tHttpClient\r\n} from '@angular/common/http';\r\nimport {\r\n\tObservable\r\n} from 'rxjs';\r\nimport {\r\n\tcatchError\r\n} from 'rxjs/operators';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\nimport {\r\n\tAuthService\r\n} from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { AssetOfflineSummaryResponseModel } from '../models/assetOfflineSummaryResponseModel';\r\nimport { AssetTypeTagModel } from '../models/assetTypeTagModel';\r\nimport { AssetRequestListResponseModel } from '../models/assetRequestListResponseModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { CriticalAssetNameModel } from '../models/criticalAssetNameModel';\r\nimport { AssetBenchmarkByAgeResponseModel } from '../models/assetBenchmarkByAgeResponseModel';\r\nimport { AssetBenchmarkByMonthNameResponseModel } from '../models/assetBenchmarkByMonthNameResponseModel';\r\nimport { AssetBenchmarkByAssetResponseModel } from '../models/assetBenchmarkByAssetResponseModel';\r\nimport { AssetBenchmarkListResponseModel } from '../models/assetBenchmarkListResponseModel';\r\n\r\n@Injectable()\r\nexport class AssetService {\r\n\tprivate apiUrl = this.whiteLabelService.getSettings.informApiUrl + 'api/';\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService) { }\r\n\r\n\tgetAssetOfflineSummary(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetOfflineSummary';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetOfflineSummary(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetRequestList(model: QueryOptionsModel | QueryOptionsPagingModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetRequestList';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetRequestList(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetTypeTagList(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetTypeTagList';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetTypeTagList(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetCriticalAssetNames(): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/CriticalAssetNames';\r\n\t\treturn this.http.get(url, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getCriticalAssetNames()', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetBenchmarkByAge(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetBenchmarkByAge';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetBenchmarkByAge(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetBenchmarkByMonthName(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetBenchmarkByMonthName';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetBenchmarkByMonthName(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetBenchmarkByAsset(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetBenchmarkByAsset';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getAssetBenchmarkByAsset(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetAssetBenchmarkList(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Asset/AssetBenchmarkList';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'AssetBenchmarkList(model)', []))\r\n\t\t);\r\n\t}\r\n}\r\n","import {\r\n\tInjectable\r\n} from '@angular/core';\r\nimport {\r\n\tHttpClient\r\n} from '@angular/common/http';\r\nimport {\r\n\tObservable\r\n} from 'rxjs';\r\nimport {\r\n\tcatchError\r\n} from 'rxjs/operators';\r\nimport {\r\n\tenvironment\r\n} from '../../../environments/environment';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\nimport {\r\n\tAuthService\r\n} from '../../services/auth.service';\r\nimport { DashboardRowModel } from '../models/dashboardRowModel';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { DashboardAssetPerformanceModel } from '../models/dashboardAssetPerformanceModel';\r\n\r\n@Injectable()\r\nexport class DashboardService {\r\n\tprivate apiUrl = this.whiteLabelService.getSettings.informApiUrl + 'api/';\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService) { }\r\n\r\n\tgetDashboard(): Observable {\r\n\t\tlet url = this.apiUrl + 'Dashboard/Load';\r\n\t\treturn this.http.get(url, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getDashboard()', []))\r\n\t\t);\r\n\t}\r\n\r\n\tsaveDashboard(model: DashboardRowModel[]) {\r\n\t\tlet url = this.apiUrl + 'Dashboard/Save';\r\n\t\treturn this.http.put(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'saveDashboard(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetDashboardAssetPerformance(): Observable {\r\n\t\tlet url = this.apiUrl + 'Dashboard/LoadAssetPerformance';\r\n\t\treturn this.http.get(url, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getDashboardAssetPerformance()', null))\r\n\t\t);\r\n\t}\r\n\r\n\tsaveDashboardAssetPerformance(model: DashboardAssetPerformanceModel) {\r\n\t\tlet url = this.apiUrl + 'Dashboard/SaveAssetPerformance';\r\n\t\treturn this.http.put(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'saveDashboardAssetPerformance(model)', []))\r\n\t\t);\r\n\t}\r\n}","import {\r\n\tInjectable\r\n} from '@angular/core';\r\nimport {\r\n\tHttpClient\r\n} from '@angular/common/http';\r\nimport {\r\n\tObservable\r\n} from 'rxjs';\r\nimport {\r\n\tcatchError\r\n} from 'rxjs/operators';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\nimport {\r\n\tAuthService\r\n} from '../../services/auth.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { BudgetSummaryResponseModel } from '../models/budgetSummaryResponseModel';\r\nimport { BudgetSummaryMonthResponseModel } from '../models/budgetSummaryMonthResponseModel';\r\nimport { BudgetSummaryStateResponseModel } from '../models/budgetSummaryStateResponseModel';\r\nimport { BudgetSummaryEntityResponseModel } from '../models/budgetSummaryEntityResponseModel';\r\nimport { BudgetSummaryGLCodeResponseModel } from '../models/budgetSummaryGLCodeResponseModel';\r\nimport { BudgetSummaryGLCategoryResponseModel } from '../models/budgetSummaryGLCategoryResponseModel';\r\nimport { BudgetSummaryStoreTypeResponseModel } from '../models/budgetSummaryStoreTypeResponseModel';\r\nimport { BudgetSummaryStoreProfileResponseModel } from '../models/budgetSummaryStoreProfileResponseModel';\r\n\r\n@Injectable()\r\nexport class FinancialService {\r\n\tprivate apiUrl = this.whiteLabelService.getSettings.informApiUrl + 'api/';\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService) { }\r\n\r\n\tgetBudgetSummary(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummary';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummary(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryMonth(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryMonth';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryMonth(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryState(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryState';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryState(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryStoreType(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryStoreType';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryStoreType(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryStoreProfile(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryStoreProfile';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryStoreProfile(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryEntity(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryEntity';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryEntity(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryGLCode(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryGLCode';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryGLCode(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSummaryGLCategory(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'Finance/BudgetSummaryGLCategory';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getBudgetSummaryGLCategory(model)', []))\r\n\t\t);\r\n\t}\r\n}","import {\r\n\tInjectable\r\n} from '@angular/core';\r\nimport {\r\n\tHttpClient\r\n} from '@angular/common/http';\r\nimport {\r\n\tObservable\r\n} from 'rxjs';\r\nimport {\r\n\tcatchError\r\n} from 'rxjs/operators';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\nimport {\r\n\tAuthService\r\n} from '../../services/auth.service';\r\nimport {\r\n\tReportTypeVendorHistoryResponseModel\r\n} from '../models/reportTypeVendorHistoryResponseModel';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { ReportTypeVendorResponseModel } from '../models/reportTypeVendorResponseModel';\r\nimport { IsReportReadyQueryOptionsModel } from '../models/isReportReadyQueryOptionsModel';\r\nimport * as moment from 'moment';\r\n\r\n@Injectable()\r\nexport class VendorKpiService {\r\n\tprivate apiUrl = this.whiteLabelService.getSettings.informApiUrl + 'api/';\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService) { }\r\n\r\n\tgetReportTypeVendors(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'VendorKpi/GetReportTypeVendors';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getReportTypeVendors(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tgetReportTypeVendorHistory(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'VendorKpi/GetReportTypeVendorHistory';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'getReportTypeVendorHistory(model)', []))\r\n\t\t);\r\n\t}\r\n\r\n\tisReportReady(model: IsReportReadyQueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'VendorKpi/IsReportReady';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'IsReportReady(model)', null))\r\n\t\t);\r\n\t}\r\n\r\n\tgetReportLink(report: ReportTypeVendorHistoryResponseModel): string {\r\n\t\tlet m1 = moment(report.startDate);\r\n\t\tlet m2 = moment(report.endDate);\r\n\t\treturn `${this.apiUrl}VendorKpi/GetReport?filename=${report.reportPath}&downloadAs=Vendor - ${report.vendorName.replace(/&/g, '_')} - KPI Report - ${m1.format('YYMMDD')} - ${m2.format('YYMMDD')}.xlsx`;\r\n\t}\r\n\r\n\tscheduleReport(model: ReportTypeVendorResponseModel | null): Observable {\r\n\t\tlet url = this.apiUrl + 'VendorKpi/ScheduleReport';\r\n\t\treturn this.http.post(url, model, this.authService.getHttpOptions()).pipe(\r\n\t\t\tcatchError(this.messages.handleError(this.authService, 'ScheduleReport(model)', []))\r\n\t\t);\r\n\t}\r\n}","import { Injectable, IterableDiffer, IterableDiffers } from \"@angular/core\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n\tDateRangeUtilService,\r\n\tIMyDate,\r\n\tIMyDateRangeModel,\r\n} from \"mydaterangepicker\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { DropdownItem } from \"../../models/dropdownItem\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { HelperService } from \"../../services/helper.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { Filter } from \"../models/filter\";\r\nimport { NameModel } from \"../models/nameModel\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WorkOrderReportService } from \"./work-order-report.service\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class WOFiltersService {\r\n\tpublic isCollapsed = true;\r\n\r\n\tprivate dateRangeEst = new BehaviorSubject(null);\r\n\tprivate isDateRangeEstChanged = false;\r\n\tget getDateRangeEst(): Observable {\r\n\t\treturn this.dateRangeEst.asObservable();\r\n\t}\r\n\tgetCurrentDateRangeEst(): IMyDateRangeModel {\r\n\t\treturn this.dateRangeEst.value;\r\n\t}\r\n\tpublic setDateRangeEst(value: IMyDateRangeModel) {\r\n\t\tthis.dateRangeEst.next(value);\r\n\t\tthis.isDateRangeEstChanged = true;\r\n\t}\r\n\r\n\tprivate dateRangeEstUpdateId = new BehaviorSubject(\"\");\r\n\tpublic dateRangeEstUpdateOperation: string = \"\";\r\n\tpublic dateRangeEstUpdateBeginDate: Date | null = null;\r\n\tpublic dateRangeEstUpdateEndDate: Date | null = null;\r\n\tget getDateRangeEstUpdateId(): Observable {\r\n\t\treturn this.dateRangeEstUpdateId.asObservable();\r\n\t}\r\n\tupdateDateRangeEst(\r\n\t\toperation: string,\r\n\t\tbeginDate: Date | null,\r\n\t\tendDate: Date | null,\r\n\t\tsetDateRange: boolean = false\r\n\t) {\r\n\t\tif (setDateRange) {\r\n\t\t\tif (operation === \"null\") {\r\n\t\t\t\tthis.setDateRangeEst(null);\r\n\t\t\t} else {\r\n\t\t\t\tlet drm = this.getDateRangeModel(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tthis.setDateRangeEst(drm);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.dateRangeEstUpdateOperation = operation;\r\n\t\tthis.dateRangeEstUpdateBeginDate = beginDate;\r\n\t\tthis.dateRangeEstUpdateEndDate = endDate;\r\n\t\tlet guid = Guid.create().toString();\r\n\t\tthis.dateRangeEstUpdateId.next(guid);\r\n\t}\r\n\tgetDateRangeModel(beginDate: IMyDate, endDate: IMyDate): IMyDateRangeModel {\r\n\t\t// Creates a date range model object from the given parameters\r\n\t\tlet bEpoc: number = this.drus.getTimeInMilliseconds(beginDate) / 1000.0;\r\n\t\tlet eEpoc: number = this.drus.getTimeInMilliseconds(endDate) / 1000.0;\r\n\t\treturn {\r\n\t\t\tbeginDate: beginDate,\r\n\t\t\tbeginJsDate: this.getDate(beginDate),\r\n\t\t\tendDate: endDate,\r\n\t\t\tendJsDate: this.getDate(endDate),\r\n\t\t\tformatted: \"\",\r\n\t\t\tbeginEpoc: bEpoc,\r\n\t\t\tendEpoc: eEpoc,\r\n\t\t};\r\n\t}\r\n\tgetDate(date: IMyDate): Date {\r\n\t\treturn new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\r\n\t}\r\n\r\n\titerableDifferVendor: IterableDiffer;\r\n\tvendors: DropdownItem[];\r\n\tselectedVendor: DropdownItem[];\r\n\tgetVendors(reload?: boolean): void {\r\n\t\tif (reload || !this.vendors || this.vendors.length === 0) {\r\n\t\t\tthis.workOrderReportService.getVendors().subscribe((data) => {\r\n\t\t\t\tthis.vendors = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferVendorNames: IterableDiffer;\r\n\tvendorNames: NameModel[];\r\n\tselectedVendorNames: NameModel[];\r\n\tgetVendorNames(reload?: boolean): void {\r\n\t\tif (reload || !this.vendorNames || this.vendorNames.length === 0) {\r\n\t\t\tthis.workOrderReportService.getVendorNames().subscribe((data) => {\r\n\t\t\t\tthis.vendorNames = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferState: IterableDiffer;\r\n\titerableDifferStateFilter: IterableDiffer;\r\n\tstates: string[];\r\n\tselectedState: string[];\r\n\tgetStates(reload?: boolean): void {\r\n\t\tif (reload || !this.states || this.states.length === 0) {\r\n\t\t\tthis.workOrderReportService.getStates().subscribe((data) => {\r\n\t\t\t\tthis.states = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferStore: IterableDiffer;\r\n\tstores: DropdownItem[];\r\n\tselectedStore: DropdownItem[];\r\n\tgetStores(reload?: boolean): void {\r\n\t\tif (reload || !this.stores || this.stores.length === 0) {\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getStores(\r\n\t\t\t\t\tthis.selectedState,\r\n\t\t\t\t\tthis.selectedBrand,\r\n\t\t\t\t\tthis.selectedRetailBusinessManager\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis.stores = data;\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferAssetName: IterableDiffer;\r\n\tassetNames: string[];\r\n\tselectedAssetName: string[];\r\n\tgetAssetNames(reload?: boolean): void {\r\n\t\tif (reload || !this.assetNames || this.assetNames.length === 0) {\r\n\t\t\tthis.workOrderReportService.getAssetNames().subscribe((data) => {\r\n\t\t\t\tthis.assetNames = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tassetNamesEnabled: boolean = true;\r\n\tassetNamesEnable(value: boolean) {\r\n\t\tthis.assetNamesEnabled = value;\r\n\t\tthis.selectedAssetName = [];\r\n\t}\r\n\r\n\titerableDifferBrand: IterableDiffer;\r\n\titerableDifferBrandFilter: IterableDiffer;\r\n\tbrands: string[];\r\n\tselectedBrand: string[];\r\n\tgetBrands(reload?: boolean): void {\r\n\t\tif (!this.whiteLabelService.getSettings.enableFilterBrand) return;\r\n\t\tif (reload || !this.brands || this.brands.length === 0) {\r\n\t\t\tthis.workOrderReportService.getBrands().subscribe((data) => {\r\n\t\t\t\tthis.brands = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tbrandsEnabled: boolean = true;\r\n\tbrandsEnable(value: boolean) {\r\n\t\tthis.brandsEnabled = value;\r\n\t\tthis.selectedBrand = [];\r\n\t}\r\n\r\n\titerableDifferDistrict: IterableDiffer;\r\n\tdistricts: string[];\r\n\tselectedDistrict: string[];\r\n\tgetDistricts(reload?: boolean): void {\r\n\t\tif (!this.whiteLabelService.getSettings.enableFilterDistrict) return;\r\n\t\tif (reload || !this.districts || this.districts.length === 0) {\r\n\t\t\tthis.workOrderReportService.getDistricts().subscribe((data) => {\r\n\t\t\t\tthis.districts = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tdistrictsEnabled: boolean = true;\r\n\tdistrictsEnable(value: boolean) {\r\n\t\tthis.districtsEnabled = value;\r\n\t\tthis.selectedDistrict = [];\r\n\t}\r\n\r\n\titerableDifferCategory: IterableDiffer;\r\n\tcategories: string[];\r\n\tselectedCategory: string[];\r\n\tgetCategories(reload?: boolean): void {\r\n\t\tif (!this.whiteLabelService.getSettings.enableFilterCategory) return;\r\n\t\tif (reload || !this.categories || this.categories.length === 0) {\r\n\t\t\tthis.workOrderReportService.getCategories().subscribe((data) => {\r\n\t\t\t\tthis.categories = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tcategoriesEnabled: boolean = true;\r\n\tcategoriesEnable(value: boolean) {\r\n\t\tthis.categoriesEnabled = value;\r\n\t\tthis.selectedCategory = [];\r\n\t}\r\n\r\n\titerableDifferCategoryManager: IterableDiffer;\r\n\tcategoryManagers: string[];\r\n\tselectedCategoryManager: string[];\r\n\tgetCategoryManagers(reload?: boolean): void {\r\n\t\tif (!this.whiteLabelService.getSettings.enableFilterCategoryManager) return;\r\n\t\tif (reload || !this.categoryManagers || this.categoryManagers.length === 0) {\r\n\t\t\tthis.workOrderReportService.getCategoryManagers().subscribe((data) => {\r\n\t\t\t\tthis.categoryManagers = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tcategoryManagersEnabled: boolean = true;\r\n\tcategoryManagersEnable(value: boolean) {\r\n\t\tthis.categoryManagersEnabled = value;\r\n\t\tthis.selectedCategoryManager = [];\r\n\t}\r\n\r\n\titerableDifferKeyAssetName: IterableDiffer;\r\n\tkeyAssetNames: string[];\r\n\tselectedKeyAssetName: string[];\r\n\tgetKeyAssetNames(reload?: boolean): void {\r\n\t\tif (reload || !this.keyAssetNames || this.keyAssetNames.length === 0) {\r\n\t\t\tthis.workOrderReportService.getKeyAssetNames().subscribe((data) => {\r\n\t\t\t\tthis.keyAssetNames = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferRequestType: IterableDiffer;\r\n\trequestTypes: string[];\r\n\tselectedRequestType: string[];\r\n\tgetRequestType(reload?: boolean): void {\r\n\t\tif (reload || !this.requestTypes || this.requestTypes.length === 0) {\r\n\t\t\tthis.requestTypes = this.workOrderReportService.getRequestTypes();\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferPriority: IterableDiffer;\r\n\tpriorities: string[];\r\n\tselectedPriority: string[];\r\n\tgetPriority(reload?: boolean): void {\r\n\t\tif (reload || !this.priorities || this.priorities.length === 0) {\r\n\t\t\tthis.workOrderReportService.getPriorities().subscribe((data) => {\r\n\t\t\t\tthis.priorities = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferGLCostTypes: IterableDiffer;\r\n\tglCostTypes: string[];\r\n\tselectedGLCostTypes: string[];\r\n\tgetGLCostTypes(reload?: boolean): void {\r\n\t\tif (reload || !this.glCostTypes || this.glCostTypes.length === 0) {\r\n\t\t\tthis.workOrderReportService.getGLCostTypes().subscribe((data) => {\r\n\t\t\t\tthis.glCostTypes = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferGLDescriptions: IterableDiffer;\r\n\tglDescriptions: string[] = [];\r\n\tselectedGLDescriptions: string[];\r\n\tgetGLDescriptions(reload?: boolean): void {\r\n\t\tif (!this.whiteLabelService.getSettings.enableFilterGLDescription) return;\r\n\t\tif (reload || !this.glDescriptions || this.glDescriptions.length === 0) {\r\n\t\t\tthis.workOrderReportService.getGLDescriptions().subscribe((data) => {\r\n\t\t\t\tthis.glDescriptions = data;\r\n\t\t\t\t// select FM by default\r\n\t\t\t\tif (this.glDescriptions.indexOf(\"FM\") > -1) {\r\n\t\t\t\t\tthis.selectedGLDescriptions = [\"FM\"];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferGLStatuses: IterableDiffer;\r\n\tglStatuses: string[];\r\n\tselectedGLStatuses: string[];\r\n\tgetGLStatuses(reload?: boolean): void {\r\n\t\tif (reload || !this.glStatuses || this.glStatuses.length === 0) {\r\n\t\t\tthis.glStatuses = this.workOrderReportService.getGLStatuses();\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferRegionalManagers: IterableDiffer;\r\n\tregionalManagers: string[] = [];\r\n\tselectedRegionalManagers: string[];\r\n\tgetRegionalManagers(reload?: boolean): void {\r\n\t\tif (reload || !this.regionalManagers || this.regionalManagers.length === 0) {\r\n\t\t\tthis.workOrderReportService.getRegionalManagers().subscribe((data) => {\r\n\t\t\t\tthis.regionalManagers = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferRetailBusinessManager: IterableDiffer;\r\n\titerableDifferRetailBusinessManagerFilter: IterableDiffer;\r\n\tretailBusinessManagers: string[] = [];\r\n\tselectedRetailBusinessManager: string[];\r\n\tgetRetailBusinessManagers(reload?: boolean): void {\r\n\t\tif (\r\n\t\t\treload ||\r\n\t\t\t!this.retailBusinessManagers ||\r\n\t\t\tthis.retailBusinessManagers.length === 0\r\n\t\t) {\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRetailBusinessManagers(this.selectedState, this.selectedBrand)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis.retailBusinessManagers = data;\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferDistrictManagers: IterableDiffer;\r\n\tdistrictManagers: string[] = [];\r\n\tselectedDistrictManagers: string[];\r\n\tgetDistrictManagers(reload?: boolean): void {\r\n\t\tif (reload || !this.districtManagers || this.districtManagers.length === 0) {\r\n\t\t\tthis.workOrderReportService.getDMs().subscribe((data) => {\r\n\t\t\t\tthis.districtManagers = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferStoreType: IterableDiffer;\r\n\tstoreType: string[] = [];\r\n\tselectedStoreType: string[];\r\n\tgetStoreType(reload?: boolean): void {\r\n\t\tif (reload || !this.storeType || this.storeType.length === 0) {\r\n\t\t\tthis.workOrderReportService.getStoreType().subscribe((data) => {\r\n\t\t\t\tthis.storeType = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferStoreProfile: IterableDiffer;\r\n\tstoreProfile: string[] = [];\r\n\tselectedStoreProfile: string[];\r\n\tgetStoreProfile(reload?: boolean): void {\r\n\t\tif (reload || !this.storeProfile || this.storeProfile.length === 0) {\r\n\t\t\tthis.workOrderReportService.getStoreProfile().subscribe((data) => {\r\n\t\t\t\tthis.storeProfile = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferStoreCluster: IterableDiffer;\r\n\tstoreCluster: string[] = [];\r\n\tselectedStoreCluster: string[];\r\n\tgetStoreCluster(reload?: boolean): void {\r\n\t\tif (reload || !this.storeCluster || this.storeCluster.length === 0) {\r\n\t\t\tthis.workOrderReportService.getStoreCluster().subscribe((data) => {\r\n\t\t\t\tthis.storeCluster = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferServiceDeliveryManager: IterableDiffer;\r\n\tserviceDeliveryManager: string[] = [];\r\n\tselectedServiceDeliveryManager: string[];\r\n\tgetServiceDeliveryManager(reload?: boolean): void {\r\n\t\tif (\r\n\t\t\treload ||\r\n\t\t\t!this.serviceDeliveryManager ||\r\n\t\t\tthis.serviceDeliveryManager.length === 0\r\n\t\t) {\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getServiceDeliveryManagers()\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis.serviceDeliveryManager = data;\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferDeliveryIndicators: IterableDiffer;\r\n\tdeliveryIndicators: string[] = [];\r\n\tselectedDeliveryIndicators: string[];\r\n\tgetDeliveryIndicators(reload?: boolean): void {\r\n\t\tif (\r\n\t\t\treload ||\r\n\t\t\t!this.deliveryIndicators ||\r\n\t\t\tthis.deliveryIndicators.length === 0\r\n\t\t) {\r\n\t\t\tthis.deliveryIndicators =\r\n\t\t\t\tthis.workOrderReportService.getDeliveryIndicators();\r\n\t\t}\r\n\t}\r\n\r\n\titerableDifferStatuses: IterableDiffer;\r\n\tstatuses: string[] = [];\r\n\tselectedStatuses: string[];\r\n\tgetStatuses(reload?: boolean): void {\r\n\t\tif (reload || !this.statuses || this.statuses.length === 0) {\r\n\t\t\tthis.workOrderReportService.getStatuses().subscribe((data) => {\r\n\t\t\t\tthis.statuses = data;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tyears: string[] = [];\r\n\tselectedYear: string;\r\n\toldYear: string;\r\n\tgetYears(reload?: boolean) {\r\n\t\tlet weekFilterOffsetMonthes =\r\n\t\t\tthis.whiteLabelService.getWeekFilterOffsetMonthes();\r\n\t\tlet m = moment.utc();\r\n\t\tlet years: string[] = [];\r\n\t\tlet currentYear = m.year();\r\n\t\tlet currentMonth = m.month();\r\n\t\tif (currentMonth <= weekFilterOffsetMonthes) {\r\n\t\t\tcurrentYear -= 1;\r\n\t\t}\r\n\t\tconst isFY = this.whiteLabelService.isStarbucks();\r\n\t\tfor (let i = 2018; i <= currentYear; i++) {\r\n\t\t\tyears.push(isFY ? this.stateService.yearToFY(i) : i.toString());\r\n\t\t}\r\n\t\tthis.years = years;\r\n\t\tthis.selectedYear = years[years.length - 1];\r\n\r\n\t\tthis.getWeeks();\r\n\t}\r\n\tonChangeSelectedYear($event) {\r\n\t\tthis.getWeeks();\r\n\t}\r\n\r\n\ttwoDigitsToString(n) {\r\n\t\treturn n > 9 ? \"\" + n : \"0\" + n;\r\n\t}\r\n\tweeks: string[] = [];\r\n\tselectedWeek: string;\r\n\toldWeek: string;\r\n\tfyWeekToWeekMap: any;\r\n\tfyWeekToWeek(fy: number, fyWeek: number): string {\r\n\t\tlet temp = fy + \"-\" + this.twoDigitsToString(fyWeek);\r\n\t\tlet week = this.fyWeekToWeekMap[temp];\r\n\t\tif (week) {\r\n\t\t\treturn week;\r\n\t\t} else {\r\n\t\t\treturn temp;\r\n\t\t}\r\n\t}\r\n\tpublic weekToFYWeek(year: number, week: number): string {\r\n\t\tlet weekFilterOffsetMonthes =\r\n\t\t\tthis.whiteLabelService.getWeekFilterOffsetMonthes();\r\n\t\tif (weekFilterOffsetMonthes === 0) {\r\n\t\t\treturn year + \"-\" + this.twoDigitsToString(week);\r\n\t\t}\r\n\t\tlet thisWeekEnd = moment\r\n\t\t\t.utc(year + \"-01-01\")\r\n\t\t\t.week(week)\r\n\t\t\t.isoWeekday(7);\r\n\t\tlet month = thisWeekEnd.year() > year ? 12 : thisWeekEnd.month() + 1; // js month is 0 based\r\n\t\tlet fy = year;\r\n\t\tif (month <= weekFilterOffsetMonthes) {\r\n\t\t\t// previous FY\r\n\t\t\tfy -= 1;\r\n\t\t}\r\n\t\tlet currentDayofYear = moment\r\n\t\t\t.utc(fy + \"-01-01\")\r\n\t\t\t.add(weekFilterOffsetMonthes, \"months\")\r\n\t\t\t.isoWeekday(7);\r\n\t\tlet lastDayOfYear = moment\r\n\t\t\t.utc(fy + \"-12-31\")\r\n\t\t\t.add(weekFilterOffsetMonthes, \"months\");\r\n\t\tlet index = 1;\r\n\t\tlet resultWeek = 0;\r\n\t\twhile (lastDayOfYear >= currentDayofYear && thisWeekEnd >= currentDayofYear) {\r\n\t\t\tresultWeek = index;\r\n\t\t\tcurrentDayofYear = currentDayofYear.add(1, \"weeks\");\r\n\t\t\tindex++;\r\n\t\t}\r\n\t\tif (resultWeek > 0) {\r\n\t\t\treturn fy + \"-\" + this.twoDigitsToString(resultWeek);\r\n\t\t} else {\r\n\t\t\treturn year + \"-\" + this.twoDigitsToString(week);\r\n\t\t}\r\n\t}\r\n\tgetWeeks(reload?: boolean) {\r\n\t\tlet weekFilterOffsetMonthes =\r\n\t\t\tthis.whiteLabelService.getWeekFilterOffsetMonthes();\r\n\t\tlet year = parseInt(this.selectedYear.substr(0, 4));\r\n\t\tlet thisWeekEnd = moment.utc().isoWeekday(7);\r\n\t\tlet currentDayofYear = moment\r\n\t\t\t.utc(year + \"-01-01\")\r\n\t\t\t.add(weekFilterOffsetMonthes, \"months\")\r\n\t\t\t.isoWeekday(7);\r\n\t\tlet lastDayOfYear = moment\r\n\t\t\t.utc(year + \"-12-31\")\r\n\t\t\t.add(weekFilterOffsetMonthes, \"months\");\r\n\t\tlet index = 1;\r\n\t\tthis.fyWeekToWeekMap = {};\r\n\t\tlet weeks: string[] = [];\r\n\t\twhile (lastDayOfYear >= currentDayofYear && thisWeekEnd >= currentDayofYear) {\r\n\t\t\tweeks.push(index.toString());\r\n\t\t\tthis.fyWeekToWeekMap[year + \"-\" + this.twoDigitsToString(index)] =\r\n\t\t\t\tcurrentDayofYear.year().toString() +\r\n\t\t\t\t\"-\" +\r\n\t\t\t\tthis.twoDigitsToString(currentDayofYear.isoWeek());\r\n\t\t\tcurrentDayofYear = currentDayofYear.add(1, \"weeks\");\r\n\t\t\tindex++;\r\n\t\t}\r\n\t\tweeks.reverse();\r\n\t\tthis.weeks = weeks;\r\n\t\tif (this.selectedWeek && weeks.indexOf(this.selectedWeek) >= 0) {\r\n\t\t\t// keep same week\r\n\t\t} else {\r\n\t\t\tthis.selectedWeek = weeks[0];\r\n\t\t}\r\n\t}\r\n\r\n\tloadData(reload?: boolean): void {\r\n\t\tthis.getVendors(reload);\r\n\t\tthis.getVendorNames(reload);\r\n\t\tthis.getStates(reload);\r\n\t\tthis.getStores(reload);\r\n\t\tthis.getAssetNames(reload);\r\n\t\tthis.getBrands(reload);\r\n\t\tthis.getDistricts(reload);\r\n\t\tthis.getCategories(reload);\r\n\t\tthis.getCategoryManagers(reload);\r\n\t\tthis.getKeyAssetNames(reload);\r\n\t\tthis.getRequestType(reload);\r\n\t\tthis.getPriority(reload);\r\n\t\tthis.getGLCostTypes(reload);\r\n\t\tthis.getGLDescriptions(reload);\r\n\t\tthis.getGLStatuses(reload);\r\n\t\tthis.getRetailBusinessManagers(reload);\r\n\t\tthis.getDistrictManagers(reload);\r\n\t\tthis.getRegionalManagers(reload);\r\n\t\tthis.getStoreType(reload);\r\n\t\tthis.getStoreProfile(reload);\r\n\t\tthis.getStoreCluster(reload);\r\n\t\tthis.getServiceDeliveryManager(reload);\r\n\t\tthis.getDeliveryIndicators(reload);\r\n\t\tthis.getYears(reload);\r\n\t\tthis.getStatuses(reload);\r\n\t}\r\n\r\n\tshouldOpenFilters(): boolean {\r\n\t\tlet shouldOpenFilters = false;\r\n\t\tif (this.selectedVendor && this.selectedVendor.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedVendorNames && this.selectedVendorNames.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedState && this.selectedState.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedStore && this.selectedStore.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedAssetName && this.selectedAssetName.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedBrand && this.selectedBrand.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedDistrict && this.selectedDistrict.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedCategory && this.selectedCategory.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedCategoryManager &&\r\n\t\t\tthis.selectedCategoryManager.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedKeyAssetName &&\r\n\t\t\tthis.selectedKeyAssetName.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedRequestType && this.selectedRequestType.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedPriority && this.selectedPriority.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedGLCostTypes && this.selectedGLCostTypes.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedGLDescriptions && this.selectedGLDescriptions.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedGLStatuses && this.selectedGLStatuses.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedRetailBusinessManager &&\r\n\t\t\tthis.selectedRetailBusinessManager.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedDistrictManagers &&\r\n\t\t\tthis.selectedDistrictManagers.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedCategory && this.selectedCategory.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedCategoryManager &&\r\n\t\t\tthis.selectedCategoryManager.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedRegionalManagers &&\r\n\t\t\tthis.selectedRegionalManagers.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedStoreType && this.selectedStoreType.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedStoreProfile &&\r\n\t\t\tthis.selectedStoreProfile.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedStoreCluster &&\r\n\t\t\tthis.selectedStoreCluster.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedServiceDeliveryManager &&\r\n\t\t\tthis.selectedServiceDeliveryManager.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (\r\n\t\t\tthis.selectedDeliveryIndicators &&\r\n\t\t\tthis.selectedDeliveryIndicators.length > 0\r\n\t\t) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else if (this.selectedStatuses && this.selectedStatuses.length > 0) {\r\n\t\t\tshouldOpenFilters = true;\r\n\t\t} else {\r\n\t\t\tlet current = this.getCurrentDateRangeEst();\r\n\t\t\tif (\r\n\t\t\t\tcurrent !== null &&\r\n\t\t\t\tcurrent.beginDate != null &&\r\n\t\t\t\tcurrent.endDate != null &&\r\n\t\t\t\tcurrent.beginDate.year > 0\r\n\t\t\t) {\r\n\t\t\t\tshouldOpenFilters = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn shouldOpenFilters;\r\n\t}\r\n\r\n\tfillBodyEndDateThisMonth(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\testCompletedDt: boolean = false\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tif (\r\n\t\t\t(!estCompletedDt && !body.filter.toDt) ||\r\n\t\t\t(estCompletedDt && !body.filter.toEstCompletedDt)\r\n\t\t) {\r\n\t\t\tconst lastDay = this.helperService.lastDayInMonth;\r\n\t\t\tconst month = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tlastDay.getMonth() + 1\r\n\t\t\t);\r\n\t\t\tconst day = this.helperService.numberToTwoDigitString(lastDay.getDate());\r\n\t\t\tconst dateStr = `${lastDay.getFullYear()}-${month}-${day}T00:00:00.000Z`;\r\n\t\t\tif (estCompletedDt) {\r\n\t\t\t\tbody.filter.fromEstCompletedDt = null;\r\n\t\t\t\tbody.filter.toEstCompletedDt = dateStr;\r\n\t\t\t} else {\r\n\t\t\t\tbody.filter.fromDt = null;\r\n\t\t\t\tbody.filter.toDt = dateStr;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody.filter = new Filter();\r\n\t\tif (\r\n\t\t\tdateRange !== null &&\r\n\t\t\tdateRange.beginDate != null &&\r\n\t\t\tdateRange.endDate != null &&\r\n\t\t\tdateRange.beginDate.year > 0\r\n\t\t) {\r\n\t\t\tlet month1 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRange.beginDate.month\r\n\t\t\t);\r\n\t\t\tlet month2 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRange.endDate.month\r\n\t\t\t);\r\n\t\t\tlet day1 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRange.beginDate.day\r\n\t\t\t);\r\n\t\t\tlet day2 = this.helperService.numberToTwoDigitString(dateRange.endDate.day);\r\n\t\t\tbody.filter.fromDt = `${dateRange.beginDate.year}-${month1}-${day1}T00:00:00.000Z`;\r\n\t\t\tbody.filter.toDt = `${dateRange.endDate.year}-${month2}-${day2}T00:00:00.000Z`;\r\n\t\t}\r\n\t\tlet dateRangeEst = this.getCurrentDateRangeEst();\r\n\t\tif (\r\n\t\t\tdateRangeEst !== null &&\r\n\t\t\tdateRangeEst.beginDate != null &&\r\n\t\t\tdateRangeEst.endDate != null &&\r\n\t\t\tdateRangeEst.beginDate.year > 0\r\n\t\t) {\r\n\t\t\tlet month1 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRangeEst.beginDate.month\r\n\t\t\t);\r\n\t\t\tlet month2 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRangeEst.endDate.month\r\n\t\t\t);\r\n\t\t\tlet day1 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRangeEst.beginDate.day\r\n\t\t\t);\r\n\t\t\tlet day2 = this.helperService.numberToTwoDigitString(\r\n\t\t\t\tdateRangeEst.endDate.day\r\n\t\t\t);\r\n\t\t\tbody.filter.fromEstCompletedDt = `${dateRangeEst.beginDate.year}-${month1}-${day1}T00:00:00.000Z`;\r\n\t\t\tbody.filter.toEstCompletedDt = `${dateRangeEst.endDate.year}-${month2}-${day2}T00:00:00.000Z`;\r\n\t\t}\r\n\t\tif (this.selectedVendor && this.selectedVendor.length > 0) {\r\n\t\t\tbody.filter.vendorIds = this.selectedVendor.map((item) => item.id);\r\n\t\t}\r\n\t\tif (this.selectedVendorNames && this.selectedVendorNames.length > 0) {\r\n\t\t\tbody.filter.vendorNames = this.selectedVendorNames.map((item) => item.name);\r\n\t\t}\r\n\t\tif (this.selectedState && this.selectedState.length > 0) {\r\n\t\t\tbody.filter.states = this.selectedState;\r\n\t\t}\r\n\t\tif (this.selectedStore && this.selectedStore.length > 0) {\r\n\t\t\tbody.filter.storeIds = this.selectedStore.map((item) => item.id);\r\n\t\t}\r\n\t\tif (this.selectedAssetName && this.selectedAssetName.length > 0) {\r\n\t\t\tbody.filter.assetNames = this.selectedAssetName;\r\n\t\t}\r\n\t\tif (this.selectedBrand && this.selectedBrand.length > 0) {\r\n\t\t\tbody.filter.brands = this.selectedBrand;\r\n\t\t}\r\n\t\tif (this.selectedDistrict && this.selectedDistrict.length > 0) {\r\n\t\t\tbody.filter.districts = this.selectedDistrict;\r\n\t\t}\r\n\t\tif (this.selectedCategory && this.selectedCategory.length > 0) {\r\n\t\t\tbody.filter.categories = this.selectedCategory;\r\n\t\t}\r\n\t\tif (this.selectedCategoryManager && this.selectedCategoryManager.length > 0) {\r\n\t\t\tbody.filter.categoryManagers = this.selectedCategoryManager;\r\n\t\t}\r\n\t\tif (this.selectedKeyAssetName && this.selectedKeyAssetName.length > 0) {\r\n\t\t\tbody.filter.assetNames = this.selectedKeyAssetName;\r\n\t\t}\r\n\t\tif (this.selectedRequestType && this.selectedRequestType.length > 0) {\r\n\t\t\tbody.filter.requestTypes = this.selectedRequestType;\r\n\t\t}\r\n\t\tif (this.selectedPriority && this.selectedPriority.length > 0) {\r\n\t\t\tbody.filter.priorities = this.selectedPriority;\r\n\t\t}\r\n\t\tif (this.selectedGLCostTypes && this.selectedGLCostTypes.length > 0) {\r\n\t\t\tbody.filter.glCostTypes = this.selectedGLCostTypes;\r\n\t\t}\r\n\t\tif (this.selectedGLDescriptions && this.selectedGLDescriptions.length > 0) {\r\n\t\t\tbody.filter.glDescriptions = this.selectedGLDescriptions;\r\n\t\t}\r\n\t\tif (this.selectedGLStatuses && this.selectedGLStatuses.length > 0) {\r\n\t\t\tbody.filter.glStatuses = this.selectedGLStatuses;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.selectedRetailBusinessManager &&\r\n\t\t\tthis.selectedRetailBusinessManager.length > 0\r\n\t\t) {\r\n\t\t\tbody.filter.retailBusinessManagers = this.selectedRetailBusinessManager;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.selectedDistrictManagers &&\r\n\t\t\tthis.selectedDistrictManagers.length > 0\r\n\t\t) {\r\n\t\t\tbody.filter.districtManagers = this.selectedDistrictManagers;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.selectedRegionalManagers &&\r\n\t\t\tthis.selectedRegionalManagers.length > 0\r\n\t\t) {\r\n\t\t\tbody.filter.regionalManagers = this.selectedRegionalManagers;\r\n\t\t}\r\n\t\tif (this.selectedStoreType && this.selectedStoreType.length > 0) {\r\n\t\t\tbody.filter.storeTypes = this.selectedStoreType;\r\n\t\t}\r\n\t\tif (this.selectedStoreProfile && this.selectedStoreProfile.length > 0) {\r\n\t\t\tbody.filter.storeProfiles = this.selectedStoreProfile;\r\n\t\t}\r\n\t\tif (this.selectedStoreCluster && this.selectedStoreCluster.length > 0) {\r\n\t\t\tbody.filter.storeClusters = this.selectedStoreCluster;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.selectedServiceDeliveryManager &&\r\n\t\t\tthis.selectedServiceDeliveryManager.length > 0\r\n\t\t) {\r\n\t\t\tbody.filter.serviceDeliveryManagers = this.selectedServiceDeliveryManager;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.selectedDeliveryIndicators &&\r\n\t\t\tthis.selectedDeliveryIndicators.length > 0\r\n\t\t) {\r\n\t\t\tbody.filter.deliveryIndicators = this.selectedDeliveryIndicators;\r\n\t\t}\r\n\t\tif (this.selectedStatuses && this.selectedStatuses.length > 0) {\r\n\t\t\tbody.filter.statuses = this.selectedStatuses;\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tgetDateFromWeeklyStatus(): moment.Moment {\r\n\t\tconst yearTmp = parseInt(this.selectedYear.substr(0, 4));\r\n\t\tconst weekTmp = parseInt(this.selectedWeek);\r\n\t\tif (yearTmp && weekTmp) {\r\n\t\t\tlet actualYearWeek = this.fyWeekToWeek(yearTmp, weekTmp);\r\n\t\t\tlet temp = actualYearWeek.split(\"-\");\r\n\t\t\tlet year = parseInt(temp[0]);\r\n\t\t\tlet week = parseInt(temp[1]);\r\n\t\t\tlet m = moment\r\n\t\t\t\t.utc()\r\n\t\t\t\t.isoWeekYear(year)\r\n\t\t\t\t.isoWeekday(1)\r\n\t\t\t\t.isoWeek(week)\r\n\t\t\t\t.hours(0)\r\n\t\t\t\t.minutes(0)\r\n\t\t\t\t.seconds(0)\r\n\t\t\t\t.milliseconds(0);\r\n\t\t\treturn m;\r\n\t\t} else {\r\n\t\t\treturn moment(\"\");\r\n\t\t}\r\n\t}\r\n\r\n\tfillBodyWeeklyStatus(body: QueryOptionsModel): QueryOptionsModel {\r\n\t\tbody.filter = new Filter();\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\tbody.filter.requestTypes = [\"Reactive\", \"Incident\"];\r\n\t\tif (this.selectedYear && this.selectedWeek) {\r\n\t\t\tvar m = this.getDateFromWeeklyStatus();\r\n\t\t\tif (m.isValid()) {\r\n\t\t\t\tbody.filter.fromDt = m.toDate().toISOString();\r\n\t\t\t\tbody.filter.toDt = m\r\n\t\t\t\t\t.add(7, \"days\")\r\n\t\t\t\t\t.subtract(1, \"days\")\r\n\t\t\t\t\t.toDate()\r\n\t\t\t\t\t.toISOString();\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.selectedState && this.selectedState.length > 0) {\r\n\t\t\tbody.filter.states = this.selectedState;\r\n\t\t}\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate isChangedEnabled: boolean = true;\r\n\r\n\tresetFilters() {\r\n\t\tthis.isChangedEnabled = false;\r\n\r\n\t\tthis.selectedVendor = [];\r\n\t\tthis.selectedVendorNames = [];\r\n\t\tthis.selectedState = [];\r\n\t\tthis.selectedStore = [];\r\n\t\tthis.selectedAssetName = [];\r\n\t\tthis.selectedBrand = [];\r\n\t\tthis.selectedDistrict = [];\r\n\t\tthis.selectedCategory = [];\r\n\t\tthis.selectedCategoryManager = [];\r\n\t\tthis.selectedKeyAssetName = [];\r\n\t\tthis.selectedRequestType = [];\r\n\t\tthis.selectedPriority = [];\r\n\t\tthis.selectedGLCostTypes = [];\r\n\t\tthis.selectedGLDescriptions = [];\r\n\t\tthis.selectedGLStatuses = [];\r\n\t\tthis.selectedRetailBusinessManager = [];\r\n\t\tthis.selectedDistrictManagers = [];\r\n\t\tthis.selectedRegionalManagers = [];\r\n\t\tthis.selectedStoreType = [];\r\n\t\tthis.selectedStoreProfile = [];\r\n\t\tthis.selectedStoreCluster = [];\r\n\t\tthis.selectedServiceDeliveryManager = [];\r\n\t\tthis.selectedDeliveryIndicators = [];\r\n\t\tthis.selectedStatuses = [];\r\n\t\tthis.setDateRangeEst(null);\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.isChangedEnabled = true;\r\n\t\t});\r\n\t}\r\n\r\n\tclearDataAndFilters() {\r\n\t\tthis.vendors = [];\r\n\t\tthis.vendorNames = [];\r\n\t\tthis.states = [];\r\n\t\tthis.stores = [];\r\n\t\tthis.assetNames = [];\r\n\t\tthis.brands = [];\r\n\t\tthis.districts = [];\r\n\t\tthis.categories = [];\r\n\t\tthis.categoryManagers = [];\r\n\t\tthis.keyAssetNames = [];\r\n\t\tthis.requestTypes = [];\r\n\t\tthis.priorities = [];\r\n\t\tthis.retailBusinessManagers = [];\r\n\t\tthis.districtManagers = [];\r\n\t\tthis.regionalManagers = [];\r\n\t\tthis.storeType = [];\r\n\t\tthis.storeProfile = [];\r\n\t\tthis.storeCluster = [];\r\n\t\tthis.selectedServiceDeliveryManager = [];\r\n\t\tthis.deliveryIndicators = [];\r\n\t\tthis.statuses = [];\r\n\t\tthis.resetFilters();\r\n\t}\r\n\r\n\tisFilterChanged(): boolean {\r\n\t\tlet changes = this.iterableDifferStateFilter.diff(this.selectedState);\r\n\t\tchanges = this.iterableDifferBrandFilter.diff(this.selectedBrand) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferRetailBusinessManagerFilter.diff(\r\n\t\t\t\tthis.selectedRetailBusinessManager\r\n\t\t\t) || changes;\r\n\t\treturn changes !== null;\r\n\t}\r\n\r\n\tisChanged(): boolean {\r\n\t\t//console.log(\"isChanged\");\r\n\t\tlet changes: any = this.iterableDifferVendor.diff(this.selectedVendor);\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferVendorNames.diff(this.selectedVendorNames) || changes;\r\n\t\tchanges = this.iterableDifferState.diff(this.selectedState) || changes;\r\n\t\tchanges = this.iterableDifferStore.diff(this.selectedStore) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferAssetName.diff(this.selectedAssetName) || changes;\r\n\t\tchanges = this.iterableDifferBrand.diff(this.selectedBrand) || changes;\r\n\t\tchanges = this.iterableDifferDistrict.diff(this.selectedDistrict) || changes;\r\n\t\tchanges = this.iterableDifferCategory.diff(this.selectedCategory) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferCategoryManager.diff(this.selectedCategoryManager) ||\r\n\t\t\tchanges;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferKeyAssetName.diff(this.selectedKeyAssetName) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferRequestType.diff(this.selectedRequestType) || changes;\r\n\t\tchanges = this.iterableDifferPriority.diff(this.selectedPriority) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferGLCostTypes.diff(this.selectedGLCostTypes) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferGLDescriptions.diff(this.selectedGLDescriptions) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferGLStatuses.diff(this.selectedGLStatuses) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferRetailBusinessManager.diff(\r\n\t\t\t\tthis.selectedRetailBusinessManager\r\n\t\t\t) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferDistrictManagers.diff(this.selectedDistrictManagers) ||\r\n\t\t\tchanges;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferRegionalManagers.diff(this.selectedRegionalManagers) ||\r\n\t\t\tchanges;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferStoreType.diff(this.selectedStoreType) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferStoreProfile.diff(this.selectedStoreProfile) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferStoreCluster.diff(this.selectedStoreCluster) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferServiceDeliveryManager.diff(\r\n\t\t\t\tthis.selectedServiceDeliveryManager\r\n\t\t\t) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferDeliveryIndicators.diff(\r\n\t\t\t\tthis.selectedDeliveryIndicators\r\n\t\t\t) || changes;\r\n\t\tchanges =\r\n\t\t\tthis.iterableDifferStatuses.diff(this.selectedStatuses) || changes;\r\n\t\tif (this.oldYear !== this.selectedYear) {\r\n\t\t\tchanges = true;\r\n\t\t\tthis.oldYear = this.selectedYear;\r\n\t\t}\r\n\t\tif (this.oldWeek !== this.selectedWeek) {\r\n\t\t\tchanges = true;\r\n\t\t\tthis.oldWeek = this.selectedWeek;\r\n\t\t}\r\n\t\tif (this.isDateRangeEstChanged) {\r\n\t\t\tthis.isDateRangeEstChanged = false;\r\n\t\t\tchanges = true;\r\n\t\t}\r\n\r\n\t\tif (!this.isChangedEnabled) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (changes) {\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateId = new BehaviorSubject(\"\");\r\n\tpublic get getUpdateId(): Observable {\r\n\t\treturn this.updateId.asObservable();\r\n\t}\r\n\tpublic getCurrentUpdateId(): string {\r\n\t\treturn this.updateId.value;\r\n\t}\r\n\tpublic setUpdateId(value: string) {\r\n\t\tthis.updateId.next(value);\r\n\t}\r\n\r\n\tpublic isDrilldownBackByVendorAvailable() {\r\n\t\treturn (\r\n\t\t\t(this.selectedVendor && this.selectedVendor.length > 0) ||\r\n\t\t\t(this.selectedVendorNames && this.selectedVendorNames.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic drilldownBackByVendor() {\r\n\t\tif (this.selectedVendor && this.selectedVendor.length > 0) {\r\n\t\t\tthis.selectedVendor = [];\r\n\t\t}\r\n\t\tif (this.selectedVendorNames && this.selectedVendorNames.length > 0) {\r\n\t\t\tthis.selectedVendorNames = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByState() {\r\n\t\tif (this.selectedState && this.selectedState.length > 0) {\r\n\t\t\tthis.selectedState = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByStore() {\r\n\t\tif (this.selectedStore && this.selectedStore.length > 0) {\r\n\t\t\tthis.selectedStore = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByStoreType() {\r\n\t\tif (this.selectedStoreType && this.selectedStoreType.length > 0) {\r\n\t\t\tthis.selectedStoreType = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByAssetName() {\r\n\t\tif (this.selectedAssetName && this.selectedAssetName.length > 0) {\r\n\t\t\tthis.selectedAssetName = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByBrand() {\r\n\t\tif (this.selectedBrand && this.selectedBrand.length > 0) {\r\n\t\t\tthis.selectedBrand = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByDistrict() {\r\n\t\tif (this.selectedDistrict && this.selectedDistrict.length > 0) {\r\n\t\t\tthis.selectedDistrict = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByCategory() {\r\n\t\tif (this.selectedCategory && this.selectedCategory.length > 0) {\r\n\t\t\tthis.selectedCategory = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByCategoryManager() {\r\n\t\tif (this.selectedCategoryManager && this.selectedCategoryManager.length > 0) {\r\n\t\t\tthis.selectedCategoryManager = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackByPriority() {\r\n\t\tif (this.selectedPriority && this.selectedPriority.length > 0) {\r\n\t\t\tthis.selectedPriority = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackRM() {\r\n\t\tif (this.selectedPriority && this.selectedPriority.length > 0) {\r\n\t\t\tthis.selectedPriority = [];\r\n\t\t} else if (this.selectedState && this.selectedState.length > 0) {\r\n\t\t\tthis.selectedState = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic drilldownBackRMByStoreType() {\r\n\t\tif (this.selectedPriority && this.selectedPriority.length > 0) {\r\n\t\t\tthis.selectedPriority = [];\r\n\t\t} else if (this.selectedStoreType && this.selectedStoreType.length > 0) {\r\n\t\t\tthis.selectedStoreType = [];\r\n\t\t}\r\n\t}\r\n\r\n\tpublic isDrilldownBackByDateEstAvailable() {\r\n\t\tlet dateRange = this.getCurrentDateRangeEst();\r\n\t\treturn (\r\n\t\t\tdateRange !== null &&\r\n\t\t\tdateRange.beginDate != null &&\r\n\t\t\tdateRange.endDate != null &&\r\n\t\t\tdateRange.beginDate.year > 0\r\n\t\t);\r\n\t}\r\n\r\n\tpublic drilldownBackByDateEst() {\r\n\t\tthis.updateDateRangeEst(\"null\", null, null, true);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate iterableDiffers: IterableDiffers,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tprivate drus: DateRangeUtilService,\r\n\t\tprivate helperService: HelperService\r\n\t) {\r\n\t\tthis.iterableDifferVendor = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferVendorNames = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferState = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferStateFilter = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferStore = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferAssetName = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferBrand = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferBrandFilter = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferDistrict = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferCategory = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferCategoryManager = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferKeyAssetName = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferRequestType = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferPriority = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferGLCostTypes = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferGLDescriptions = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferGLStatuses = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferRetailBusinessManager = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferRetailBusinessManagerFilter = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferDistrictManagers = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferRegionalManagers = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferStoreType = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferStoreProfile = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferStoreCluster = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.iterableDifferServiceDeliveryManager = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferDeliveryIndicators = this.iterableDiffers\r\n\t\t\t.find([])\r\n\t\t\t.create(null);\r\n\t\tthis.iterableDifferStatuses = this.iterableDiffers.find([]).create(null);\r\n\t\tthis.oldYear = this.selectedYear;\r\n\t\tthis.oldWeek = this.selectedWeek;\r\n\t\tthis.authService.isLoggedIn.subscribe((data) => {\r\n\t\t\tif (!data) {\r\n\t\t\t\tthis.clearDataAndFilters();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpResponse } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { DropdownItem } from \"../../models/dropdownItem\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { NameModel } from \"../models/nameModel\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { ReportWeeklyStatusModel } from \"../models/reportWeeklyStatusModel\";\r\nimport { RequestListResponseModel } from \"../models/requestListResponseModel\";\r\nimport { RequestSummaryAssetResponseModel } from \"../models/requestSummaryAssetResponseModel\";\r\nimport { RequestSummaryAssetStateResponseModel } from \"../models/requestSummaryAssetStateResponseModel\";\r\nimport { RequestSummaryAssetStoreProfileResponseModel } from \"../models/requestSummaryAssetStoreProfileResponseModel\";\r\nimport { RequestSummaryAssetStoreTypeResponseModel } from \"../models/requestSummaryAssetStoreTypeResponseModel\";\r\nimport { RequestSummaryDayResolveResponseModel } from \"../models/requestSummaryDayResolveResponseModel\";\r\nimport { RequestSummaryDayResponseModel } from \"../models/requestSummaryDayResponseModel\";\r\nimport { RequestSummaryEntityGLPivotResponseModel } from \"../models/requestSummaryEntityGLPivotResponseModel\";\r\nimport { RequestSummaryEntityResponseModel } from \"../models/requestSummaryEntityResponseModel\";\r\nimport { RequestSummaryGLCategoryResponseModel } from \"../models/requestSummaryGLCategoryResponseModel\";\r\nimport { RequestSummaryGLCodePivotResponseModel } from \"../models/requestSummaryGLCodePivotResponseModel\";\r\nimport { RequestSummaryMonthResponseModel } from \"../models/requestSummaryMonthResponseModel\";\r\nimport { RequestSummaryPriorityResponseModel } from \"../models/requestSummaryPriorityResponseModel\";\r\nimport { RequestSummaryResponseModel } from \"../models/requestSummaryResponseModel\";\r\nimport { RequestSummaryStateMonthResponseModel } from \"../models/requestSummaryStateMonthResponseModel\";\r\nimport { RequestSummaryStateResponseModel } from \"../models/requestSummaryStateResponseModel\";\r\nimport { RequestSummaryStoreProfileMonthResponseModel } from \"../models/requestSummaryStoreProfileMonthResponseModel\";\r\nimport { RequestSummaryStoreProfileResponseModel } from \"../models/requestSummaryStoreProfileResponseModel\";\r\nimport { RequestSummaryStoreTypeMonthResponseModel } from \"../models/requestSummaryStoreTypeMonthResponseModel\";\r\nimport { RequestSummaryStoreTypeResponseModel } from \"../models/requestSummaryStoreTypeResponseModel\";\r\nimport { RequestSummaryVendorPivotResponseModel } from \"../models/requestSummaryVendorPivotResponseModel\";\r\nimport { RequestSummaryVendorResponseModel } from \"../models/requestSummaryVendorResponseModel\";\r\nimport { RequestSummaryWeekPriorityResponseModel } from \"../models/requestSummaryWeekPriorityResponseModel\";\r\n\r\n@Injectable()\r\nexport class WorkOrderReportService {\r\n\tprivate apiUrl = this.whiteLabelService.getSettings.informApiUrl + \"api/\";\r\n\tprivate pdfUrl =\r\n\t\tthis.whiteLabelService.getSettings.apiUrl + \"ReportWeeklyStatus/PdfPost\";\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\tcapitalizeFirstLetter(value: string): string {\r\n\t\treturn value[0].toUpperCase() + value.slice(1);\r\n\t}\r\n\r\n\tgetRequestSummary(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummary\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getRequestSummary(model)\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryPriority(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryPriority\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryPriority(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryState(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryState\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryState(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryVendor(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryVendor\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryVendor(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryEntity(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryEntity\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryEntity(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryAsset(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryAsset\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryAsset(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryAssetState(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryAssetState\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryAssetState(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryAssetStoreType(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryAssetStoreType\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryAssetStoreType(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryAssetStoreProfile(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryAssetStoreProfile\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryAssetStoreProfile(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryMonth(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryMonth\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryMonth(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryStateMonth(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryStateMonth\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryStateMonth(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryStoreType(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryStoreType\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryStoreType(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryStoreTypeMonth(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryStoreTypeMonth\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryStoreTypeMonth(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryStoreProfile(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryStoreProfile\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryStoreProfile(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryStoreProfileMonth(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryStoreProfileMonth\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryStoreProfileMonth(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetStates(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/States\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.messages.handleError(this.authService, \"getStates()\", []))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetVendors(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Vendors\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.messages.handleError(this.authService, \"getVendors()\", []))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetVendorParents(model: QueryOptionsModel | null): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/VendorParents\";\r\n\t\treturn this.http\r\n\t\t\t.post(url, model, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getVendorParents(model)\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetVendorNames(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/VendorNames\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getVendorNames()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetStores(\r\n\t\tstates: string[],\r\n\t\tbrands: string[],\r\n\t\tregions: string[]\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Stores?\";\r\n\t\tif (states) {\r\n\t\t\tstates.forEach((state) => {\r\n\t\t\t\turl += \"states=\" + state + \"&\";\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (brands) {\r\n\t\t\tbrands.forEach((brand) => {\r\n\t\t\t\turl += \"brands=\" + brand + \"&\";\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (regions) {\r\n\t\t\tregions.forEach((region) => {\r\n\t\t\t\turl += \"rbms=\" + region + \"&\";\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.messages.handleError(this.authService, \"getStores()\", []))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetAssetCategories(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/AssetCategories\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getAssetCategories()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetAssetNames(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/AssetNames\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getAssetNames()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetBrands(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Brands\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.messages.handleError(this.authService, \"getBrands()\", []))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetDistricts(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Districts\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getDistricts()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetCategories(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Categories\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getCategories()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetCategoryManagers(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/CategoryManagers\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getCategoryManagers()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetKeyAssetNames(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/KeyAssetNames\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleErrorSilent(this.authService, \"getKeyAssetNames()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetPriorities(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Priorities\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getPriorities()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetGLCostTypes(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/GLCostTypes\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getGLCostTypes()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetGLDescriptions(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/GLDescriptions\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getGLDescriptions()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetGLStatuses(): string[] {\r\n\t\treturn [\"Open\", \"Completed\", \"WIP\", \"PO Issued\"];\r\n\t}\r\n\r\n\tgetRequestTypes(): string[] {\r\n\t\treturn [\"Incident\", \"Planned\", \"Reactive\"];\r\n\t}\r\n\r\n\tgetServiceDeliveryManagers(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/ServiceDeliveryManagers\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getServiceDeliveryManagers()\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRetailBusinessManagers(\r\n\t\tstates: string[],\r\n\t\tbrands: string[]\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/RetailBusinessManagers?\";\r\n\t\tif (states) {\r\n\t\t\tstates.forEach((state) => {\r\n\t\t\t\turl += \"states=\" + state + \"&\";\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (brands) {\r\n\t\t\tbrands.forEach((brand) => {\r\n\t\t\t\turl += \"brands=\" + brand + \"&\";\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRetailBusinessManagers()\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetDMs(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/DMs\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.messages.handleError(this.authService, \"getDMs()\", []))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRegionalManagers(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/RegionalManagers\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getRegionalManagers()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetStoreProfile(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/StoreProfile\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getStoreProfile()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetDeliveryIndicators(): string[] {\r\n\t\treturn [\r\n\t\t\t\"Response Pending\",\r\n\t\t\t\"Response Overdue\",\r\n\t\t\t\"Resolve Pending\",\r\n\t\t\t\"Resolve Overdue\",\r\n\t\t];\r\n\t}\r\n\r\n\tgetStatuses(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/Statuses\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getStatuses()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetStoreType(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/StoreType\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getStoreType()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetStoreCluster(): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrders/StoreCluster\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.authService.getHttpOptions())\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleErrorSilent(this.authService, \"StoreCluster()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestList(\r\n\t\tmodel: QueryOptionsModel | QueryOptionsPagingModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestList\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getRequestList()\", [])\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryWeekPriority(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryWeekPriority\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryWeekPriority(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryDay(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryDay\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryDay(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetWeeklyStatusPdf(\r\n\t\tmodel: ReportWeeklyStatusModel\r\n\t): Observable> {\r\n\t\tlet token = this.authService.getToken();\r\n\t\treturn this.http\r\n\t\t\t.post(`${this.pdfUrl}`, model, {\r\n\t\t\t\theaders: new HttpHeaders({\r\n\t\t\t\t\tAuthorization: token,\r\n\t\t\t\t}),\r\n\t\t\t\tobserve: \"response\",\r\n\t\t\t\tresponseType: \"blob\" as \"json\",\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(this.authService, \"getWeeklyStatusPdf()\", null)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryVendorPivot(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryVendorPivot\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryVendorPivot(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryEntityGLPivot(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryEntityGLPivot\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryEntityGLPivot(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryGLCodePivot(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryGLCodePivot\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryGLCodePivot(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryGLCategory(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryGLCategory\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryGLCategory(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryDayResolve(\r\n\t\tmodel: QueryOptionsModel | null\r\n\t): Observable {\r\n\t\tlet url = this.apiUrl + \"WorkOrderReport/RequestSummaryDayResolve\";\r\n\t\treturn this.http\r\n\t\t\t.post(\r\n\t\t\t\turl,\r\n\t\t\t\tmodel,\r\n\t\t\t\tthis.authService.getHttpOptions()\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(\r\n\t\t\t\t\tthis.messages.handleError(\r\n\t\t\t\t\t\tthis.authService,\r\n\t\t\t\t\t\t\"getRequestSummaryDayResolve(model)\",\r\n\t\t\t\t\t\t[]\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n}\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tTemplateRef,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaCloudDownloadAlt,\r\n\tfaPlusSquare,\r\n\tfaSyncAlt,\r\n\tfaTable,\r\n\tfaTimes\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tNgbModal\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { NotificationType } from 'angular2-notifications';\r\nimport {\r\n\tIMyDateRangeModel, IMyDrpOptions,\r\n\tIMyInputFocusBlur,\r\n\tMyDateRangePicker\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { UserProfileModel } from '../..//models/userProfileModel';\r\nimport { DropdownItem } from '../../models/dropdownItem';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { Filter } from '../models/filter';\r\nimport { IsReportReadyQueryOptionsModel } from '../models/isReportReadyQueryOptionsModel';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { ReportTypeVendorDropdownModel } from '../models/reportTypeVendorDropdownModel';\r\nimport { ReportTypeVendorHistoryResponseModel } from '../models/reportTypeVendorHistoryResponseModel';\r\nimport { ReportTypeVendorResponseModel } from '../models/reportTypeVendorResponseModel';\r\nimport { VendorKpiService } from '../services/vendor-kpi.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport { WorkOrderReportService } from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-vendor-performance-kpi-report',\r\n\ttemplateUrl: './vendor-performance-kpi-report.component.html'\r\n})\r\nexport class VendorPerformanceKpiReportComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'vendorName',\r\n\t\t\tname: 'Vendor'\r\n\t\t}, {\r\n\t\t\tprop: 'createType',\r\n\t\t\tname: 'Trigger'\r\n\t\t}, {\r\n\t\t\tprop: 'reportTypeCd',\r\n\t\t\tname: 'Type'\r\n\t\t}, {\r\n\t\t\tprop: 'startDate',\r\n\t\t\tname: 'Start Date'\r\n\t\t}, {\r\n\t\t\tprop: 'endDate',\r\n\t\t\tname: 'End Date'\r\n\t\t}, {\r\n\t\t\tprop: 'createdDate',\r\n\t\t\tname: 'Generated'\r\n\t\t}],\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByInformByState.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('woInformTable') tableByInformByState: DatatableComponent;\r\n\r\n\tuserProfile$: Observable;\r\n\tuserProfile: UserProfileModel;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate modalService: NgbModal,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate vendorKpiService: VendorKpiService,\r\n\t\tprivate messageService: MessageService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.roles$.subscribe(data => {\r\n\t\t\tif (data.length > 0 && data.indexOf('store') < 0 && data.indexOf('rm') < 0) {\r\n\t\t\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t}));\r\n\t\tthis.userProfile$ = this.authService.getCurrentUserProfile;\r\n\t\tthis.userProfile$.subscribe(data => {\r\n\t\t\tthis.userProfile = data;\r\n\t\t});\r\n\t\tthis.loadVendors();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tthis.subs.add(this.vendorKpiService.getReportTypeVendorHistory(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.tableData.rows = data;\r\n\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\tvendors: DropdownItem[] = [];\r\n\tselectedVendor: DropdownItem;\r\n\tloadedVendors: boolean = false;\r\n\ttypes: ReportTypeVendorDropdownModel[] = [];\r\n\tselectedType: ReportTypeVendorDropdownModel;\r\n\tloadedTypes: boolean = true;\r\n\r\n\tmyDateRangePickerOptions: IMyDrpOptions = {\r\n\t\tdateFormat: 'dd mmm yyyy',\r\n\t\tshowClearBtn: false,\r\n\t\tshowApplyBtn: false,\r\n\t\tselectorHeight: '282px',\r\n\t\tselectorWidth: '304px',\r\n\t\theight: '38px',\r\n\t\tselectionTxtFontSize: '16px'\r\n\t};\r\n\t// For example initialize to specific date (09.10.2018 - 19.10.2018). It is also possible\r\n\t// to set initial date range value using the selDateRange attribute.\r\n\tpublic model: any = {\r\n\t\tbeginDate: undefined,\r\n\t\tendDate: undefined\r\n\t};\r\n\t@ViewChild('mydrpNewReport') mydrp: MyDateRangePicker;\r\n\tonDateRangeChanged(event: IMyDateRangeModel) {\r\n\t\t//this.stateService.setDateRange(event);\r\n\t\t//console.log(event);\r\n\t\tthis.loadTypes(this.selectedVendor, event);\r\n\t}\r\n\tonInputFocusBlur(event: IMyInputFocusBlur): void {\r\n\t\tif (event.reason === 1) {\r\n\t\t\tthis.mydrp.openBtnClicked();\r\n\t\t}\r\n\t}\r\n\r\n\tloadVendors() {\r\n\t\tthis.loadedVendors = false;\r\n\t\tthis.vendors = [];\r\n\t\tthis.selectedVendor = null;\r\n\t\tlet body = new QueryOptionsModel();\r\n\t\tbody.filter = new Filter();\r\n\t\tbody.filter.vendorExclusions = [\"NonKpiReporting\"];\r\n\t\tthis.subs.add(this.workOrderReportService.getVendorParents(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tthis.vendors = data;\r\n\t\t\t\tthis.loadedVendors = true;\r\n\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t}));\r\n\t}\r\n\r\n\tonVendorChange(event) {\r\n\t\tthis.loadTypes(event, this.model);\r\n\t}\r\n\r\n\tupdateIdTypes: string = \"\";\r\n\r\n\tloadTypes(vendor: DropdownItem | null, dateRange: IMyDateRangeModel) {\r\n\t\tthis.types = [];\r\n\t\tthis.selectedType = null;\r\n\t\tif (vendor && vendor.id && dateRange !== null && dateRange.beginDate != null && dateRange.endDate != null && dateRange.beginDate.year > 0) {\r\n\t\t\tthis.loadedTypes = false;\r\n\t\t\tlet updateId = `${vendor.id}-${dateRange.beginEpoc}-${dateRange.endEpoc}`;\r\n\t\t\tthis.updateIdTypes = updateId;\r\n\t\t\tlet body = new QueryOptionsModel();\r\n\t\t\tbody.filter = new Filter();\r\n\t\t\tlet month1 = dateRange.beginDate.month.toLocaleString('en-US', {\r\n\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\tuseGrouping: false\r\n\t\t\t});\r\n\t\t\tlet month2 = dateRange.endDate.month.toLocaleString('en-US', {\r\n\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\tuseGrouping: false\r\n\t\t\t});\r\n\t\t\tlet day1 = dateRange.beginDate.day.toLocaleString('en-US', {\r\n\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\tuseGrouping: false\r\n\t\t\t});\r\n\t\t\tlet day2 = dateRange.endDate.day.toLocaleString('en-US', {\r\n\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\tuseGrouping: false\r\n\t\t\t});\r\n\t\t\tbody.filter.vendorIds = [vendor.id];\r\n\t\t\tbody.filter.startDate = `${dateRange.beginDate.year}-${month1}-${day1}T00:00:00.000Z`;\r\n\t\t\tbody.filter.endDate = `${dateRange.endDate.year}-${month2}-${day2}T00:00:00.000Z`;\r\n\t\t\tbody.filter.isActive = true;\r\n\t\t\tbody.filter.excludeExistingReports = false;\r\n\r\n\t\t\tthis.subs.add(this.vendorKpiService.getReportTypeVendors(body)\r\n\t\t\t\t.subscribe(data => {\r\n\t\t\t\t\tif (this.updateIdTypes === updateId) {\r\n\t\t\t\t\t\tlet uniqueTypes: string[] = [];\r\n\t\t\t\t\t\tlet types: ReportTypeVendorDropdownModel[] = [];\r\n\t\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\t\tif (uniqueTypes.indexOf(element.reportTypeCd) < 0) {\r\n\t\t\t\t\t\t\t\tuniqueTypes.push(element.reportTypeCd);\r\n\t\t\t\t\t\t\t\ttypes.push({\r\n\t\t\t\t\t\t\t\t\tid: element.reportTypeCd,\r\n\t\t\t\t\t\t\t\t\tpath: element.reportTypePath,\r\n\t\t\t\t\t\t\t\t\tname: element.reportTypeDescription,\r\n\t\t\t\t\t\t\t\t\treportSettings: element.reportSettings\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.types = types;\r\n\t\t\t\t\t\tthis.loadedTypes = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t}));\r\n\t\t}\r\n\t}\r\n\r\n\tcanSelectType() {\r\n\t\tvar vendor = this.selectedVendor;\r\n\t\tvar dateRange = this.model;\r\n\t\treturn vendor && vendor.id && dateRange !== null && dateRange.beginDate != null && dateRange.endDate != null && dateRange.beginDate.year > 0;\r\n\t}\r\n\r\n\tisReadyToGenerate() {\r\n\t\tvar vendor = this.selectedVendor;\r\n\t\tvar dateRange = this.model;\r\n\t\treturn this.selectedType && vendor && vendor.id && dateRange !== null && dateRange.beginDate != null && dateRange.endDate != null && dateRange.beginDate.year > 0;\r\n\t}\r\n\r\n\tgenerationInProgress: boolean = false;\r\n\r\n\tshowNewDialog(content) {\r\n\t\tthis.modalService.open(content, {}).result.then((result) => {\r\n\t\t\t// Generate\r\n\t\t\tvar vendor = this.selectedVendor;\r\n\t\t\tvar dateRange = this.model;\r\n\t\t\tvar type = this.selectedType;\r\n\t\t\tif (type && vendor && vendor.id && dateRange !== null && dateRange.beginDate != null && dateRange.endDate != null && dateRange.beginDate.year > 0) {\r\n\t\t\t\tthis.loadedTypes = false;\r\n\r\n\t\t\t\tlet month1 = dateRange.beginDate.month.toLocaleString('en-US', {\r\n\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\tuseGrouping: false\r\n\t\t\t\t});\r\n\t\t\t\tlet month2 = dateRange.endDate.month.toLocaleString('en-US', {\r\n\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\tuseGrouping: false\r\n\t\t\t\t});\r\n\t\t\t\tlet day1 = dateRange.beginDate.day.toLocaleString('en-US', {\r\n\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\tuseGrouping: false\r\n\t\t\t\t});\r\n\t\t\t\tlet day2 = dateRange.endDate.day.toLocaleString('en-US', {\r\n\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\tuseGrouping: false\r\n\t\t\t\t});\r\n\t\t\t\tlet startDate = `${dateRange.beginDate.year}-${month1}-${day1}T00:00:00.000Z`;\r\n\t\t\t\tlet endDate = `${dateRange.endDate.year}-${month2}-${day2}T00:00:00.000Z`;\r\n\r\n\t\t\t\tlet body: ReportTypeVendorResponseModel = {\r\n\t\t\t\t\treportTypeCd: type.id,\r\n\t\t\t\t\treportTypeStartDate: startDate,\r\n\t\t\t\t\treportTypeEndDate: endDate,\r\n\t\t\t\t\treportTypePath: type.path,\r\n\t\t\t\t\treportTypeDescription: type.name,\r\n\t\t\t\t\tvendorId: vendor.id,\r\n\t\t\t\t\treportEmail: this.userProfile && this.userProfile.email ? this.userProfile.email : null,\r\n\t\t\t\t\treportSettings: type.reportSettings,\r\n\t\t\t\t\ttrigger: \"adhoc\"\r\n\t\t\t\t};\r\n\t\t\t\tthis.generateReport(body);\r\n\t\t\t}\r\n\t\t}, (reason) => {\r\n\t\t\t// Dismissed\r\n\t\t});\r\n\t}\r\n\r\n\tgenerateReport(body: ReportTypeVendorResponseModel) {\r\n\t\tthis.generationInProgress = true;\r\n\t\tthis.messageService.info(\"Report\", \"Generation in progress\");\r\n\t\tlet requestTime = new Date();\r\n\t\tthis.subs.add(this.vendorKpiService.scheduleReport(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tlet query = new QueryOptionsModel();\r\n\t\t\t\tquery.filter = new Filter();\r\n\t\t\t\tquery.filter.fromDt = body.reportTypeStartDate;\r\n\t\t\t\tquery.filter.toDt = body.reportTypeEndDate;\r\n\t\t\t\tquery.filter.vendorIds = [body.vendorId];\r\n\t\t\t\tlet isReadyBody: IsReportReadyQueryOptionsModel = {\r\n\t\t\t\t\tmodel: query,\r\n\t\t\t\t\trequestTime: requestTime\r\n\t\t\t\t};\r\n\t\t\t\tthis.waitForReportGeneration(isReadyBody);\r\n\t\t\t}));\r\n\t}\r\n\r\n\tregenerateReport(row) {\r\n\t\tif (this.generationInProgress) {\r\n\t\t\tthis.messageService.warn(\"Report\", \"Please wait for the previous report generation\");\r\n\t\t} else {\r\n\t\t\tthis.generationInProgress = true;\r\n\t\t\tlet body = new QueryOptionsModel();\r\n\t\t\tbody.filter = new Filter();\r\n\t\t\tbody.filter.vendorIds = [row.vendorId];\r\n\t\t\tbody.filter.startDate = row.startDate;\r\n\t\t\tbody.filter.endDate = row.endDate;\r\n\t\t\tbody.filter.isActive = true;\r\n\t\t\tbody.filter.excludeExistingReports = false;\r\n\t\t\tthis.subs.add(this.vendorKpiService.getReportTypeVendors(body)\r\n\t\t\t\t.subscribe(data => {\r\n\t\t\t\t\tlet uniqueTypes: string[] = [];\r\n\t\t\t\t\tlet paths: any = {};\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tif (uniqueTypes.indexOf(element.reportTypeCd) < 0) {\r\n\t\t\t\t\t\t\tuniqueTypes.push(element.reportTypeCd);\r\n\t\t\t\t\t\t\tpaths[element.reportTypeCd] = {\r\n\t\t\t\t\t\t\t\tpath: element.reportTypePath,\r\n\t\t\t\t\t\t\t\tdescription: element.reportTypeDescription,\r\n\t\t\t\t\t\t\t\treportSettings: element.reportSettings\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlet body2: ReportTypeVendorResponseModel = {\r\n\t\t\t\t\t\treportTypeCd: row.reportTypeCd,\r\n\t\t\t\t\t\treportTypeStartDate: row.startDate,\r\n\t\t\t\t\t\treportTypeEndDate: row.endDate,\r\n\t\t\t\t\t\treportTypePath: paths[row.reportTypeCd].path,\r\n\t\t\t\t\t\treportTypeDescription: paths[row.reportTypeCd].description,\r\n\t\t\t\t\t\tvendorId: row.vendorId,\r\n\t\t\t\t\t\treportEmail: this.userProfile && this.userProfile.email ? this.userProfile.email : null,\r\n\t\t\t\t\t\treportSettings: paths[row.reportTypeCd].reportSettings,\r\n\t\t\t\t\t\ttrigger: \"regenerate\"\r\n\t\t\t\t\t};\r\n\t\t\t\t\tthis.generateReport(body2);\r\n\t\t\t\t}));\r\n\t\t}\r\n\t}\r\n\r\n\t@ViewChild('popupDownload') popupDownload: TemplateRef;\r\n\r\n\twaitForReportGeneration(body: IsReportReadyQueryOptionsModel) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.vendorKpiService.isReportReady(body).subscribe(data => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.generationInProgress = false;\r\n\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), this.woFiltersService.getCurrentUpdateId());\r\n\t\t\t\t\tlet link = this.getLink(data);\r\n\t\t\t\t\tlet context: any = { url: link };\r\n\t\t\t\t\tthis.messageService.html(\r\n\t\t\t\t\t\tthis.popupDownload,\r\n\t\t\t\t\t\tNotificationType.Success,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttimeOut: 0,\r\n\t\t\t\t\t\t\tshowProgressBar: false,\r\n\t\t\t\t\t\t\tclickToClose: false\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\tcontext,\r\n\t\t\t\t\t\t(event, notification) => {\r\n\t\t\t\t\t\t\tif (!this.hasSomeParentTheClass(event.toElement ? event.toElement : event.srcElement, \"close-notification\")) {\r\n\t\t\t\t\t\t\t\t// download\r\n\t\t\t\t\t\t\t\tconst downloadlink = document.createElement('a');\r\n\t\t\t\t\t\t\t\tdownloadlink.href = link;\r\n\t\t\t\t\t\t\t\tdownloadlink.click();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// close\r\n\t\t\t\t\t\t\tthis.messageService.removeNotification(notification);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.waitForReportGeneration(body);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}, 5000);\r\n\t}\r\n\r\n\thasSomeParentTheClass(element, className) {\r\n\t\tif (!element) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tdo {\r\n\t\t\tif (element.classList && element.classList.contains(className)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\telement = element.parentNode;\r\n\t\t} while (element);\r\n\t\treturn false;\r\n\t}\r\n\r\n\tgetLink(report: ReportTypeVendorHistoryResponseModel) {\r\n\t\treturn this.vendorKpiService.getReportLink(report);\r\n\t}\r\n\r\n\tisRegenerateAllowed(row): boolean {\r\n\t\treturn row.createType === \"scheduled\";\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaPlusSquare = faPlusSquare;\r\n\tfaCloudDownloadAlt = faCloudDownloadAlt;\r\n\tfaSyncAlt = faSyncAlt;\r\n\tfaTimes = faTimes;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t\r\n\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}} KPI Reports\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tType: {{row.createType}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tVersion: {{row.reportTypeDescription}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tStart Date: {{row.startDate |\r\n\t\t\t\t\t\t\t\tdate:'yyyy-MM-dd'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tEnd Date: {{row.endDate |\r\n\t\t\t\t\t\t\t\tdate:'yyyy-MM-dd'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tGenerated: {{row.createdDate |\r\n\t\t\t\t\t\t\t\tdate:'yyyy-MM-dd HH:mm:ss'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | date:'yyyy-MM-dd'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | date:'yyyy-MM-dd'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | date:'yyyy-MM-dd HH:mm:ss'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t
\r\n\t\t\t

New Adhoc Report

\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t
\r\n\t\t\t
Report
\r\n\t\t\t
Generation complete
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-vendor-performance-status-month\",\r\n\ttemplateUrl: \"./vendor-performance-status-month.component.html\",\r\n})\r\nexport class VendorPerformanceStatusMonthComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByMonth: boolean;\r\n\tchartConfigByMonth = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\treturn `${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByMonth.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tlet value = activePoints[0]._model.label;\r\n\t\t\t\t\tlet m = moment(value + \"/01\", \"YYYY/MM/DD\");\r\n\t\t\t\t\tlet beginDate = m.toDate();\r\n\t\t\t\t\tlet endDate = m.add(1, \"months\").date(0).toDate();\r\n\t\t\t\t\tthis.stateService.updateDateRange(\"set\", beginDate, endDate);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"monthChart\") chartByMonth: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByMonth = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\tdata.indexOf(\"store\") < 0 &&\r\n\t\t\t\t\tdata.indexOf(\"rm\") < 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByMonth = false;\r\n\r\n\t\t//#region Chart 1\r\n\t\tlet bodyChart1 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyChart1.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\tbodyChart1.filter.requestTypes = [\"Planned\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryMonth(bodyChart1)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedByMonth = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\tlet monthes = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tif (!monthes.includes(month)) {\r\n\t\t\t\t\t\t\t\tmonthes.push(month);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!types.includes(element.overallStatus)) {\r\n\t\t\t\t\t\t\t\ttypes.push(element.overallStatus);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tmonthes.sort();\r\n\t\t\t\t\t\tnewLabels = monthes;\r\n\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\tmonthes.forEach((element2) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\tlabel: element + \" Count\",\r\n\t\t\t\t\t\t\t\tbackgroundColor: this.backgroundColor[i],\r\n\t\t\t\t\t\t\t\thoverBackgroundColor: this.hoverBackgroundColor[i],\r\n\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tvar indexMonth = monthes.indexOf(month);\r\n\t\t\t\t\t\t\tvar indexTypeCount = types.indexOf(element.overallStatus);\r\n\t\t\t\t\t\t\tnewData[indexTypeCount].data[indexMonth] += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfigByMonth.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfigByMonth.data.datasets = newData;\r\n\t\t\t\t\t\tif (this.chartByMonth) {\r\n\t\t\t\t\t\t\tthis.chartByMonth.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Planned Work Orders by Month\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-vendor-performance-status-state\",\r\n\ttemplateUrl: \"./vendor-performance-status-state.component.html\",\r\n})\r\nexport class VendorPerformanceStatusStateComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedInformByState: boolean;\r\n\ttableDataInformByState = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"state\",\r\n\t\t\t\tname: \"State\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"no\",\r\n\t\t\t\tname: \"No\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"yes\",\r\n\t\t\t\tname: \"Yes\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tif (this.whiteLabelService.getSettings.enableFilterState) {\r\n\t\t\t\tfor (var i = 0; i < this.woFiltersService.states.length; i++) {\r\n\t\t\t\t\tif (this.woFiltersService.states[i] === row.state) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedState = [this.woFiltersService.states[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByInformByState.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"woInformTable\") tableByInformByState: DatatableComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedInformByState = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\tdata.indexOf(\"store\") < 0 &&\r\n\t\t\t\t\tdata.indexOf(\"rm\") < 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedInformByState = false;\r\n\r\n\t\t//#region Table 4\r\n\t\tlet bodyTable4 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyTable4.filter.overallStatuses = [\"Completed\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryState(bodyTable4)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet rowId = `${element.state}`;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tstate: element.state,\r\n\t\t\t\t\t\t\t\t\tno: 0,\r\n\t\t\t\t\t\t\t\t\tyes: 0,\r\n\t\t\t\t\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId].no += element.count - element.informUseByVendor;\r\n\t\t\t\t\t\t\tnewTotal[0].value += element.count - element.informUseByVendor;\r\n\t\t\t\t\t\t\tnewData[rowId].yes += element.informUseByVendor;\r\n\t\t\t\t\t\t\tnewTotal[1].value += element.informUseByVendor;\r\n\t\t\t\t\t\t\tnewData[rowId].total += element.count;\r\n\t\t\t\t\t\t\tnewTotal[2].value += element.count;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.tableDataInformByState.total = newTotal;\r\n\t\t\t\t\t\tthis.tableDataInformByState.rows = newDataArray;\r\n\t\t\t\t\t\tthis.loadedInformByState = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by State\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tNo: {{row.no | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tYes: {{row.yes | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: {{row.total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-vendor-performance-status-summary-sgh\",\r\n\ttemplateUrl: \"./vendor-performance-status-summary-sgh.component.html\",\r\n})\r\nexport class VendorPerformanceStatusSummarySghComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedSummary: boolean;\r\n\topenIncident: number = 0;\r\n\topenPlanned: number = 0;\r\n\topenReactive: number = 0;\r\n\topenTotalCost: number = 0;\r\n\tcompletedIncident: number = 0;\r\n\tcompletedPlanned: number = 0;\r\n\tplannedTotal: number = 0;\r\n\tcompletedReactive: number = 0;\r\n\tcompletedTotalCost: number = 0;\r\n\tcompletedPlannedOvertime: number = 0;\r\n\tcompletedPlannedOntime: number = 0;\r\n\topenPlannedOverdue: number = 0;\r\n\tcompletedTotal: number = 0;\r\n\tcompletedOvertime: number = 0;\r\n\tcompletedKpi: number = 0;\r\n\tcompletedRevisits: number = 0;\r\n\tcompletedFirstTimeFix: number = 0;\r\n\r\n\tloadedSummaryOpenRMQuotes: boolean;\r\n\topenRMQuotes: number = 0;\r\n\r\n\tloadedSummaryRejectedRMQuotes: boolean;\r\n\trejectedRMQuotes: number = 0;\r\n\r\n\tloadedSummaryFMUnderReview: boolean;\r\n\tfmUnderReview: number = 0;\r\n\r\n\tloadedSummaryFMRejected: boolean;\r\n\tfmRejected: number = 0;\r\n\r\n\tloadedSummaryMissedKPI: boolean;\r\n\tmissedP1KPI: number = 0;\r\n\tmissedP2KPI: number = 0;\r\n\r\n\tloadedSummaryCompletedNotClaimed: boolean;\r\n\tcompletedNotClaimed: number = 0;\r\n\r\n\tloadedSummaryInformUsaged: boolean;\r\n\tinformUsage: number = 0;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel) + \" Performance Status\");\r\n\t\tthis.loadedSummary = false;\r\n\t\tthis.loadedSummaryOpenRMQuotes = false;\r\n\t\tthis.loadedSummaryRejectedRMQuotes = false;\r\n\t\tthis.loadedSummaryFMUnderReview = false;\r\n\t\tthis.loadedSummaryFMRejected = false;\r\n\t\tthis.loadedSummaryMissedKPI = false;\r\n\t\tthis.loadedSummaryCompletedNotClaimed = false;\r\n\t\tthis.loadedSummaryInformUsaged = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\tdata.indexOf(\"store\") < 0 &&\r\n\t\t\t\t\tdata.indexOf(\"rm\") < 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedSummary = false;\r\n\t\tthis.loadedSummaryOpenRMQuotes = false;\r\n\t\tthis.loadedSummaryRejectedRMQuotes = false;\r\n\t\tthis.loadedSummaryFMUnderReview = false;\r\n\t\tthis.loadedSummaryFMRejected = false;\r\n\t\tthis.loadedSummaryMissedKPI = false;\r\n\t\tthis.loadedSummaryCompletedNotClaimed = false;\r\n\t\tthis.loadedSummaryInformUsaged = false;\r\n\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\t//#region Item 1-8\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestSummary(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.openIncident = 0;\r\n\t\t\t\t\tthis.openPlanned = 0;\r\n\t\t\t\t\tthis.openReactive = 0;\r\n\t\t\t\t\tthis.openTotalCost = 0;\r\n\r\n\t\t\t\t\tthis.completedIncident = 0;\r\n\t\t\t\t\tthis.completedPlanned = 0;\r\n\t\t\t\t\tthis.completedReactive = 0;\r\n\t\t\t\t\tthis.completedTotalCost = 0;\r\n\t\t\t\t\tthis.completedPlannedOvertime = 0;\r\n\t\t\t\t\tthis.completedTotal = 0;\r\n\t\t\t\t\tthis.completedOvertime = 0;\r\n\t\t\t\t\tthis.completedRevisits = 0;\r\n\t\t\t\t\tthis.plannedTotal = 0;\r\n\t\t\t\t\tthis.openPlannedOverdue = 0;\r\n\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tif (element.overallStatus === \"Open\") {\r\n\t\t\t\t\t\t\tif (element.requestType === \"Planned\") {\r\n\t\t\t\t\t\t\t\tthis.openPlanned += element.count;\r\n\t\t\t\t\t\t\t\tthis.plannedTotal += element.count;\r\n\t\t\t\t\t\t\t\tthis.openPlannedOverdue += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Reactive\") {\r\n\t\t\t\t\t\t\t\tthis.openReactive += element.count;\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Incident\") {\r\n\t\t\t\t\t\t\t\tthis.openIncident += element.count;\r\n\t\t\t\t\t\t\t\tthis.openReactive += element.count;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.openTotalCost += element.cost;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (element.requestType === \"Planned\") {\r\n\t\t\t\t\t\t\t\tthis.completedPlanned += element.count;\r\n\t\t\t\t\t\t\t\tthis.plannedTotal += element.count;\r\n\t\t\t\t\t\t\t\tthis.completedPlannedOvertime += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Reactive\") {\r\n\t\t\t\t\t\t\t\tthis.completedReactive += element.count;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Incident\") {\r\n\t\t\t\t\t\t\t\tthis.completedIncident += element.count;\r\n\t\t\t\t\t\t\t\tthis.completedReactive += element.count;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.completedTotal += element.count;\r\n\t\t\t\t\t\t\tthis.completedOvertime += element.resolveKPIFail;\r\n\t\t\t\t\t\t\tthis.completedRevisits += element.revisits;\r\n\t\t\t\t\t\t\tthis.completedTotalCost += element.cost;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.completedPlannedOntime = this.completedPlanned - this.completedPlannedOvertime;\r\n\t\t\t\t\tthis.completedKpi = ((this.completedTotal - this.completedOvertime) / this.completedTotal) * 100;\r\n\t\t\t\t\tthis.completedFirstTimeFix = ((this.completedTotal - this.completedRevisits) / this.completedTotal) * 100;\r\n\t\t\t\t\tthis.loadedSummary = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 9\r\n\t\tlet bodyItem9 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem9.filter.overallStatuses = [\"Open\"];\r\n\t\tbodyItem9.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem9.filter.statusIds = [15];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem9)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.openRMQuotes = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.openRMQuotes += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryOpenRMQuotes = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 10\r\n\t\tlet bodyItem10 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem10.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem10.filter.statusIds = [16];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem10)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.rejectedRMQuotes = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.rejectedRMQuotes += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryRejectedRMQuotes = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 11\r\n\t\tlet bodyItem11 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem11.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem11.filter.statusIds = [21];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem11)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.fmUnderReview = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.fmUnderReview += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryFMUnderReview = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 12\r\n\t\tlet bodyItem12 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem12.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem12.filter.statusIds = [22];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem12)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.fmRejected = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.fmRejected += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryFMRejected = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 13, 14\r\n\t\tlet bodyItem13and14 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem13and14.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(bodyItem13and14)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.missedP1KPI = 0;\r\n\t\t\t\t\t\tthis.missedP2KPI = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.priority) {\r\n\t\t\t\t\t\t\t\tif (element.priority.startsWith(\"P1\")) {\r\n\t\t\t\t\t\t\t\t\tthis.missedP1KPI += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t} else if (element.priority.startsWith(\"P2\")) {\r\n\t\t\t\t\t\t\t\t\tthis.missedP2KPI += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryMissedKPI = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 15\r\n\t\tlet bodyItem15 = this.fillBody(new QueryOptionsModel(), null);\r\n\t\tbodyItem15.filter.statusIds = [4];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem15)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.completedNotClaimed = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.completedNotClaimed += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryCompletedNotClaimed = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 16\r\n\t\tlet bodyItem16 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem16.filter.overallStatuses = [\"Completed\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem16)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.informUsage = 0;\r\n\r\n\t\t\t\t\t\tlet informUseByVendor = 0;\r\n\t\t\t\t\t\tlet count = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tinformUseByVendor += element.informUseByVendor;\r\n\t\t\t\t\t\t\tcount += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.informUsage = count === 0 ? 0 : (100 * informUseByVendor) / count;\r\n\t\t\t\t\t\tthis.loadedSummaryInformUsaged = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{informUsage | number : '1.0-0'}}%Inform Usage
\r\n\t\t\t\t
0}\">\r\n\t\t\t\t\t{{openPlannedOverdue | number}}Open & Overdue PMs
\r\n\t\t\t\t
{{completedPlannedOvertime | number}}Completed Overtime\r\n\t\t\t\t\t\tPMs\r\n\t\t\t\t
\r\n\t\t\t\t
{{openRMQuotes | number}}Open Quotes
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{completedKpi | number : '1.0-0'}}%Overall KPI %
\r\n\t\t\t\t
{{plannedTotal | number}}Raised PMs
\r\n\t\t\t\t
{{completedPlannedOntime | number}}Completed Ontime PMs\r\n\t\t\t\t
\r\n\t\t\t\t
{{completedNotClaimed | number}}Completed Not Claimed
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{completedFirstTimeFix | number : '1.0-0'}}%First Time Fix %\r\n\t\t\t\t
\r\n\t\t\t\t
{{openPlanned | number}}Open PMs
\r\n\t\t\t\t
{{completedPlanned | number}}Completed PMs
\r\n\t\t\t\t
${{openTotalCost | number : '1.0-0'}}Open Cost\r\n\t\t\t\t\t\t(Est.)\r\n\t\t\t\t
\r\n\t\t\t\t
{{missedP1KPI | number}}Missed P1\r\n\t\t\t\t\t\tRespond KPI
\r\n\t\t\t\t
{{openReactive | number}}Open RMs
\r\n\t\t\t\t
{{completedReactive | number}}Completed RMs
\r\n\t\t\t\t
${{completedTotalCost | number : '1.0-0'}}Completed Cost\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t\r\n\t\t\tLoading...\r\n\t\t
\r\n\t\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-vendor-performance-status-summary\",\r\n\ttemplateUrl: \"./vendor-performance-status-summary.component.html\",\r\n})\r\nexport class VendorPerformanceStatusSummaryComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedSummary: boolean;\r\n\topenIncident: number = 0;\r\n\topenPlanned: number = 0;\r\n\topenReactive: number = 0;\r\n\topenTotalCost: number = 0;\r\n\tcompletedIncident: number = 0;\r\n\tcompletedPlanned: number = 0;\r\n\tcompletedReactive: number = 0;\r\n\tcompletedTotalCost: number = 0;\r\n\r\n\tloadedSummaryOpenRMQuotes: boolean;\r\n\topenRMQuotes: number = 0;\r\n\r\n\tloadedSummaryRejectedRMQuotes: boolean;\r\n\trejectedRMQuotes: number = 0;\r\n\r\n\tloadedSummaryFMUnderReview: boolean;\r\n\tfmUnderReview: number = 0;\r\n\r\n\tloadedSummaryFMRejected: boolean;\r\n\tfmRejected: number = 0;\r\n\r\n\tloadedSummaryMissedKPI: boolean;\r\n\tmissedP1KPI: number = 0;\r\n\tmissedP2KPI: number = 0;\r\n\r\n\tloadedSummaryCompletedNotClaimed: boolean;\r\n\tcompletedNotClaimed: number = 0;\r\n\r\n\tloadedSummaryInformUsaged: boolean;\r\n\tinformUsage: number = 0;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel) + \" Performance Status\");\r\n\t\tthis.loadedSummary = false;\r\n\t\tthis.loadedSummaryOpenRMQuotes = false;\r\n\t\tthis.loadedSummaryRejectedRMQuotes = false;\r\n\t\tthis.loadedSummaryFMUnderReview = false;\r\n\t\tthis.loadedSummaryFMRejected = false;\r\n\t\tthis.loadedSummaryMissedKPI = false;\r\n\t\tthis.loadedSummaryCompletedNotClaimed = false;\r\n\t\tthis.loadedSummaryInformUsaged = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\tdata.indexOf(\"store\") < 0 &&\r\n\t\t\t\t\tdata.indexOf(\"rm\") < 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedSummary = false;\r\n\t\tthis.loadedSummaryOpenRMQuotes = false;\r\n\t\tthis.loadedSummaryRejectedRMQuotes = false;\r\n\t\tthis.loadedSummaryFMUnderReview = false;\r\n\t\tthis.loadedSummaryFMRejected = false;\r\n\t\tthis.loadedSummaryMissedKPI = false;\r\n\t\tthis.loadedSummaryCompletedNotClaimed = false;\r\n\t\tthis.loadedSummaryInformUsaged = false;\r\n\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\t//#region Item 1-8\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestSummary(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.openIncident = 0;\r\n\t\t\t\t\tthis.openPlanned = 0;\r\n\t\t\t\t\tthis.openReactive = 0;\r\n\t\t\t\t\tthis.openTotalCost = 0;\r\n\r\n\t\t\t\t\tthis.completedIncident = 0;\r\n\t\t\t\t\tthis.completedPlanned = 0;\r\n\t\t\t\t\tthis.completedReactive = 0;\r\n\t\t\t\t\tthis.completedTotalCost = 0;\r\n\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tif (element.overallStatus === \"Open\") {\r\n\t\t\t\t\t\t\tif (element.requestType === \"Planned\") {\r\n\t\t\t\t\t\t\t\tthis.openPlanned += element.count;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Reactive\") {\r\n\t\t\t\t\t\t\t\tthis.openReactive += element.count;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Incident\") {\r\n\t\t\t\t\t\t\t\tthis.openIncident += element.count;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.openTotalCost += element.cost;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (element.requestType === \"Planned\") {\r\n\t\t\t\t\t\t\t\tthis.completedPlanned += element.count;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Reactive\") {\r\n\t\t\t\t\t\t\t\tthis.completedReactive += element.count;\r\n\t\t\t\t\t\t\t} else if (element.requestType === \"Incident\") {\r\n\t\t\t\t\t\t\t\tthis.completedIncident += element.count;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.completedTotalCost += element.cost;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadedSummary = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 9\r\n\t\tlet bodyItem9 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem9.filter.overallStatuses = [\"Open\"];\r\n\t\tbodyItem9.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem9.filter.statusIds = [15];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem9)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.openRMQuotes = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.openRMQuotes += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryOpenRMQuotes = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 10\r\n\t\tlet bodyItem10 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem10.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem10.filter.statusIds = [16];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem10)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.rejectedRMQuotes = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.rejectedRMQuotes += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryRejectedRMQuotes = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 11\r\n\t\tlet bodyItem11 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem11.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem11.filter.statusIds = [21];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem11)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.fmUnderReview = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.fmUnderReview += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryFMUnderReview = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 12\r\n\t\tlet bodyItem12 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem12.filter.requestTypes = [\"Reactive\"];\r\n\t\tbodyItem12.filter.statusIds = [22];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem12)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.fmRejected = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.fmRejected += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryFMRejected = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 13, 14\r\n\t\tlet bodyItem13and14 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem13and14.filter.overallStatuses = [\"Open\", \"Completed\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(bodyItem13and14)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.missedP1KPI = 0;\r\n\t\t\t\t\t\tthis.missedP2KPI = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.priority) {\r\n\t\t\t\t\t\t\t\tif (element.priority.startsWith(\"P1\")) {\r\n\t\t\t\t\t\t\t\t\tthis.missedP1KPI += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t} else if (element.priority.startsWith(\"P2\")) {\r\n\t\t\t\t\t\t\t\t\tthis.missedP2KPI += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryMissedKPI = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 15\r\n\t\tlet bodyItem15 = this.fillBody(new QueryOptionsModel(), null);\r\n\t\tbodyItem15.filter.statusIds = [4];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem15)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.completedNotClaimed = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tthis.completedNotClaimed += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.loadedSummaryCompletedNotClaimed = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 16\r\n\t\tlet bodyItem16 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyItem16.filter.overallStatuses = [\"Completed\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummary(bodyItem16)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.informUsage = 0;\r\n\r\n\t\t\t\t\t\tlet informUseByVendor = 0;\r\n\t\t\t\t\t\tlet count = 0;\r\n\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tinformUseByVendor += element.informUseByVendor;\r\n\t\t\t\t\t\t\tcount += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.informUsage = count === 0 ? 0 : (100 * informUseByVendor) / count;\r\n\t\t\t\t\t\tthis.loadedSummaryInformUsaged = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{{openReactive | number}}Open Reactive
\r\n\t\t\t\t
{{openIncident | number}}Open Incident
\r\n\t\t\t\t
{{openPlanned | number}}Open Planned
\r\n\t\t\t\t
${{openTotalCost | number : '1.0-0'}}Open Cost (Est.)
\r\n\t\t\t\t
{{completedReactive | number}}Completed Reactive
\r\n\t\t\t\t
{{completedIncident | number}}Completed Incident
\r\n\t\t\t\t
{{completedPlanned | number}}Completed Planned
\r\n\t\t\t\t
${{completedTotalCost | number : '1.0-0'}}Completed Cost
\r\n\t\t\t\t
{{openRMQuotes | number}}Open RM Quotes
\r\n\t\t\t\t
{{rejectedRMQuotes | number}}Rejected RM Quotes
\r\n\t\t\t\t
{{fmUnderReview | number}}FM Under Review
\r\n\t\t\t\t
{{fmRejected | number}}FM Rejected
\r\n\t\t\t\t
{{missedP1KPI | number}}Missed P1 Respond KPI
\r\n\t\t\t\t
{{missedP2KPI | number}}Missed P2 Resolve KPI
\r\n\t\t\t\t
{{completedNotClaimed | number}}Completed Not Claimed
\r\n\t\t\t\t
{{informUsage | number : '1.0-0'}}%Inform Usage
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaFileExport,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { RequestSummaryVendorPivotResponseModel } from '../models/requestSummaryVendorPivotResponseModel';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-vendor-performance-status-vendor-p',\r\n\ttemplateUrl: './vendor-performance-status-vendor-p.component.html'\r\n})\r\nexport class VendorPerformanceStatusVendorPComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByVendorPlanned: boolean;\r\n\ttableDataByVendorPlanned = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Vendor'\r\n\t\t}, {\r\n\t\t\tprop: 'plannedCount',\r\n\t\t\tname: 'Planned Count'\r\n\t\t}, {\r\n\t\t\tprop: 'plannedRespondKPIFail',\r\n\t\t\tname: 'Planned Respond KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'plannedResolveKPIFail',\r\n\t\t\tname: 'Planned Resolve KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'plannedResolveFailPercentage',\r\n\t\t\tname: 'Planned Resolve Fail %'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.vendors.length; i++) {\r\n\t\t\t\tif (this.whiteLabelService.getSettings.enableNewVendorFilter) {\r\n\t\t\t\t\tif (this.woFiltersService.vendorNames[i].name === row.name) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendorNames = [this.woFiltersService.vendorNames[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.woFiltersService.vendors[i].id === row.id) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendor = [this.woFiltersService.vendors[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByVendorPlanned.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('woVendorTablePlanned') tableByVendorPlanned: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate messageService: MessageService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel) + ' Performance Status');\r\n\t\tthis.loadedByVendorPlanned = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.roles$.subscribe(data => {\r\n\t\t\tif (data.length > 0 && data.indexOf('store') < 0 && data.indexOf('rm') < 0) {\r\n\t\t\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByVendorPlanned = false;\r\n\r\n\t\t//#region Table 2\r\n\t\tlet bodyTable2 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyTable2.filter.overallStatuses = ['Open'];\r\n\t\tbodyTable2.filter.requestTypes = ['Planned'];\r\n\t\tbodyTable2 = this.woFiltersService.fillBodyEndDateThisMonth(bodyTable2);\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryVendorPivot(bodyTable2)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tthis.dataExport = data;\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: null\r\n\t\t\t\t\t}];\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.name}--${element.vendorNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\tname: element.subGroupName,\r\n\t\t\t\t\t\t\t\tplannedCount: 0,\r\n\t\t\t\t\t\t\t\tplannedRespondKPIFail: 0,\r\n\t\t\t\t\t\t\t\tplannedResolveKPIFail: 0,\r\n\t\t\t\t\t\t\t\tplannedResolveFailPercentage: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].plannedCount += element.plannedCount;\r\n\t\t\t\t\t\tnewTotal[0].value += element.plannedCount;\r\n\t\t\t\t\t\tnewData[rowId].plannedRespondKPIFail += element.plannedRespondKPIFail;\r\n\t\t\t\t\t\tnewTotal[1].value += element.plannedRespondKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].plannedResolveKPIFail += element.plannedResolveKPIFail;\r\n\t\t\t\t\t\tnewTotal[2].value += element.plannedResolveKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].plannedResolveFailPercentage = (newData[rowId].plannedResolveKPIFail / newData[rowId].plannedCount) * 100;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.tableDataByVendorPlanned.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByVendorPlanned.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByVendorPlanned = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t//#region export CSV\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate dataExport: RequestSummaryVendorPivotResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tlet headers = Object.getOwnPropertyNames(this.dataExport[0]);\r\n\t\theaders = headers.filter(item => !item.startsWith(\"cost\"));\r\n\t\theaders = headers.filter(item => !item.startsWith(\"reactive\"));\r\n\t\theaders = headers.filter(item => !item.startsWith(\"incident\"));\r\n\t\theaders = headers.filter(item => !item.startsWith(\"count\"));\r\n\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\theaders = headers.map((header) =>\r\n\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t);\r\n\t\t\theaders = headers.map((header) =>\r\n\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t);\r\n\t\t}\r\n\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\theaders = headers.map((header) =>\r\n\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t);\r\n\t\t\theaders = headers.map((header) =>\r\n\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t);\r\n\t\t}\r\n\t\tlet options = {\r\n\t\t\tfieldSeparator: \",\",\r\n\t\t\tquoteStrings: '\"',\r\n\t\t\tdecimalseparator: \".\",\r\n\t\t\tshowLabels: true,\r\n\t\t\theaders: headers,\r\n\t\t\tuseHeader: true,\r\n\t\t\tshowTitle: false,\r\n\t\t\ttitle: \"export\",\r\n\t\t\tuseBom: true,\r\n\t\t};\t\t\r\n\t\tnew AngularCsv(this.dataExport, \"export\", options);\r\n\t\tthis.inProgressExportCSV = false;\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFileExport = faFileExport;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by\r\n\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}} (Planned)\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned Count: {{row.plannedCount |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned Respond KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.plannedRespondKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned Resolve KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.plannedResolveKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaFileExport,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { AngularCsv } from \"angular-csv-ext/dist/Angular-csv\";\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport { QueryOptionsPagingModel } from '../models/queryOptionsPagingModel';\r\nimport { RequestSummaryVendorPivotResponseModel } from '../models/requestSummaryVendorPivotResponseModel';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-vendor-performance-status-vendor-ri',\r\n\ttemplateUrl: './vendor-performance-status-vendor-ri.component.html'\r\n})\r\nexport class VendorPerformanceStatusVendorRIComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByVendorReactiveIncident: boolean;\r\n\ttableDataByVendorReactiveIncident = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Vendor'\r\n\t\t}, {\r\n\t\t\tprop: 'reactiveCount',\r\n\t\t\tname: 'Reactive Count'\r\n\t\t}, {\r\n\t\t\tprop: 'reactiveRespondKPIFail',\r\n\t\t\tname: 'Reactive Respond KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'reactiveResolveKPIFail',\r\n\t\t\tname: 'Reactive Resolve KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'incidentCount',\r\n\t\t\tname: 'Incident Count'\r\n\t\t}, {\r\n\t\t\tprop: 'incidentRespondKPIFail',\r\n\t\t\tname: 'Incident Respond KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'incidentResolveKPIFail',\r\n\t\t\tname: 'Incident Resolve KPI Fail'\r\n\t\t}, {\r\n\t\t\tprop: 'reactiveIncidentResolveFailPercentage',\r\n\t\t\tname: 'Resolve Fail %'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.vendors.length; i++) {\r\n\t\t\t\tif (this.whiteLabelService.getSettings.enableNewVendorFilter) {\r\n\t\t\t\t\tif (this.woFiltersService.vendorNames[i].name === row.name) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendorNames = [this.woFiltersService.vendorNames[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.woFiltersService.vendors[i].id === row.id) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendor = [this.woFiltersService.vendors[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByVendorReactiveIncident.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('woVendorTableReactiveIncident') tableByVendorReactiveIncident: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate messageService: MessageService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByVendorReactiveIncident = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.roles$.subscribe(data => {\r\n\t\t\tif (data.length > 0 && data.indexOf('store') < 0 && data.indexOf('rm') < 0) {\r\n\t\t\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByVendorReactiveIncident = false;\r\n\r\n\t\t//#region Table 1\r\n\t\tlet bodyTable1 = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tbodyTable1.filter.overallStatuses = ['Open'];\r\n\t\tbodyTable1.filter.requestTypes = ['Reactive', 'Incident'];\r\n\t\tbodyTable1 = this.woFiltersService.fillBodyEndDateThisMonth(bodyTable1);\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryVendorPivot(bodyTable1)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tthis.dataExport = data;\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: 0\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\tvalue: null\r\n\t\t\t\t\t}];\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.name}--${element.vendorNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\tname: element.subGroupName,\r\n\t\t\t\t\t\t\t\treactiveCount: 0,\r\n\t\t\t\t\t\t\t\treactiveRespondKPIFail: 0,\r\n\t\t\t\t\t\t\t\treactiveResolveKPIFail: 0,\r\n\t\t\t\t\t\t\t\tincidentCount: 0,\r\n\t\t\t\t\t\t\t\tincidentRespondKPIFail: 0,\r\n\t\t\t\t\t\t\t\tincidentResolveKPIFail: 0,\r\n\t\t\t\t\t\t\t\tresolveFailPercentage: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].reactiveCount += element.reactiveCount;\r\n\t\t\t\t\t\tnewTotal[0].value += element.reactiveCount;\r\n\t\t\t\t\t\tnewData[rowId].reactiveRespondKPIFail += element.reactiveRespondKPIFail;\r\n\t\t\t\t\t\tnewTotal[1].value += element.reactiveRespondKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].reactiveResolveKPIFail += element.reactiveResolveKPIFail;\r\n\t\t\t\t\t\tnewTotal[2].value += element.reactiveResolveKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].incidentCount += element.incidentCount;\r\n\t\t\t\t\t\tnewTotal[3].value += element.incidentCount;\r\n\t\t\t\t\t\tnewData[rowId].incidentRespondKPIFail += element.incidentRespondKPIFail;\r\n\t\t\t\t\t\tnewTotal[4].value += element.incidentRespondKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].incidentResolveKPIFail += element.incidentResolveKPIFail;\r\n\t\t\t\t\t\tnewTotal[5].value += element.incidentResolveKPIFail;\r\n\t\t\t\t\t\tnewData[rowId].resolveFailPercentage = (newData[rowId].reactiveResolveKPIFail + newData[rowId].incidentResolveKPIFail) / (newData[rowId].reactiveCount + newData[rowId].incidentCount) * 100;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.tableDataByVendorReactiveIncident.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByVendorReactiveIncident.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByVendorReactiveIncident = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t//#region export CSV\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate dataExport: RequestSummaryVendorPivotResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tlet headers = Object.getOwnPropertyNames(this.dataExport[0]);\r\n\t\theaders = headers.filter(item => !item.startsWith(\"cost\"));\r\n\t\theaders = headers.filter(item => !item.startsWith(\"planned\"));\r\n\t\theaders = headers.filter(item => !item.startsWith(\"count\"));\r\n\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\theaders = headers.map((header) =>\r\n\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t);\r\n\t\t}\r\n\t\tlet options = {\r\n\t\t\tfieldSeparator: \",\",\r\n\t\t\tquoteStrings: '\"',\r\n\t\t\tdecimalseparator: \".\",\r\n\t\t\tshowLabels: true,\r\n\t\t\theaders: headers,\r\n\t\t\tuseHeader: true,\r\n\t\t\tshowTitle: false,\r\n\t\t\ttitle: \"export\",\r\n\t\t\tuseBom: true,\r\n\t\t};\t\t\r\n\t\tnew AngularCsv(this.dataExport, \"export\", options);\r\n\t\tthis.inProgressExportCSV = false;\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFileExport = faFileExport;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by\r\n\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}} (Reactive and\r\n\t\t\tIncident)\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive Count: {{row.reactiveCount |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive Respond KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.reactiveRespondKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive Resolve KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.reactiveResolveKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident Count: {{row.incidentCount |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident Respond KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.incidentRespondKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident Resolve KPI Fail:\r\n\t\t\t\t\t\t\t\t{{row.incidentResolveKPIFail | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\n\r\n@Component({\r\n\tselector: \"app-vendor-performance-status\",\r\n\ttemplateUrl: \"./vendor-performance-status.component.html\",\r\n})\r\nexport class VendorPerformanceStatusComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel) + \" Performance Status\");\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.roles$.subscribe((data) => {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\tdata.indexOf(\"store\") < 0 &&\r\n\t\t\t\t\tdata.indexOf(\"rm\") < 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.loadData();\r\n\t\t\t\t\tthis.subs.add(\r\n\t\t\t\t\t\tthis.stateService.getDateRange.subscribe((value) => {\r\n\t\t\t\t\t\t\tthis.update();\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\treturn this.woFiltersService.fillBody(body, dateRange);\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
0 && (roles$ | async)?.indexOf('store') > -1 || (roles$ | async)?.indexOf('rm') > -1\"\r\n\t\tclass=\"container\">\r\n\t\t
\r\n\t\t\tNot available for current user role.\r\n\t\t
\r\n\t
\r\n\t
-1 || (roles$ | async)?.indexOf('rm') > -1)\" class=\"container\">\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t
\r\n
","import { DecimalPipe } from \"@angular/common\";\r\nimport {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-weekly-status-asset\",\r\n\ttemplateUrl: \"./weekly-status-asset.component.html\",\r\n})\r\nexport class WeeklyStatusAssetComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByAsset: boolean;\r\n\ttableDataByAsset = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Asset Name\",\r\n\t\t\t\theaderClass: \"col-9 col-xl-10\",\r\n\t\t\t\tcellClass: \"col-9 col-xl-10\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"count\",\r\n\t\t\t\tname: \"Count\",\r\n\t\t\t\theaderClass: \"col text-right\",\r\n\t\t\t\tcellClass: \"col text-right\",\r\n\t\t\t\tresizeable: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t\tpipe: new DecimalPipe(\"en-US\"),\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t};\r\n\t@ViewChild(\"woAssetTable\") openWOAssetTable: DatatableComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(updateId: string) {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tlet body = this.woFiltersService.fillBodyWeeklyStatus(\r\n\t\t\tnew QueryOptionsModel()\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryAsset(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tlet newTotal = [0];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tvar rowId = element.name;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\t\tcount: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId][\"count\"] += element.count;\r\n\t\t\t\t\t\t\tnewTotal[0] += element.count;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\tfor (var key in newData) {\r\n\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\tWork Orders by Asset 0\"> - {{woFiltersService.selectedPriority[0]}}\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { faChartColumn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport * as moment from \"moment\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-weekly-status-daily-volume\",\r\n\ttemplateUrl: \"./weekly-status-daily-volume.component.html\",\r\n})\r\nexport class WeeklyStatusDailyVolumeComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByVolume: boolean;\r\n\tchartConfigByVolume = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"labels\"][tooltipItem[0][\"index\"]];\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar total = data[\"datasets\"][0][\"data\"].reduce((a, b) => a + b, 0);\r\n\t\t\t\t\t\t//var total = this._chart.getDatasetMeta(0).total;\r\n\t\t\t\t\t\tvar value = data[\"datasets\"][0][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tvar percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"volumeChart\") chartByVolume: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\r\n\t\tthis.chartConfigByVolume.data.datasets[0].backgroundColor =\r\n\t\t\tthis.backgroundColor;\r\n\t\tthis.chartConfigByVolume.data.datasets[0].hoverBackgroundColor =\r\n\t\t\tthis.hoverBackgroundColor;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadedByVolume = false;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(updateId: string) {\r\n\t\tthis.loadedByVolume = false;\r\n\t\tlet body = this.woFiltersService.fillBodyWeeklyStatus(\r\n\t\t\tnew QueryOptionsModel()\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestSummaryDay(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.loadedByVolume = true;\r\n\t\t\t\t\tlet dates = [];\r\n\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tvar key = `${element.year}-${element.month.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t})}-${element.day.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t})}`;\r\n\t\t\t\t\t\tif (dates.indexOf(key) < 0) {\r\n\t\t\t\t\t\t\tdates.push(key);\r\n\t\t\t\t\t\t\tnewData.push(0);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdates.sort();\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tvar key = `${element.year}-${element.month.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t})}-${element.day.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t})}`;\r\n\t\t\t\t\t\tvar index = dates.indexOf(key);\r\n\t\t\t\t\t\tnewData[index] += element.count;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdates.forEach((element) => {\r\n\t\t\t\t\t\tvar m = moment.utc(element);\r\n\t\t\t\t\t\tnewLabels.push(m.format(\"dddd\"));\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.chartConfigByVolume.data.labels = newLabels;\r\n\t\t\t\t\tthis.chartConfigByVolume.data.datasets[0].data = newData;\r\n\t\t\t\t\tif (this.chartByVolume) {\r\n\t\t\t\t\t\tthis.chartByVolume.chart.update();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Work Order Daily Volume\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { faChartColumn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { DashboardWidgetModel } from \"../models/dashboardWidgetModel\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { RequestSummaryWeekPriorityResponseModel } from \"../models/requestSummaryWeekPriorityResponseModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-weekly-status-kpi-performance\",\r\n\ttemplateUrl: \"./weekly-status-kpi-performance.component.html\",\r\n})\r\nexport class WeeklyStatusKPIPerformanceComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\t@Input() model: DashboardWidgetModel;\r\n\r\n\tloadedKPIPerformance: boolean;\r\n\tchartConfigKPIPerformance = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"right\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}%`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-2\",\r\n\t\t\t\t\t\t// grid line settings\r\n\t\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\t\tdrawOnChartArea: false, // only want the grid lines for one axis to show up\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tvar value =\r\n\t\t\t\t\t\t\tdata[\"datasets\"][tooltipItem.datasetIndex][\"data\"][tooltipItem.index];\r\n\t\t\t\t\t\tif (tooltipItem.datasetIndex > 0) {\r\n\t\t\t\t\t\t\treturn `${value.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t\t})}%`;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn `${value.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t\t})}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"kpiPerformanceChart\") chartKPIPerformance: ChartComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadedKPIPerformance = false;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(updateId: string) {\r\n\t\tthis.loadedKPIPerformance = false;\r\n\t\tlet body = this.woFiltersService.fillBodyWeeklyStatus(\r\n\t\t\tnew QueryOptionsModel()\r\n\t\t);\r\n\t\tvar dateFrom2 = this.woFiltersService\r\n\t\t\t.getDateFromWeeklyStatus()\r\n\t\t\t.subtract(4, \"weeks\");\r\n\t\tif (dateFrom2.isValid()) {\r\n\t\t\tbody.filter.fromDt = dateFrom2.toISOString();\r\n\t\t}\r\n\t\tif (this.model && this.model.filter) {\r\n\t\t\tif (this.model.filter.overallStatuses) {\r\n\t\t\t\tbody.filter.overallStatuses = this.model.filter.overallStatuses; // specified in fillBodyWeeklyStatus\r\n\t\t\t}\r\n\t\t\tif (this.model.filter.states) {\r\n\t\t\t\tbody.filter.states = this.model.filter.states; // specified in fillBodyWeeklyStatus\r\n\t\t\t}\r\n\t\t\tbody.filter.vendorIds = this.model.filter.vendorIds;\r\n\t\t\tbody.filter.storeIds = this.model.filter.storeIds;\r\n\t\t\tbody.filter.assetNames = this.model.filter.assetNames;\r\n\t\t\tbody.filter.assetCategories = this.model.filter.assetCategories;\r\n\t\t\tbody.filter.statuses = this.model.filter.statuses;\r\n\t\t\tbody.filter.statusIds = this.model.filter.statusIds;\r\n\t\t\tif (this.model.filter.requestTypes) {\r\n\t\t\t\tbody.filter.requestTypes = this.model.filter.requestTypes; // specified in fillBodyWeeklyStatus\r\n\t\t\t}\r\n\t\t\tbody.filter.priorities = this.model.filter.priorities;\r\n\t\t\tbody.filter.serviceDeliveryManagers =\r\n\t\t\t\tthis.model.filter.serviceDeliveryManagers;\r\n\t\t\tbody.filter.retailBusinessManagers =\r\n\t\t\t\tthis.model.filter.retailBusinessManagers;\r\n\t\t\tbody.filter.regionalManagers = this.model.filter.regionalManagers;\r\n\t\t\tbody.filter.storeTypes = this.model.filter.storeTypes;\r\n\t\t\tbody.filter.storeProfiles = this.model.filter.storeProfiles;\r\n\t\t\tbody.filter.districtManagers = this.model.filter.districtManagers;\r\n\t\t}\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryWeekPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedKPIPerformance = true;\r\n\t\t\t\t\t\tthis.getRequestSummaryWeekPriorityEvent(\r\n\t\t\t\t\t\t\tdata,\r\n\t\t\t\t\t\t\tthis.chartConfigKPIPerformance,\r\n\t\t\t\t\t\t\tthis.chartKPIPerformance\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetRequestSummaryWeekPriorityEvent(\r\n\t\tdata: RequestSummaryWeekPriorityResponseModel[],\r\n\t\tchartConfig: any,\r\n\t\tchart: ChartComponent\r\n\t) {\r\n\t\tlet newLabels = [];\r\n\t\tlet newData = [];\r\n\t\tlet newTotals = [];\r\n\t\tlet weeks = [];\r\n\t\tdata.forEach((element) => {\r\n\t\t\tvar key = this.woFiltersService.weekToFYWeek(element.year, element.week);\r\n\t\t\tif (!weeks.includes(key)) {\r\n\t\t\t\tweeks.push(key);\r\n\t\t\t}\r\n\t\t});\r\n\t\tweeks.sort();\r\n\t\tvar array = [];\r\n\t\tweeks.forEach((element2) => {\r\n\t\t\tarray.push(0);\r\n\t\t});\r\n\t\tvar colors = this.whiteLabelService.getResponseRectificationColors();\r\n\t\tnewData.push({\r\n\t\t\tlabel: \"Count\",\r\n\t\t\tbackgroundColor: colors.colorsCount[0],\r\n\t\t\thoverBackgroundColor: colors.colorsCount[1],\r\n\t\t\tyAxisID: \"y-axis-2\",\r\n\t\t\tdata: array.slice(),\r\n\t\t\ttype: \"line\",\r\n\t\t\tfill: false,\r\n\t\t\tborderColor: colors.colorsCount[0],\r\n\t\t\tborderWidth: 2,\r\n\t\t});\r\n\t\tnewData.push({\r\n\t\t\tlabel: \"Respond\",\r\n\t\t\tbackgroundColor: colors.colorsResponse[0],\r\n\t\t\thoverBackgroundColor: colors.colorsResponse[1],\r\n\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\tdata: array.slice(),\r\n\t\t});\r\n\t\tnewData.push({\r\n\t\t\tlabel: \"Resolve\",\r\n\t\t\tbackgroundColor: colors.colorsRectification[0],\r\n\t\t\thoverBackgroundColor: colors.colorsRectification[1],\r\n\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\tdata: array.slice(),\r\n\t\t});\r\n\t\tnewTotals.push(array.slice());\r\n\t\tnewTotals.push(array.slice());\r\n\t\tdata.forEach((element) => {\r\n\t\t\tvar key = this.woFiltersService.weekToFYWeek(element.year, element.week);\r\n\t\t\tvar indexWeek = weeks.indexOf(key);\r\n\t\t\tnewData[2].data[indexWeek] += element.count - element.resolveKPIFail;\r\n\t\t\tnewTotals[1][indexWeek] += element.count;\r\n\t\t\tnewData[0].data[indexWeek] += element.count;\r\n\t\t\tif (element.priority === \"P1\") {\r\n\t\t\t\tnewData[1].data[indexWeek] += element.count - element.respondKPIFail;\r\n\t\t\t\tnewTotals[0][indexWeek] += element.count;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (weeks.length > 0) {\r\n\t\t\tfor (var i = 0; i < weeks.length; i++) {\r\n\t\t\t\tnewData[1].data[i] =\r\n\t\t\t\t\tnewTotals[0][i] == 0 ? 0 : (100 * newData[1].data[i]) / newTotals[0][i];\r\n\t\t\t\tnewData[2].data[i] =\r\n\t\t\t\t\tnewTotals[1][i] == 0 ? 0 : (100 * newData[2].data[i]) / newTotals[1][i];\r\n\t\t\t}\r\n\t\t\tvar value0 =\r\n\t\t\t\tnewData[0].data.reduce(function (a, b) {\r\n\t\t\t\t\treturn a + b;\r\n\t\t\t\t}, 0) / newData[0].data.length;\r\n\t\t\tvar value1 =\r\n\t\t\t\tnewData[1].data.reduce(function (a, b) {\r\n\t\t\t\t\treturn a + b;\r\n\t\t\t\t}, 0) / newData[1].data.length;\r\n\t\t\tvar value2 =\r\n\t\t\t\tnewData[2].data.reduce(function (a, b) {\r\n\t\t\t\t\treturn a + b;\r\n\t\t\t\t}, 0) / newData[2].data.length;\r\n\t\t\tnewData[0].data.push(value0);\r\n\t\t\tnewData[1].data.push(value1);\r\n\t\t\tnewData[2].data.push(value2);\r\n\t\t\tweeks.push(\"AVG\");\r\n\t\t}\r\n\t\tnewLabels = weeks;\r\n\t\tchartConfig.data.labels = newLabels;\r\n\t\tchartConfig.data.datasets = newData;\r\n\t\tif (chart) {\r\n\t\t\tchart.chart.update();\r\n\t\t}\r\n\r\n\t\tthis.ref.detectChanges();\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t {{model.title}}\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tWhiteLabelService\r\n} from '../../services/white-label.service';\r\nimport {\r\n\tDecimalPipe\r\n} from '@angular/common';\r\nimport {\r\n\tMessageService\r\n} from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'app-weekly-status-top',\r\n\ttemplateUrl: './weekly-status-top.component.html'\r\n})\r\nexport class WeeklyStatusTopComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedTop5Vendor: boolean;\r\n\ttableDataTop5Vendor = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Vendor Name',\r\n\t\t\theaderClass: 'col-5',\r\n\t\t\tcellClass: 'col-5',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false\r\n\t\t}, {\r\n\t\t\tprop: 'count',\r\n\t\t\tname: 'Count',\r\n\t\t\theaderClass: 'col text-right',\r\n\t\t\tcellClass: 'col text-right',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}]\r\n\t};\r\n\r\n\tloadedTop5Store: boolean;\r\n\ttableDataTop5Store = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Store Name',\r\n\t\t\theaderClass: 'col-5',\r\n\t\t\tcellClass: 'col-5',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false\r\n\t\t}, {\r\n\t\t\tprop: 'count',\r\n\t\t\tname: 'Count',\r\n\t\t\theaderClass: 'col text-right',\r\n\t\t\tcellClass: 'col text-right',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}]\r\n\t};\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadedTop5Vendor = false;\r\n\t\tthis.loadedTop5Store = false;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(value);\r\n\t\t}));\r\n\t}\r\n\r\n\tupdate(updateId: string) {\r\n\t\tthis.loadedTop5Vendor = false;\r\n\t\tthis.loadedTop5Store = false;\r\n\t\tlet body = this.woFiltersService.fillBodyWeeklyStatus(new QueryOptionsModel());\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryVendor(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tvar rowId = `${element.name}--${element.vendorNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\tcount: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId].count += element.count;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (var key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewDataArray.sort(function (a, b) {\r\n\t\t\t\t\t\treturn b.count - a.count;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (newDataArray.length > 5) {\r\n\t\t\t\t\t\tnewDataArray.splice(5, newDataArray.length - 5);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataTop5Vendor.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedTop5Vendor = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\r\n\t\tthis.loadedTop5Store = true;\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryEntity(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [];\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tvar rowId = `${element.name}--${element.storeNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\tcount: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId][element.requestType] += element.count;\r\n\t\t\t\t\t\tnewData[rowId].count += element.count;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (var key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewDataArray.sort(function (a, b) {\r\n\t\t\t\t\t\treturn b.count - a.count;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (newDataArray.length > 5) {\r\n\t\t\t\t\t\tnewDataArray.splice(5, newDataArray.length - 5);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataTop5Store.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedTop5Store = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Top 5 Vendors and Stores\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
{{column.name}}
{{i == 1 ? (row[column.prop] == undefined ? '' : row[column.prop] | number) : (row[column.prop] == undefined ? '' : row[column.prop])}}
No data to display
\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
{{column.name}}
{{i == 1 ? (row[column.prop] == undefined ? '' : row[column.prop] | number) : (row[column.prop] == undefined ? '' : row[column.prop])}}
No data to display
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { faChartColumn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-weekly-status-volume-priority\",\r\n\ttemplateUrl: \"./weekly-status-volume-priority.component.html\",\r\n})\r\nexport class WeeklyStatusVolumePriorityComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByPriority: boolean;\r\n\tchartConfigByPriority = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"labels\"][tooltipItem[0][\"index\"]];\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar total = data[\"datasets\"][0][\"data\"].reduce((a, b) => a + b, 0);\r\n\t\t\t\t\t\t//var total = this._chart.getDatasetMeta(0).total;\r\n\t\t\t\t\t\tvar value = data[\"datasets\"][0][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tvar percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByPriority.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tvar value = activePoints[0]._model.label;\r\n\t\t\t\t\tif (value && value !== \"null\") {\r\n\t\t\t\t\t\tthis.woFiltersService.selectedPriority = [value];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"priorityChart\") chartByPriority: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\r\n\t\tthis.chartConfigByPriority.data.datasets[0].backgroundColor =\r\n\t\t\tthis.backgroundColor;\r\n\t\tthis.chartConfigByPriority.data.datasets[0].hoverBackgroundColor =\r\n\t\t\tthis.hoverBackgroundColor;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(updateId: string) {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tlet body = this.woFiltersService.fillBodyWeeklyStatus(\r\n\t\t\tnew QueryOptionsModel()\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryWeekPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedByPriority = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (newLabels.indexOf(element.priority) < 0) {\r\n\t\t\t\t\t\t\t\tnewLabels.push(element.priority);\r\n\t\t\t\t\t\t\t\tnewData.push(0);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewLabels.sort();\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tvar index = newLabels.indexOf(element.priority);\r\n\t\t\t\t\t\t\tnewData[index] += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.datasets[0].data = newData;\r\n\t\t\t\t\t\tif (this.chartByPriority) {\r\n\t\t\t\t\t\t\tthis.chartByPriority.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Work Orders Volume by Priority\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tCdkDragDrop,\r\n\tmoveItemInArray,\r\n\ttransferArrayItem,\r\n} from \"@angular/cdk/drag-drop\";\r\nimport {\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tQueryList,\r\n\tViewChild,\r\n\tViewChildren,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowDown,\r\n\tfaArrowsAlt,\r\n\tfaArrowUp,\r\n\tfaCaretDown,\r\n\tfaEdit,\r\n\tfaFileDownload,\r\n\tfaFilePdf,\r\n\tfaPlusSquare,\r\n\tfaSave,\r\n\tfaTrashAlt,\r\n\tfaUndo,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { DashboardRowModel } from \"../models/dashboardRowModel\";\r\nimport { DashboardWidgetModel } from \"../models/dashboardWidgetModel\";\r\nimport { FilterLight } from \"../models/filterLight\";\r\nimport { ReportWeeklyStatusModel } from \"../models/reportWeeklyStatusModel\";\r\nimport { DashboardService } from \"../services/dashboard.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\nimport { WeeklyStatusAssetComponent } from \"../weekly-status-asset/weekly-status-asset.component\";\r\nimport { WeeklyStatusDailyVolumeComponent } from \"../weekly-status-daily-volume/weekly-status-daily-volume.component\";\r\nimport { WeeklyStatusKPIPerformanceComponent } from \"../weekly-status-kpi-performance/weekly-status-kpi-performance.component\";\r\nimport { WeeklyStatusTopComponent } from \"../weekly-status-top/weekly-status-top.component\";\r\nimport { WeeklyStatusVolumePriorityComponent } from \"../weekly-status-volume-priority/weekly-status-volume-priority.component\";\r\n\r\n@Component({\r\n\tselector: \"app-weekly-status\",\r\n\ttemplateUrl: \"./weekly-status.component.html\",\r\n})\r\nexport class WeeklyStatusComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tpublic kpiRows: DashboardRowModel[];\r\n\r\n\tpublic isCollapsed = true;\r\n\r\n\tpublic inProgressPdf = false;\r\n\r\n\tpublic comment = \"\";\r\n\r\n\t@ViewChild(\"WeeklyStatusVolumePriority\")\r\n\tweeklyStatusVolumePriorityComponent: WeeklyStatusVolumePriorityComponent;\r\n\t@ViewChild(\"WeeklyStatusAsset\")\r\n\tweeklyStatusAssetComponent: WeeklyStatusAssetComponent;\r\n\t@ViewChild(\"WeeklyStatusDailyVolume\")\r\n\tweeklyStatusDailyVolumeComponent: WeeklyStatusDailyVolumeComponent;\r\n\t@ViewChild(\"WeeklyStatusTop\")\r\n\tweeklyStatusTopComponent: WeeklyStatusTopComponent;\r\n\t@ViewChildren(\"WeeklyStatusKPIPerformance\")\r\n\tkpiPerformanceComponents: QueryList;\r\n\r\n\tgeneratePdf() {\r\n\t\tthis.inProgressPdf = true;\r\n\t\tvar model = new ReportWeeklyStatusModel();\r\n\t\tmodel.BodyClass = this.whiteLabelService.getWhiteLabel;\r\n\t\tmodel.Comment = this.comment;\r\n\t\tmodel.Year = this.woFiltersService.selectedYear;\r\n\t\tmodel.Week = this.woFiltersService.selectedWeek;\r\n\t\tmodel.State = this.woFiltersService.selectedState;\r\n\t\tmodel.Priority =\r\n\t\t\tthis.woFiltersService.selectedPriority &&\r\n\t\t\tthis.woFiltersService.selectedPriority.length > 0\r\n\t\t\t\t? this.woFiltersService.selectedPriority[0]\r\n\t\t\t\t: \"\";\r\n\t\tmodel.ChartConfigByPriorityLabels =\r\n\t\t\tthis.weeklyStatusVolumePriorityComponent.chartConfigByPriority.data.labels;\r\n\t\tmodel.ChartConfigByPriorityValues =\r\n\t\t\tthis.weeklyStatusVolumePriorityComponent.chartConfigByPriority.data.datasets[0].data;\r\n\t\tmodel.TableAssetData = this.weeklyStatusAssetComponent.tableDataByAsset.rows;\r\n\t\tmodel.ChartsConfigKPIPerformance = [];\r\n\t\tthis.kpiPerformanceComponents.forEach((child) => {\r\n\t\t\tmodel.ChartsConfigKPIPerformance.push({\r\n\t\t\t\tTitle: child.model.title,\r\n\t\t\t\tLabels: child.chartConfigKPIPerformance.data.labels,\r\n\t\t\t\tValues: [\r\n\t\t\t\t\tchild.chartConfigKPIPerformance.data.datasets[0].data,\r\n\t\t\t\t\tchild.chartConfigKPIPerformance.data.datasets[1].data,\r\n\t\t\t\t\tchild.chartConfigKPIPerformance.data.datasets[2].data,\r\n\t\t\t\t],\r\n\t\t\t});\r\n\t\t});\r\n\t\tmodel.ChartConfigByVolumeLabels =\r\n\t\t\tthis.weeklyStatusDailyVolumeComponent.chartConfigByVolume.data.labels;\r\n\t\tmodel.ChartConfigByVolumeValues =\r\n\t\t\tthis.weeklyStatusDailyVolumeComponent.chartConfigByVolume.data.datasets[0].data;\r\n\t\tmodel.TableVendorsData =\r\n\t\t\tthis.weeklyStatusTopComponent.tableDataTop5Vendor.rows;\r\n\t\tmodel.TableStoresData = this.weeklyStatusTopComponent.tableDataTop5Store.rows;\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getWeeklyStatusPdf(model).subscribe((res) => {\r\n\t\t\t\tthis.inProgressPdf = false;\r\n\t\t\t\tif (res && res.ok) {\r\n\t\t\t\t\tconst blob = new Blob([res.body], {\r\n\t\t\t\t\t\ttype: res.headers.get(\"Content-Type\"),\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst contentDispositionHeader = res.headers.get(\"Content-Disposition\");\r\n\t\t\t\t\tif (contentDispositionHeader !== null) {\r\n\t\t\t\t\t\tconst contentDispositionHeaderResult = contentDispositionHeader\r\n\t\t\t\t\t\t\t.split(\";\")[1]\r\n\t\t\t\t\t\t\t.trim()\r\n\t\t\t\t\t\t\t.split(\"=\")[1];\r\n\t\t\t\t\t\tconst contentDispositionFileName = contentDispositionHeaderResult.replace(\r\n\t\t\t\t\t\t\t/\"/g,\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif ((window.navigator as any).msSaveOrOpenBlob) {\r\n\t\t\t\t\t\t\t(window.navigator as any).msSaveBlob(blob, contentDispositionFileName);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst downloadlink = document.createElement(\"a\");\r\n\t\t\t\t\t\t\tdownloadlink.href = window.URL.createObjectURL(blob);\r\n\t\t\t\t\t\t\tdownloadlink.download = contentDispositionFileName;\r\n\t\t\t\t\t\t\tdownloadlink.click();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.messageService.error(\"Error\", \"Can't generate pdf\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tisDashboardReady: boolean = false;\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService,\r\n\t\tprivate dashboardService: DashboardService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\"Weekly Status\");\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tif (\r\n\t\t\tthis.woFiltersService.selectedPriority &&\r\n\t\t\tthis.woFiltersService.selectedPriority.length > 1\r\n\t\t) {\r\n\t\t\tthis.woFiltersService.selectedPriority = [];\r\n\t\t}\r\n\r\n\t\t// default dashboard layout\r\n\t\t// this.kpiRows = JSON.parse('[{\"widgets\":[{\"title\":\"KPI Performance - 5 week trend\",\"filter\":{}}]},{\"widgets\":[{\"title\":\"Coffee KPI performance - 5 week trend\",\"filter\":{\"assetNames\":[\"Coffee Machine\",\"Coffee Machine - Under Warranty\",\"Coffee Machine Milk Refrigerator\"]}},{\"title\":\"Fuel KPI Performance - 5 week trend\",\"filter\":{\"assetCategories\":[\"Fuel Systems\"]}}]},{\"widgets\":[{\"title\":\"HVAC KPI Performance - 5 week trend\",\"filter\":{\"assetCategories\":[\"Air Conditioning\"]}},{\"title\":\"Slurpee KPI performance - 5 week trend\",\"filter\":{\"assetNames\":[\"Slurpee Machine\"]}}]}]');\r\n\t\tthis.dashboardService.getDashboard().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.kpiRows = data;\r\n\t\t\t} else {\r\n\t\t\t\tthis.kpiRows = [];\r\n\t\t\t}\r\n\t\t\tthis.isDashboardReady = true;\r\n\t\t});\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tthis.stateService.getDateRange.subscribe((value) => {\r\n\t\t\t\tthis.update();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\tisEdit: boolean = false;\r\n\tdashboardBackup: string = \"\";\r\n\r\n\teditDashboard() {\r\n\t\tthis.dashboardBackup = JSON.stringify(this.kpiRows);\r\n\t\tthis.isEdit = true;\r\n\t}\r\n\r\n\tcancelEditDashboard() {\r\n\t\tthis.kpiRows = JSON.parse(this.dashboardBackup);\r\n\t\tthis.isEdit = false;\r\n\t}\r\n\r\n\tinProgressSaveDashboard: boolean = false;\r\n\r\n\tsaveDashboard() {\r\n\t\tthis.inProgressSaveDashboard = true;\r\n\t\tthis.dashboardService.saveDashboard(this.kpiRows).subscribe((value) => {\r\n\t\t\tthis.messageService.success(\"Dashboard\", \"Changes saved.\");\r\n\t\t\tthis.isEdit = false;\r\n\t\t\tthis.inProgressSaveDashboard = false;\r\n\t\t});\r\n\t}\r\n\r\n\tmoveElement(event: CdkDragDrop) {\r\n\t\tif (event.previousContainer === event.container) {\r\n\t\t\tmoveItemInArray(\r\n\t\t\t\tevent.container.data,\r\n\t\t\t\tevent.previousIndex,\r\n\t\t\t\tevent.currentIndex\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\ttransferArrayItem(\r\n\t\t\t\tevent.previousContainer.data,\r\n\t\t\t\tevent.container.data,\r\n\t\t\t\tevent.previousIndex,\r\n\t\t\t\tevent.currentIndex\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tmoveRowUp(row: DashboardRowModel) {\r\n\t\tlet fromIndex = this.kpiRows.indexOf(row);\r\n\t\tif (fromIndex > 0) {\r\n\t\t\tlet toIndex = fromIndex - 1;\r\n\t\t\tvar element = this.kpiRows[fromIndex];\r\n\t\t\tthis.kpiRows.splice(fromIndex, 1);\r\n\t\t\tthis.kpiRows.splice(toIndex, 0, element);\r\n\t\t}\r\n\t}\r\n\r\n\tmoveRowDown(row: DashboardRowModel) {\r\n\t\tlet fromIndex = this.kpiRows.indexOf(row);\r\n\t\tif (fromIndex < this.kpiRows.length - 1) {\r\n\t\t\tlet toIndex = fromIndex + 1;\r\n\t\t\tvar element = this.kpiRows[fromIndex];\r\n\t\t\tthis.kpiRows.splice(fromIndex, 1);\r\n\t\t\tthis.kpiRows.splice(toIndex, 0, element);\r\n\t\t}\r\n\t}\r\n\r\n\taddRow() {\r\n\t\tlet row = new DashboardRowModel();\r\n\t\trow.widgets = [];\r\n\t\tlet widget = new DashboardWidgetModel();\r\n\t\twidget.title = \"New Widget\";\r\n\t\twidget.filter = new FilterLight();\r\n\t\trow.widgets.push(widget);\r\n\t\tthis.kpiRows.push(row);\r\n\t}\r\n\r\n\tdeleteRow(row: DashboardRowModel) {\r\n\t\tlet fromIndex = this.kpiRows.indexOf(row);\r\n\t\tif (fromIndex >= 0) {\r\n\t\t\tthis.kpiRows.splice(fromIndex, 1);\r\n\t\t}\r\n\t}\r\n\r\n\taddWidget(row: DashboardRowModel) {\r\n\t\tlet widget = new DashboardWidgetModel();\r\n\t\twidget.title = \"New Widget\";\r\n\t\twidget.filter = new FilterLight();\r\n\t\trow.widgets.push(widget);\r\n\t}\r\n\r\n\tdeleteWidget(row: DashboardRowModel, widget: DashboardWidgetModel) {\r\n\t\tlet fromIndex = row.widgets.indexOf(widget);\r\n\t\tif (fromIndex >= 0) {\r\n\t\t\trow.widgets.splice(fromIndex, 1);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaCaretDown = faCaretDown;\r\n\tfaFilePdf = faFilePdf;\r\n\tfaFileDownload = faFileDownload;\r\n\tfaEdit = faEdit;\r\n\tfaSave = faSave;\r\n\tfaArrowsAlt = faArrowsAlt;\r\n\tfaArrowUp = faArrowUp;\r\n\tfaArrowDown = faArrowDown;\r\n\tfaTrashAlt = faTrashAlt;\r\n\tfaPlusSquare = faPlusSquare;\r\n\tfaUndo = faUndo;\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\tNot available.\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\r\n\t\t\t\t
-1 && isDashboardReady\" class=\"edit-mode-btns\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
1 && (kpiRow.widgets.length % 2 === 0 || i < kpiRow.widgets.length - 1)}\">\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tRow\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
Drop here
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t Widget\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\r\nimport { faChartColumn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { JsonEditorComponent, JsonEditorOptions } from \"@maaxgr/ang-jsoneditor\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DashboardWidgetModel } from \"../models/dashboardWidgetModel\";\r\nimport { FilterLight } from \"../models/filterLight\";\r\n\r\n@Component({\r\n\tselector: \"app-widget-config\",\r\n\ttemplateUrl: \"./widget-config.component.html\",\r\n})\r\nexport class WidgetConfigComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\t@Input() model: DashboardWidgetModel;\r\n\tfilterEditable: FilterLight;\r\n\r\n\tpublic editorOptions: JsonEditorOptions;\r\n\tpublic data: any;\r\n\t@ViewChild(JsonEditorComponent) editor: JsonEditorComponent;\r\n\r\n\tconstructor() {\r\n\t\tthis.editorOptions = new JsonEditorOptions();\r\n\t\tthis.editorOptions.modes = [\"code\", \"text\", \"tree\", \"view\"];\r\n\t\tthis.editorOptions.mode = \"code\";\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.filterEditable = this.model.filter;\r\n\t}\r\n\r\n\tchangeFilter(event = null) {\r\n\t\tif (this.editor.isValidJson) {\r\n\t\t\tlet temp: FilterLight = JSON.parse(this.editor.getText());\r\n\t\t\tthis.model.filter = temp;\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t \r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-asset\",\r\n\ttemplateUrl: \"./work-orders-completed-asset.component.html\",\r\n})\r\nexport class WorkOrdersCompletedAssetComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tloadedByAsset: boolean;\r\n\ttableDataByAsset = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Asset Category\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Work Orders\",\r\n\t\t\t\tname: \"Work Orders\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of RM\",\r\n\t\t\t\tname: \"Cost of RM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of PM\",\r\n\t\t\t\tname: \"Cost of PM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.assetNames[i] === row.assetName) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedAssetName = [\r\n\t\t\t\t\t\tthis.woFiltersService.assetNames[i],\r\n\t\t\t\t\t];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByAsset.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"woAssetTable\") tableByAsset: DatatableComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Table 2\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryAsset(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col col-xl-2 text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tname: rowId,\r\n\t\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\t\tcount: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewRow[\"Work Orders\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of RM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of PM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Total\"] = 0;\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId][\"Work Orders\"] += element.count;\r\n\t\t\t\t\t\t\tnewTotal[0].value += element.count;\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of RM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[1].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of PM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[2].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by Asset Category\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tWork Orders: {{row['Work Orders'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of RM: ${{row['Cost of RM'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of PM: ${{row['Cost of PM'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: ${{row.Total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-month\",\r\n\ttemplateUrl: \"./work-orders-completed-month.component.html\",\r\n})\r\nexport class WorkOrdersCompletedMonthComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByMonth: boolean;\r\n\tchartConfigByMonth = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"right\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-2\",\r\n\t\t\t\t\t\t// grid line settings\r\n\t\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\t\tdrawOnChartArea: false, // only want the grid lines for one axis to show up\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tif (data.datasets[tooltipItem.datasetIndex].label.endsWith(\"Cost\")) {\r\n\t\t\t\t\t\t\treturn `\\$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn `${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"monthChart\") chartByMonth: ChartComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByMonth = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByMonth = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Chart 3\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryStateMonth(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedByMonth = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\tlet monthes = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tif (!monthes.includes(month)) {\r\n\t\t\t\t\t\t\t\tmonthes.push(month);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!types.includes(element.requestType)) {\r\n\t\t\t\t\t\t\t\ttypes.push(element.requestType);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tmonthes.sort();\r\n\t\t\t\t\t\tnewLabels = monthes;\r\n\t\t\t\t\t\tlet array = [];\r\n\t\t\t\t\t\tmonthes.forEach((element2) => {\r\n\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet colors = this.whiteLabelService.getIncidentPlannedReactiveColors();\r\n\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\tlabel: element + \" Cost\",\r\n\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColorCost,\r\n\t\t\t\t\t\t\t\tyAxisID: \"y-axis-2\",\r\n\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\ttype: \"line\",\r\n\t\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\t\tborderColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\tborderWidth: 2,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\tlabel: element + \" Count\",\r\n\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet month =\r\n\t\t\t\t\t\t\t\telement.year +\r\n\t\t\t\t\t\t\t\t\"/\" +\r\n\t\t\t\t\t\t\t\telement.month.toLocaleString(\"en-US\", {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t\tuseGrouping: false,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet indexMonth = monthes.indexOf(month);\r\n\t\t\t\t\t\t\tlet indexTypeCount = types.indexOf(element.requestType) + types.length;\r\n\t\t\t\t\t\t\tlet indexTypeCost = types.indexOf(element.requestType);\r\n\t\t\t\t\t\t\tnewData[indexTypeCount].data[indexMonth] += element.count;\r\n\t\t\t\t\t\t\tnewData[indexTypeCost].data[indexMonth] += element.cost;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfigByMonth.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfigByMonth.data.datasets = newData;\r\n\t\t\t\t\t\tif (this.chartByMonth) {\r\n\t\t\t\t\t\t\tthis.chartByMonth.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by Month\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-priority\",\r\n\ttemplateUrl: \"./work-orders-completed-priority.component.html\",\r\n})\r\nexport class WorkOrdersCompletedPriorityComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByPriority: boolean;\r\n\ttotalByPriority: number;\r\n\tchartConfigByPriority = {\r\n\t\ttype: \"pie\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t\tonClick: (e, legendItem) => {\r\n\t\t\t\t\tvar ci = this.chartByPriority.chart;\r\n\t\t\t\t\tvar meta = ci.getDatasetMeta(0);\r\n\t\t\t\t\tvar index = legendItem.index;\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t\tci.update();\r\n\r\n\t\t\t\t\tvar total = meta.total;\r\n\t\t\t\t\tthis.totalByPriority = total;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"labels\"][tooltipItem[0][\"index\"]];\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\t//var total = data['datasets'][0]['data'].reduce((a, b) => a + b, 0);\r\n\t\t\t\t\t\tvar total = this._chart.getDatasetMeta(0).total;\r\n\t\t\t\t\t\tvar value = data[\"datasets\"][0][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tvar percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByPriority.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tvar value = activePoints[0]._model.label;\r\n\t\t\t\t\tif (value && value !== \"null\") {\r\n\t\t\t\t\t\tthis.woFiltersService.selectedPriority = [value];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"priorityChart\") chartByPriority: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\r\n\t\tthis.chartConfigByPriority.data.datasets[0].backgroundColor =\r\n\t\t\tthis.backgroundColor;\r\n\t\tthis.chartConfigByPriority.data.datasets[0].hoverBackgroundColor =\r\n\t\t\tthis.hoverBackgroundColor;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Chart 1\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.totalByPriority = 0;\r\n\t\t\t\t\t\tthis.loadedByPriority = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tnewLabels.push(element.priority);\r\n\t\t\t\t\t\t\tnewData.push(element.count);\r\n\t\t\t\t\t\t\tthis.totalByPriority += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.datasets[0].data = newData;\r\n\t\t\t\t\t\tif (this.chartByPriority) {\r\n\t\t\t\t\t\t\tthis.chartByPriority.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by Priority\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
Total: {{ totalByPriority | number }}
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-resolve\",\r\n\ttemplateUrl: \"./work-orders-completed-resolve.component.html\",\r\n})\r\nexport class WorkOrdersCompletedResolveComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByPriority: boolean;\r\n\tpriorityLabel: string = \"\";\r\n\tchartDataByResolve = [[], []];\r\n\tchartConfigByResolve = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${(label * 100).toLocaleString()}\\%`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data.datasets[tooltipItem[0].datasetIndex].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tvar original =\r\n\t\t\t\t\t\t\tthis.chartDataByResolve[tooltipItem.datasetIndex][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\treturn `${original.toLocaleString()} (${(\r\n\t\t\t\t\t\t\tdata.datasets[tooltipItem.datasetIndex].data[tooltipItem[\"index\"]] * 100\r\n\t\t\t\t\t\t).toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"resolveChart\") chartByResolve: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Chart 4\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedByPriority = true;\r\n\t\t\t\t\t\tlet acceptablePrioritiesStr =\r\n\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.resolveKPIPriorities;\r\n\t\t\t\t\t\tlet acceptablePriorities = acceptablePrioritiesStr.split(\",\");\r\n\t\t\t\t\t\tlet newLabelsResolve = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet indexResolve = newLabelsResolve.indexOf(element.priority);\r\n\t\t\t\t\t\t\tif (indexResolve < 0) {\r\n\t\t\t\t\t\t\t\tlet isAcceptable = false;\r\n\t\t\t\t\t\t\t\tacceptablePriorities.forEach((priority) => {\r\n\t\t\t\t\t\t\t\t\tif (element.priority.startsWith(priority)) {\r\n\t\t\t\t\t\t\t\t\t\tisAcceptable = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tif (isAcceptable) {\r\n\t\t\t\t\t\t\t\t\tnewLabelsResolve.push(element.priority);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewLabelsResolve.sort();\r\n\t\t\t\t\t\tlet valuesTemplate = [];\r\n\t\t\t\t\t\tnewLabelsResolve.forEach((element) => {\r\n\t\t\t\t\t\t\tvaluesTemplate.push(0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet newDataResolve = [];\r\n\t\t\t\t\t\tlet newDataResolveOriginal = [\r\n\t\t\t\t\t\t\tvaluesTemplate.slice(),\r\n\t\t\t\t\t\t\tvaluesTemplate.slice(),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\tlet datasources = [\"Fail\", \"Pass\"];\r\n\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailPassColors();\r\n\t\t\t\t\t\tdatasources.forEach((element) => {\r\n\t\t\t\t\t\t\tnewDataResolve.push({\r\n\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\tbackgroundColor: colors.colorsResolve[i],\r\n\t\t\t\t\t\t\t\thoverBackgroundColor: colors.colorsHoverResolve[i],\r\n\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\tdata: valuesTemplate.slice(),\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet indexResolve = newLabelsResolve.indexOf(element.priority);\r\n\t\t\t\t\t\t\tif (indexResolve > -1) {\r\n\t\t\t\t\t\t\t\tnewDataResolve[0].data[indexResolve] +=\r\n\t\t\t\t\t\t\t\t\telement.resolveKPIFail / element.count;\r\n\t\t\t\t\t\t\t\tnewDataResolve[1].data[indexResolve] +=\r\n\t\t\t\t\t\t\t\t\t(element.count - element.resolveKPIFail) / element.count;\r\n\t\t\t\t\t\t\t\tnewDataResolveOriginal[0][indexResolve] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\tnewDataResolveOriginal[1][indexResolve] +=\r\n\t\t\t\t\t\t\t\t\telement.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet priorityNumbers = [];\r\n\t\t\t\t\t\tacceptablePriorities.forEach((element) => {\r\n\t\t\t\t\t\t\tpriorityNumbers.push(parseInt(element.replace(/\\D/g, \"\")));\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tpriorityNumbers.sort();\r\n\t\t\t\t\t\tlet solidPriorities = priorityNumbers.length > 1;\r\n\t\t\t\t\t\tif (solidPriorities) {\r\n\t\t\t\t\t\t\tlet previousValue = priorityNumbers[0];\r\n\t\t\t\t\t\t\tfor (let i = 1; i < priorityNumbers.length; i++) {\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tpreviousValue + 1 !== priorityNumbers[i] &&\r\n\t\t\t\t\t\t\t\t\tpreviousValue !== priorityNumbers[i]\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tsolidPriorities = false;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tpreviousValue = priorityNumbers[i];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (solidPriorities) {\r\n\t\t\t\t\t\t\tlet priorityLabel = `${acceptablePriorities[0]}-${\r\n\t\t\t\t\t\t\t\tacceptablePriorities[acceptablePriorities.length - 1]\r\n\t\t\t\t\t\t\t}`;\r\n\t\t\t\t\t\t\tthis.priorityLabel = priorityLabel;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlet priorityLabel = newLabelsResolve.join(\", \");\r\n\t\t\t\t\t\t\tif (priorityLabel) {\r\n\t\t\t\t\t\t\t\tthis.priorityLabel = priorityLabel;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.priorityLabel = \"\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.chartConfigByResolve.data.labels = newLabelsResolve;\r\n\t\t\t\t\t\tthis.chartConfigByResolve.data.datasets = newDataResolve;\r\n\t\t\t\t\t\tthis.chartDataByResolve = newDataResolveOriginal;\r\n\t\t\t\t\t\tif (this.chartByResolve) {\r\n\t\t\t\t\t\t\tthis.chartByResolve.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Resolve KPI % ({{priorityLabel}})\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-respond\",\r\n\ttemplateUrl: \"./work-orders-completed-respond.component.html\",\r\n})\r\nexport class WorkOrdersCompletedRespondComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByPriority: boolean;\r\n\tpriorityLabel: string = \"\";\r\n\tchartDataByRespond = [[], []];\r\n\tchartConfigByRespond = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${(label * 100).toLocaleString()}\\%`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data.datasets[tooltipItem[0].datasetIndex].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: (tooltipItem, data) => {\r\n\t\t\t\t\t\tvar original =\r\n\t\t\t\t\t\t\tthis.chartDataByRespond[tooltipItem.datasetIndex][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\treturn `${original.toLocaleString()} (${(\r\n\t\t\t\t\t\t\tdata.datasets[tooltipItem.datasetIndex].data[tooltipItem[\"index\"]] * 100\r\n\t\t\t\t\t\t).toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"respondChart\") chartByRespond: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Chart 5\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loadedByPriority = true;\r\n\t\t\t\t\t\tlet acceptablePrioritiesStr =\r\n\t\t\t\t\t\t\tthis.whiteLabelService.getSettings.respondKPIPriorities;\r\n\t\t\t\t\t\tlet acceptablePriorities = acceptablePrioritiesStr.split(\",\");\r\n\t\t\t\t\t\tlet newLabelsRespond = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet indexResolve = newLabelsRespond.indexOf(element.priority);\r\n\t\t\t\t\t\t\tif (indexResolve < 0) {\r\n\t\t\t\t\t\t\t\tlet isAcceptable = false;\r\n\t\t\t\t\t\t\t\tacceptablePriorities.forEach((priority) => {\r\n\t\t\t\t\t\t\t\t\tif (element.priority.startsWith(priority)) {\r\n\t\t\t\t\t\t\t\t\t\tisAcceptable = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tif (isAcceptable) {\r\n\t\t\t\t\t\t\t\t\tnewLabelsRespond.push(element.priority);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewLabelsRespond.sort();\r\n\t\t\t\t\t\tlet valuesTemplate = [];\r\n\t\t\t\t\t\tnewLabelsRespond.forEach((element) => {\r\n\t\t\t\t\t\t\tvaluesTemplate.push(0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet newDataRespond = [];\r\n\t\t\t\t\t\tlet newDataRespondeOriginal = [\r\n\t\t\t\t\t\t\tvaluesTemplate.slice(),\r\n\t\t\t\t\t\t\tvaluesTemplate.slice(),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\tlet datasources = [\"Fail\", \"Pass\"];\r\n\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailPassColors();\r\n\t\t\t\t\t\tdatasources.forEach((element) => {\r\n\t\t\t\t\t\t\tnewDataRespond.push({\r\n\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\tbackgroundColor: colors.colorsRespond[i],\r\n\t\t\t\t\t\t\t\thoverBackgroundColor: colors.colorsHoverRespond[i],\r\n\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\tdata: valuesTemplate.slice(),\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet indexRespond = newLabelsRespond.indexOf(element.priority);\r\n\t\t\t\t\t\t\tif (indexRespond > -1) {\r\n\t\t\t\t\t\t\t\tnewDataRespond[0].data[indexRespond] +=\r\n\t\t\t\t\t\t\t\t\telement.respondKPIFail / element.count;\r\n\t\t\t\t\t\t\t\tnewDataRespond[1].data[indexRespond] +=\r\n\t\t\t\t\t\t\t\t\t(element.count - element.respondKPIFail) / element.count;\r\n\t\t\t\t\t\t\t\tnewDataRespondeOriginal[0][indexRespond] += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\tnewDataRespondeOriginal[1][indexRespond] +=\r\n\t\t\t\t\t\t\t\t\telement.count - element.respondKPIFail;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvar priorityLabel = newLabelsRespond.join(\", \");\r\n\t\t\t\t\t\tif (priorityLabel) {\r\n\t\t\t\t\t\t\tthis.priorityLabel = priorityLabel;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.priorityLabel = \"\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.chartDataByRespond = newDataRespondeOriginal;\r\n\r\n\t\t\t\t\t\tthis.chartConfigByRespond.data.labels = newLabelsRespond;\r\n\t\t\t\t\t\tthis.chartConfigByRespond.data.datasets = newDataRespond;\r\n\t\t\t\t\t\tif (this.chartByRespond) {\r\n\t\t\t\t\t\t\tthis.chartByRespond.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Respond KPI % ({{priorityLabel}} only)\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-state\",\r\n\ttemplateUrl: \"./work-orders-completed-state.component.html\",\r\n})\r\nexport class WorkOrdersCompletedStateComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByState: boolean;\r\n\tchartConfigByState = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"right\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-2\",\r\n\t\t\t\t\t\t// grid line settings\r\n\t\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\t\tdrawOnChartArea: false, // only want the grid lines for one axis to show up\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `\\$${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tif (data.datasets[tooltipItem.datasetIndex].label.endsWith(\"Cost\")) {\r\n\t\t\t\t\t\t\treturn `\\$${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn `${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByState.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (activePoints && activePoints.length > 0) {\r\n\t\t\t\t\tfor (var i = 0; i < activePoints.length; i++) {\r\n\t\t\t\t\t\tif (activePoints[i]._model && activePoints[i]._model.label) {\r\n\t\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\t\tvar value = activePoints[i]._model.label;\r\n\t\t\t\t\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType = [value];\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedState = [value];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"stateChart\") chartByState: ChartComponent;\r\n\r\n\tpublic hasBack(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByState = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByState = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryStoreType(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (!types.includes(element.requestType)) {\r\n\t\t\t\t\t\t\t\t\ttypes.push(element.requestType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tlet array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getIncidentPlannedReactiveColors();\r\n\t\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element + \" Cost\",\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColorCost,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-2\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t\ttype: \"line\",\r\n\t\t\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\t\t\tborderColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\t\tborderWidth: 2,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element + \" Count\",\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet indexTypeCount = types.indexOf(element.requestType) + types.length;\r\n\t\t\t\t\t\t\t\tlet indexTypeCost = types.indexOf(element.requestType);\r\n\t\t\t\t\t\t\t\tlet indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\t\tnewData[indexTypeCount].data[indexState] += element.count;\r\n\t\t\t\t\t\t\t\tnewData[indexTypeCost].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.datasets = newData;\r\n\t\t\t\t\t\t\tif (this.chartByState) {\r\n\t\t\t\t\t\t\t\tthis.chartByState.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryState(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (!types.includes(element.requestType)) {\r\n\t\t\t\t\t\t\t\t\ttypes.push(element.requestType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tlet array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getIncidentPlannedReactiveColors();\r\n\t\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element + \" Cost\",\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColorCost,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-2\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t\ttype: \"line\",\r\n\t\t\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\t\t\tborderColor: colors[element].backgroundColorCost,\r\n\t\t\t\t\t\t\t\t\tborderWidth: 2,\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element + \" Count\",\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tlet indexTypeCount = types.indexOf(element.requestType) + types.length;\r\n\t\t\t\t\t\t\t\tlet indexTypeCost = types.indexOf(element.requestType);\r\n\t\t\t\t\t\t\t\tlet indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\t\tnewData[indexTypeCount].data[indexState] += element.count;\r\n\t\t\t\t\t\t\t\tnewData[indexTypeCost].data[indexState] += element.cost;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.datasets = newData;\r\n\t\t\t\t\t\t\tif (this.chartByState) {\r\n\t\t\t\t\t\t\t\tthis.chartByState.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by {{facilityTypeMode ? \"Facility Type\" : \"State\"}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFileExport,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { AngularCsv } from \"angular-csv-ext/dist/Angular-csv\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { RequestSummaryEntityResponseModel } from \"../models/requestSummaryEntityResponseModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-store\",\r\n\ttemplateUrl: \"./work-orders-completed-store.component.html\",\r\n})\r\nexport class WorkOrdersCompletedStoreComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByStore: boolean;\r\n\ttableDataByStore = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeNo\",\r\n\t\t\t\tname: \"Store No\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"state\",\r\n\t\t\t\tname: \"State\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Work Orders\",\r\n\t\t\t\tname: \"Work Orders\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of RM\",\r\n\t\t\t\tname: \"Cost of RM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of PM\",\r\n\t\t\t\tname: \"Cost of PM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.stores.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.stores[i].id === row.id) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedStore = [this.woFiltersService.stores[i]];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByStore.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"woStoreTable\") tableByStore: DatatableComponent;\r\n\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByStore = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByStore = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Table 3\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryEntity(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col-1 text-end\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-end\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet rowId = `${element.name}--${element.storeNo}`;\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\t\tstate: this.facilityTypeMode ? element.storeType : element.state,\r\n\t\t\t\t\t\t\t\t\tcount: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewRow[\"Work Orders\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of RM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of PM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Total\"] = 0;\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId][\"Work Orders\"] += element.count;\r\n\t\t\t\t\t\t\tnewTotal[0].value += element.count;\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of RM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[1].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of PM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[2].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.tableDataByStore.total = newTotal;\r\n\t\t\t\t\t\tthis.tableDataByStore.rows = newDataArray;\r\n\t\t\t\t\t\tthis.loadedByStore = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t//#region export CSV\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: RequestSummaryEntityResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(\r\n\t\t\tnew QueryOptionsPagingModel(),\r\n\t\t\tthis.stateService.getCurrentDateRange()\r\n\t\t);\r\n\t\t//body.filter.overallStatuses = [\"Completed\"];\r\n\r\n\t\tthis.exportCsvRequest(body);\r\n\t}\r\n\r\n\texportCsvRequest(body: any) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage:\r\n\t\t\t\tthis.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1,\r\n\t\t};\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryEntity(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\t\tthis.totalExport = 1;\r\n\t\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\t\tthis.inProgressExportCSV = false;\r\n\t\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\t\tlet headers = Object.getOwnPropertyNames(data[0]);\r\n\t\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t\t\t\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t\t\t\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\t\t\tfieldSeparator: \",\",\r\n\t\t\t\t\t\t\t\tquoteStrings: '\"',\r\n\t\t\t\t\t\t\t\tdecimalseparator: \".\",\r\n\t\t\t\t\t\t\t\tshowLabels: true,\r\n\t\t\t\t\t\t\t\theaders: headers,\r\n\t\t\t\t\t\t\t\tshowTitle: false,\r\n\t\t\t\t\t\t\t\ttitle: \"export\",\r\n\t\t\t\t\t\t\t\tuseBom: true,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tnew AngularCsv(this.dataExport, \"export\", options);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.messageService.info(\"CSV Export\", \"No data\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.exportCsvRequest(body);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFileExport = faFileExport;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by {{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tWork Orders: {{row['Work Orders'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of RM: ${{row['Cost of RM'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of PM: ${{row['Cost of PM'] | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: ${{row.Total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-summary\",\r\n\ttemplateUrl: \"./work-orders-completed-summary.component.html\",\r\n})\r\nexport class WorkOrdersCompletedSummaryComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedSummary: boolean;\r\n\tcountRM: number = 0;\r\n\tcountPM: number = 0;\r\n\tcostRM: number = 0;\r\n\tcostPM: number = 0;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedSummary = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedSummary = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Item 1, 2, 3, 4\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestSummary(body).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.countRM = 0;\r\n\t\t\t\t\tthis.countPM = 0;\r\n\t\t\t\t\tthis.costRM = 0;\r\n\t\t\t\t\tthis.costPM = 0;\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\tthis.countPM += element.count;\r\n\t\t\t\t\t\t\tthis.costPM += element.cost;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.countRM += element.count;\r\n\t\t\t\t\t\t\tthis.costRM += element.cost;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadedSummary = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{{countRM | number}}Completed RM
\r\n\t\t\t\t
{{countPM | number}}Completed PM
\r\n\t\t\t\t
${{costRM | number:'1.0-0'}}RM Cost
\r\n\t\t\t\t
${{costPM | number:'1.0-0'}}PM Cost
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed-vendor\",\r\n\ttemplateUrl: \"./work-orders-completed-vendor.component.html\",\r\n})\r\nexport class WorkOrdersCompletedVendorComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloadedByVendor: boolean;\r\n\ttableDataByVendor = {\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"name\",\r\n\t\t\t\tname: \"Vendor Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Work Orders\",\r\n\t\t\t\tname: \"Work Orders\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of RM\",\r\n\t\t\t\tname: \"Cost of RM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Cost of PM\",\r\n\t\t\t\tname: \"Cost of PM\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"Total\",\r\n\t\t\t\tname: \"Total\",\r\n\t\t\t},\r\n\t\t],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.vendors.length; i++) {\r\n\t\t\t\tif (this.whiteLabelService.getSettings.enableNewVendorFilter) {\r\n\t\t\t\t\tif (this.woFiltersService.vendorNames[i].name === row.name) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendorNames = [\r\n\t\t\t\t\t\t\tthis.woFiltersService.vendorNames[i],\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.woFiltersService.vendors[i].id === row.id) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendor = [this.woFiltersService.vendors[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByVendor.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"woVendorTable\") tableByVendor: DatatableComponent;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByVendor = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Completed\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByVendor = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Table 1\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryVendor(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t\t} = {};\r\n\t\t\t\t\t\tlet newTotal = [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col col-xl-2 text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tclass: \"col text-right\",\r\n\t\t\t\t\t\t\t\tvalue: 0,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tlet rowId = `${element.name}--${element.vendorNo}`;\r\n\t\t\t\t\t\t\tif (this.whiteLabelService.getSettings.ignoreVendorNoGrouping) {\r\n\t\t\t\t\t\t\t\trowId = element.name;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\t\tcount: 0,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tnewRow[\"Work Orders\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of RM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Cost of PM\"] = 0;\r\n\t\t\t\t\t\t\t\tnewRow[\"Total\"] = 0;\r\n\t\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tnewData[rowId][\"Work Orders\"] += element.count;\r\n\t\t\t\t\t\t\tnewTotal[0].value += element.count;\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of RM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[1].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Cost of PM\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[2].value += element.cost;\r\n\t\t\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.cost;\r\n\t\t\t\t\t\t\t\tnewTotal[3].value += element.cost;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.tableDataByVendor.total = newTotal;\r\n\t\t\t\t\t\tthis.tableDataByVendor.rows = newDataArray;\r\n\t\t\t\t\t\tthis.loadedByVendor = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Completed Work Orders by\r\n\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tWork Orders: {{row['Work Orders'] |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of RM: ${{row['Cost of RM'] |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tCost of PM: ${{row['Cost of PM'] |\r\n\t\t\t\t\t\t\t\tnumber : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: ${{row.Total | number : '1.0-0'}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t${{value | number : '1.0-0'}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-completed\",\r\n\ttemplateUrl: \"./work-orders-completed.component.html\",\r\n})\r\nexport class WorkOrdersCompletedComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\"Completed Work Orders\");\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(\r\n\t\t\tthis.stateService.getDateRange.subscribe((value) => {\r\n\t\t\t\tthis.update();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n\tIMyDateRangeModel,\r\n\tIMyDrpOptions,\r\n\tIMyInputFocusBlur,\r\n\tMyDateRangePicker,\r\n} from \"mydaterangepicker\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-filters\",\r\n\ttemplateUrl: \"./work-orders-filters.component.html\",\r\n})\r\nexport class WorkOrdersFiltersComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tmyDateRangePickerOptions: IMyDrpOptions = {\r\n\t\tdateFormat: \"dd mmm yyyy\",\r\n\t\tshowClearBtn: false,\r\n\t\tshowApplyBtn: false,\r\n\t\tselectorHeight: \"282px\",\r\n\t\tselectorWidth: \"304px\",\r\n\t\theight: \"38px\",\r\n\t\tselectionTxtFontSize: \"16px\",\r\n\t};\r\n\r\n\t// For example initialize to specific date (09.10.2018 - 19.10.2018). It is also possible\r\n\t// to set initial date range value using the selDateRange attribute.\r\n\tpublic model: any = {\r\n\t\tbeginDate: undefined,\r\n\t\tendDate: undefined,\r\n\t};\r\n\r\n\t@ViewChild(\"mydrp\") mydrp: MyDateRangePicker;\r\n\r\n\tonDateRangeChanged(event: IMyDateRangeModel) {\r\n\t\tthis.stateService.setDateRange(event);\r\n\t}\r\n\r\n\tonInputFocusBlur(event: IMyInputFocusBlur): void {\r\n\t\tif (event.reason === 1) {\r\n\t\t\tthis.mydrp.openBtnClicked();\r\n\t\t}\r\n\t}\r\n\r\n\tmyDateRangePickerEstOptions: IMyDrpOptions = {\r\n\t\tdateFormat: \"dd mmm yyyy\",\r\n\t\tshowClearBtn: false,\r\n\t\tshowApplyBtn: false,\r\n\t\tselectorHeight: \"282px\",\r\n\t\tselectorWidth: \"304px\",\r\n\t\theight: \"38px\",\r\n\t\tselectionTxtFontSize: \"16px\",\r\n\t};\r\n\r\n\t// For example initialize to specific date (09.10.2018 - 19.10.2018). It is also possible\r\n\t// to set initial date range value using the selDateRange attribute.\r\n\tpublic modelEst: any = {\r\n\t\tbeginDate: undefined,\r\n\t\tendDate: undefined,\r\n\t};\r\n\r\n\t@ViewChild(\"mydrpEst\") mydrpEst: MyDateRangePicker;\r\n\r\n\tonDateRangeEstChanged(event: IMyDateRangeModel) {\r\n\t\tthis.woFiltersService.setDateRangeEst(event);\r\n\t}\r\n\r\n\tonInputFocusBlurEst(event: IMyInputFocusBlur): void {\r\n\t\tif (event.reason === 1) {\r\n\t\t\tthis.mydrpEst.openBtnClicked();\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tpublic stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService\r\n\t) {\r\n\t\tvar currentDateRange = this.stateService.getCurrentDateRange();\r\n\t\tif (\r\n\t\t\tcurrentDateRange != null &&\r\n\t\t\tcurrentDateRange.beginJsDate != null &&\r\n\t\t\tcurrentDateRange.endJsDate != null\r\n\t\t) {\r\n\t\t\tthis.model = currentDateRange;\r\n\t\t}\r\n\t\tvar currentDateRangeEst = this.woFiltersService.getCurrentDateRangeEst();\r\n\t\tif (\r\n\t\t\tcurrentDateRangeEst != null &&\r\n\t\t\tcurrentDateRangeEst.beginJsDate != null &&\r\n\t\t\tcurrentDateRangeEst.endJsDate != null\r\n\t\t) {\r\n\t\t\tthis.modelEst = currentDateRangeEst;\r\n\t\t}\r\n\t\tlet shouldOpenFilters = this.woFiltersService.shouldOpenFilters();\r\n\t\tthis.woFiltersService.isCollapsed = !shouldOpenFilters;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.stateService.getDateRangeUpdateId.subscribe((value) => {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tswitch (this.stateService.dateRangeUpdateOperation) {\r\n\t\t\t\t\t\tcase \"null\": {\r\n\t\t\t\t\t\t\tthis.model = null;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"set\": {\r\n\t\t\t\t\t\t\tlet beginDate = this.stateService.dateRangeUpdateBeginDate;\r\n\t\t\t\t\t\t\tlet endDate = this.stateService.dateRangeUpdateEndDate;\r\n\t\t\t\t\t\t\tif (this.mydrp) {\r\n\t\t\t\t\t\t\t\tthis.mydrp.beginDate = {\r\n\t\t\t\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.mydrp.endDate = {\r\n\t\t\t\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.mydrp.rangeSelected();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.model.beginDate = {\r\n\t\t\t\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.model.endDate = {\r\n\t\t\t\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.stateService.dateRangeUpdateOperation = \"\";\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getDateRangeEstUpdateId.subscribe((value) => {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tswitch (this.woFiltersService.dateRangeEstUpdateOperation) {\r\n\t\t\t\t\t\tcase \"null\": {\r\n\t\t\t\t\t\t\tthis.modelEst = null;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcase \"set\": {\r\n\t\t\t\t\t\t\tlet beginDate = this.woFiltersService.dateRangeEstUpdateBeginDate;\r\n\t\t\t\t\t\t\tlet endDate = this.woFiltersService.dateRangeEstUpdateEndDate;\r\n\t\t\t\t\t\t\tif (this.mydrpEst) {\r\n\t\t\t\t\t\t\t\tthis.mydrpEst.beginDate = {\r\n\t\t\t\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.mydrpEst.endDate = {\r\n\t\t\t\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.mydrpEst.rangeSelected();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.modelEst.beginDate = {\r\n\t\t\t\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tthis.modelEst.endDate = {\r\n\t\t\t\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.woFiltersService.dateRangeEstUpdateOperation = \"\";\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.woFiltersService.loadData();\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isFilterChanged()) {\r\n\t\t\tthis.woFiltersService.getStores(true);\r\n\t\t\tthis.woFiltersService.getRetailBusinessManagers(true);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n}\r\n","\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n\t
or
\r\n\t
\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t
\r\n\t\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
0\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","","import {\r\n\tComponent,\r\n\tOnInit\r\n} from '@angular/core';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable } from 'rxjs';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n\tselector: 'app-work-orders-nav',\r\n\ttemplateUrl: './work-orders-nav.component.html'\r\n})\r\nexport class WorkOrdersNavComponent implements OnInit {\r\n\tconstructor(public router: Router,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t}\r\n}","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tViewChild,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'app-work-orders-open-asset',\r\n\ttemplateUrl: './work-orders-open-asset.component.html'\r\n})\r\nexport class WorkOrdersOpenAssetComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByAsset: boolean;\r\n\ttableDataByAsset = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Asset Category'\r\n\t\t}, {\r\n\t\t\tprop: 'Incident',\r\n\t\t\tname: 'Incident'\r\n\t\t}, {\r\n\t\t\tprop: 'Planned',\r\n\t\t\tname: 'Planned'\r\n\t\t}, {\r\n\t\t\tprop: 'Reactive',\r\n\t\t\tname: 'Reactive'\r\n\t\t}, {\r\n\t\t\tprop: 'Total',\r\n\t\t\tname: 'Total'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.assetNames.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.assetNames[i] === row.assetName) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedAssetName = [this.woFiltersService.assetNames[i]];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.openWOAssetTable.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('openWOAssetTable') openWOAssetTable: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByAsset = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryAsset(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet headers = [\"Incident\", \"Planned\", \"Reactive\", \"Total\"];\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [];\r\n\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\tnewTotal.push(0);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.name} - ${element.category}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tname: rowId,\r\n\t\t\t\t\t\t\t\tassetName: element.name,\r\n\t\t\t\t\t\t\t\tassetCategory: element.category,\r\n\t\t\t\t\t\t\t\tcount: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\t\t\tnewRow[element] = 0;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId][element.requestType] += element.count;\r\n\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.count;\r\n\t\t\t\t\t\tlet index = headers.indexOf(element.requestType);\r\n\t\t\t\t\t\tnewTotal[index] += element.count;\r\n\t\t\t\t\t\tlet indexTotal = headers.indexOf(\"Total\");\r\n\t\t\t\t\t\tnewTotal[indexTotal] += element.count;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataByAsset.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByAsset.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByAsset = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by Asset Category\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident: {{row.Incident | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned: {{row.Planned | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive: {{row.Reactive | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: {{row.Total | number}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { RequestSummaryDayResolveResponseModel } from \"../models/requestSummaryDayResolveResponseModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-overdue-date\",\r\n\ttemplateUrl: \"./work-orders-open-overdue-date.component.html\",\r\n})\r\nexport class WorkOrdersOpenOverdueDateComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tloaded: boolean;\r\n\tchartOldRecordsStart: moment.Moment = null;\r\n\tchartOldRecordsEnd: moment.Moment = null;\r\n\tdateFormatInternal: string = \"YYYY-MM-DD\";\r\n\tdateFormatChart: string = \"DD-MM-YYYY\";\r\n\toverText: string = \"Over 12 weeks\";\r\n\tchartConfig = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Overdue\",\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: \"Open\",\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: (tooltipItem, data) => {\r\n\t\t\t\t\t\tvar title = data[\"labels\"][tooltipItem[0][\"index\"]];\r\n\t\t\t\t\t\treturn title === null\r\n\t\t\t\t\t\t\t? \"null\"\r\n\t\t\t\t\t\t\t: title === this.overText\r\n\t\t\t\t\t\t\t? `All records between ${\r\n\t\t\t\t\t\t\t\t\tthis.chartOldRecordsStart\r\n\t\t\t\t\t\t\t\t\t\t? this.chartOldRecordsStart.format(\"DD-MMM-YYYY\")\r\n\t\t\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t\t } and ${\r\n\t\t\t\t\t\t\t\t\tthis.chartOldRecordsEnd\r\n\t\t\t\t\t\t\t\t\t\t? this.chartOldRecordsEnd.format(\"DD-MMM-YYYY\")\r\n\t\t\t\t\t\t\t\t\t\t: \"\"\r\n\t\t\t\t\t\t\t }`\r\n\t\t\t\t\t\t\t: \"Week starting Monday \" + title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar value =\r\n\t\t\t\t\t\t\tdata[\"datasets\"][tooltipItem.datasetIndex][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\treturn `${value.toLocaleString()}`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chart.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (activePoints && activePoints.length > 0) {\r\n\t\t\t\t\tfor (var i = 0; i < activePoints.length; i++) {\r\n\t\t\t\t\t\tif (activePoints[i]._model && activePoints[i]._model.label) {\r\n\t\t\t\t\t\t\tvar value = activePoints[i]._model.label;\r\n\t\t\t\t\t\t\tif (value === this.overText) {\r\n\t\t\t\t\t\t\t\tif (this.chartOldRecordsStart && this.chartOldRecordsEnd) {\r\n\t\t\t\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\t\t\t\tlet beginDate = this.chartOldRecordsStart.toDate();\r\n\t\t\t\t\t\t\t\t\tlet endDate = this.chartOldRecordsEnd.toDate();\r\n\t\t\t\t\t\t\t\t\tthis.woFiltersService.updateDateRangeEst(\"set\", beginDate, endDate);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tlet m = moment(value, this.dateFormatChart);\r\n\t\t\t\t\t\t\t\tif (m.isValid()) {\r\n\t\t\t\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\t\t\t\tlet beginDate = m.toDate();\r\n\t\t\t\t\t\t\t\t\tlet endDate = m.add(6, \"days\").toDate();\r\n\t\t\t\t\t\t\t\t\tthis.woFiltersService.updateDateRangeEst(\"set\", beginDate, endDate);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"overdueChart\") chart: ChartComponent;\r\n\r\n\tcolors: any = null;\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService\r\n\t) {\r\n\t\tthis.colors = whiteLabelService.getOverdueChartColors();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body, true);\r\n\t\tbody.filter.deliveryIndicators = null;\r\n\t\treturn body;\r\n\t}\r\n\r\n\tbuildWeek(\r\n\t\telement: RequestSummaryDayResolveResponseModel,\r\n\t\toldestSince: moment.Moment\r\n\t): string {\r\n\t\tlet dateStr = `${element.year}-${element.month.toLocaleString(undefined, {\r\n\t\t\tminimumIntegerDigits: 2,\r\n\t\t})}-${element.day.toLocaleString(undefined, {\r\n\t\t\tminimumIntegerDigits: 2,\r\n\t\t})}T00:00:00Z`;\r\n\t\tvar date = moment.utc(dateStr);\r\n\t\tlet dateWeek = moment.utc(dateStr).isoWeekday(1);\r\n\t\tif (oldestSince > date) {\r\n\t\t\tif (!this.chartOldRecordsEnd || date > this.chartOldRecordsEnd) {\r\n\t\t\t\tthis.chartOldRecordsEnd = date;\r\n\t\t\t}\r\n\t\t\tif (!this.chartOldRecordsStart || date < this.chartOldRecordsStart) {\r\n\t\t\t\tthis.chartOldRecordsStart = date;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn oldestSince > dateWeek\r\n\t\t\t? \"0\"\r\n\t\t\t: dateWeek.format(this.dateFormatInternal);\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tthis.chartOldRecordsStart = null;\r\n\t\tthis.chartOldRecordsEnd = null;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryDayResolve(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tlet dates = [];\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tlet newDataNotOverdue = [];\r\n\t\t\t\t\t\tlet oldestSince = moment\r\n\t\t\t\t\t\t\t.utc()\r\n\t\t\t\t\t\t\t.isoWeekday(1)\r\n\t\t\t\t\t\t\t.hours(0)\r\n\t\t\t\t\t\t\t.minutes(0)\r\n\t\t\t\t\t\t\t.seconds(0)\r\n\t\t\t\t\t\t\t.milliseconds(0);\r\n\t\t\t\t\t\toldestSince.subtract(12, \"weeks\");\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.year > 0) {\r\n\t\t\t\t\t\t\t\tvar key = this.buildWeek(element, oldestSince);\r\n\t\t\t\t\t\t\t\tif (dates.indexOf(key) < 0) {\r\n\t\t\t\t\t\t\t\t\tdates.push(key);\r\n\t\t\t\t\t\t\t\t\tnewData.push(0);\r\n\t\t\t\t\t\t\t\t\tnewDataNotOverdue.push(0);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdates.sort();\r\n\t\t\t\t\t\tlet today = moment();\r\n\t\t\t\t\t\tlet todayStr = today.format(this.dateFormatInternal);\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.year > 0) {\r\n\t\t\t\t\t\t\t\tvar key = this.buildWeek(element, oldestSince);\r\n\t\t\t\t\t\t\t\tvar index = dates.indexOf(key);\r\n\t\t\t\t\t\t\t\tnewData[index] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\tlet dateStr = `${element.year}-${element.month.toLocaleString(\r\n\t\t\t\t\t\t\t\t\tundefined,\r\n\t\t\t\t\t\t\t\t\t{ minimumIntegerDigits: 2 }\r\n\t\t\t\t\t\t\t\t)}-${element.day.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\t\t\tminimumIntegerDigits: 2,\r\n\t\t\t\t\t\t\t\t})}`;\r\n\t\t\t\t\t\t\t\tif (todayStr <= dateStr) {\r\n\t\t\t\t\t\t\t\t\tnewDataNotOverdue[index] += element.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tdates.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element === \"0\") {\r\n\t\t\t\t\t\t\t\tnewLabels.push(this.overText);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tvar m = moment.utc(element);\r\n\t\t\t\t\t\t\t\tnewLabels.push(m.format(this.dateFormatChart));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfig.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[0].data = newData;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[0].backgroundColor =\r\n\t\t\t\t\t\t\tthis.colors.colorsPast[0];\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[0].hoverBackgroundColor =\r\n\t\t\t\t\t\t\tthis.colors.colorsPast[1];\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[1].data = newDataNotOverdue;\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[1].backgroundColor =\r\n\t\t\t\t\t\t\tthis.colors.colorsFuture[0];\r\n\t\t\t\t\t\tthis.chartConfig.data.datasets[1].hoverBackgroundColor =\r\n\t\t\t\t\t\t\tthis.colors.colorsFuture[1];\r\n\t\t\t\t\t\tif (this.chart) {\r\n\t\t\t\t\t\t\tthis.chart.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tOpen Work Orders by Expected Completion Date\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { faChartColumn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-overdue\",\r\n\ttemplateUrl: \"./work-orders-open-overdue.component.html\",\r\n})\r\nexport class WorkOrdersOpenOverdueComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloaded: boolean;\r\n\ttableData = {\r\n\t\trows: [],\r\n\t\tcolumns: [],\r\n\t};\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loaded = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody.filter.priorities = null;\r\n\t\tbody.filter.deliveryIndicators = [\"Completion Overdue\"];\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loaded = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\tlet newPriorities = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tif (element.priority.startsWith(\"P1\")) {\r\n\t\t\t\t\t\t\t\telement.priority = \"P1\";\r\n\t\t\t\t\t\t\t} else if (element.priority.startsWith(\"P2\")) {\r\n\t\t\t\t\t\t\t\telement.priority = \"P2\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (!newPriorities.includes(element.priority)) {\r\n\t\t\t\t\t\t\t\tnewPriorities.push(element.priority);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewPriorities.sort();\r\n\t\t\t\t\t\tvar prioritiesCustomOrder = [\"FM\", \"HNDY\", \"PM\"];\r\n\t\t\t\t\t\tprioritiesCustomOrder.forEach((priority) => {\r\n\t\t\t\t\t\t\tif (newPriorities.includes(priority)) {\r\n\t\t\t\t\t\t\t\tnewPriorities = newPriorities.filter((e) => e !== priority);\r\n\t\t\t\t\t\t\t\tnewPriorities.push(priority);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tlet rowOpen = { Type: \"Open\", Total: 0 };\r\n\t\t\t\t\t\tlet rowRespond = { Type: \"Respond Overdue\", Total: 0 };\r\n\t\t\t\t\t\tlet rowResolve = { Type: \"Resolve Overdue\", Total: 0 };\r\n\t\t\t\t\t\tlet newColumns = [{ prop: \"Type\", name: \"\" }];\r\n\t\t\t\t\t\tnewPriorities.forEach((element) => {\r\n\t\t\t\t\t\t\trowOpen[element] = 0;\r\n\t\t\t\t\t\t\trowRespond[element] = 0;\r\n\t\t\t\t\t\t\trowResolve[element] = 0;\r\n\t\t\t\t\t\t\tnewColumns.push({ prop: element, name: element });\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnewColumns.push({ prop: \"Total\", name: \"Total\" });\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\trowOpen[element.priority] += element.count;\r\n\t\t\t\t\t\t\trowOpen[\"Total\"] += element.count;\r\n\r\n\t\t\t\t\t\t\trowRespond[element.priority] += element.respondKPIFail;\r\n\t\t\t\t\t\t\trowRespond[\"Total\"] += element.respondKPIFail;\r\n\r\n\t\t\t\t\t\t\trowResolve[element.priority] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\trowResolve[\"Total\"] += element.resolveKPIFail;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.tableData.columns = newColumns;\r\n\t\t\t\t\t\tthis.tableData.rows = [rowOpen, rowRespond, rowResolve];\r\n\t\t\t\t\t\tthis.loaded = true;\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by Priority\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
{{column.name}}
{{i == 0 ? row[column.prop] : (row[column.prop] | number)}}
\r\n\t\t
\r\n\r\n\t\t

No data to display

\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { faFileExport, faTable } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { AngularCsv } from \"angular-csv-ext/dist/Angular-csv\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { HelperService } from \"../../services/helper.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { RequestListResponseModel } from \"../models/requestListResponseModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-pm\",\r\n\ttemplateUrl: \"./work-orders-open-pm.component.html\",\r\n})\r\nexport class WorkOrdersOpenPMComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService,\r\n\t\tprivate helperService: HelperService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate currentUpdateId: string = \"\";\r\n\tupdate(updateId: string) {\r\n\t\tthis.currentUpdateId = updateId;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadOpenPMWorkOrders(true);\r\n\t\t});\r\n\t}\r\n\r\n\t//#region table PM Work Orders\r\n\t@ViewChild(\"openPMWorkOrders\") tableOpenPMWorkOrders: DatatableComponent;\r\n\tloadingOpenPMWorkOrders: boolean = false;\r\n\ttableDataOpenPMWorkOrders = {\r\n\t\tpage: {\r\n\t\t\tsize: 20,\r\n\t\t\ttotalElements: 0,\r\n\t\t},\r\n\t\tsorts: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"id\",\r\n\t\t\t\tdir: \"asc\",\r\n\t\t\t},\r\n\t\t],\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"id\",\r\n\t\t\t\tname: \"Id\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeNo\",\r\n\t\t\t\tname: \"Store No\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeName\",\r\n\t\t\t\tname: \"Store Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"vendorName\",\r\n\t\t\t\tname: \"Vendor Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"requestDate\",\r\n\t\t\t\tname: \"Request Date\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"daysOverdue\",\r\n\t\t\t\tname: \"Days Overdue\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"priority\",\r\n\t\t\t\tname: \"Priority\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"assetName\",\r\n\t\t\t\tname: \"AssetName – AssetCategory\",\r\n\t\t\t},\r\n\t\t],\r\n\t\tonSort: (event) => {\r\n\t\t\tthis.loadOpenPMWorkOrders(true);\r\n\t\t},\r\n\t\tonScroll: (event) => {\r\n\t\t\tif (event && event.currentTarget) {\r\n\t\t\t\tconst offsetY = event.currentTarget.scrollTop;\r\n\t\t\t\t// total height of all rows in the viewport\r\n\t\t\t\tconst viewHeight = event.currentTarget.clientHeight;\r\n\r\n\t\t\t\t// check if we scrolled to the end of the viewport\r\n\t\t\t\tif (\r\n\t\t\t\t\t!this.loadingOpenPMWorkOrders &&\r\n\t\t\t\t\toffsetY + viewHeight >=\r\n\t\t\t\t\t\t(this.tableDataOpenPMWorkOrders.rows.length - 4) * 38 /*rowHeight*/\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.loadOpenPMWorkOrders(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tonNameClick: (row) => {\r\n\t\t\tif (event.type == \"click\") {\r\n\t\t\t\twindow.open(\r\n\t\t\t\t\tthis.whiteLabelService.getOldDashboardUrl() +\r\n\t\t\t\t\t\t\"/FM/RequestDetails?requestid=\" +\r\n\t\t\t\t\t\trow.id,\r\n\t\t\t\t\t\"_blank\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableOpenPMWorkOrders.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\tloadOpenPMWorkOrders(cleanup: boolean) {\r\n\t\tif (\r\n\t\t\t!cleanup &&\r\n\t\t\tthis.tableDataOpenPMWorkOrders.rows.length >=\r\n\t\t\t\tthis.tableDataOpenPMWorkOrders.page.totalElements\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingOpenPMWorkOrders = true;\r\n\t\tlet body = new QueryOptionsPagingModel();\r\n\t\tbody.paging = {\r\n\t\t\tlimit: this.tableDataOpenPMWorkOrders.page.size,\r\n\t\t\tcurrentPage: cleanup\r\n\t\t\t\t? 1\r\n\t\t\t\t: Math.round(\r\n\t\t\t\t\t\tthis.tableDataOpenPMWorkOrders.rows.length /\r\n\t\t\t\t\t\t\tthis.tableDataOpenPMWorkOrders.page.size\r\n\t\t\t\t ) + 1,\r\n\t\t};\r\n\t\tlet sorts = [];\r\n\t\tthis.tableOpenPMWorkOrders.sorts.forEach((element) => {\r\n\t\t\tsorts.push({\r\n\t\t\t\tfield: element.prop,\r\n\t\t\t\torder: this.workOrderReportService.capitalizeFirstLetter(element.dir),\r\n\t\t\t});\r\n\t\t});\r\n\t\tbody.sortBy = sorts;\r\n\t\tlet body2 = this.fillBody(body, this.stateService.getCurrentDateRange());\r\n\t\tbody2.filter.requestTypes = [\"Planned\"];\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestList(body2).subscribe((data) => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === this.currentUpdateId) {\r\n\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\tlet d = moment(element.requestDate);\r\n\t\t\t\t\t\tconst duration = this.helperService.convertDecimalDaysToDaysAndHours(element.daysOverdue);\r\n\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\t\t\tstoreName: element.storeName,\r\n\t\t\t\t\t\t\tvendorName: element.vendorName,\r\n\t\t\t\t\t\t\trequestDate: d.format(\"DD-MM-YYYY HH:mm\"),\r\n\t\t\t\t\t\t\tdaysOverdue: `${duration.days}d, ${duration.hours}h`,\r\n\t\t\t\t\t\t\tpriority: element.priority,\r\n\t\t\t\t\t\t\tassetName: `${element.assetName} - ${element.assetCategory}`,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tnewData.push(newRow);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdata.length > 0 &&\r\n\t\t\t\t\t\tthis.tableDataOpenPMWorkOrders.page.totalElements !== data[0].totalCount\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.tableDataOpenPMWorkOrders.page.totalElements = data[0].totalCount;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet dataArray;\r\n\t\t\t\t\tif (cleanup) {\r\n\t\t\t\t\t\tdataArray = [];\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tthis.tableOpenPMWorkOrders.offset = 0;\r\n\t\t\t\t\t\t\tthis.tableOpenPMWorkOrders.bodyComponent.updateOffsetY(0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdataArray = this.tableDataOpenPMWorkOrders.rows;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataArray = dataArray.concat(newData);\r\n\t\t\t\t\tthis.tableDataOpenPMWorkOrders.rows = [...dataArray];\r\n\t\t\t\t\tthis.loadingOpenPMWorkOrders = false;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\t//#endregion\r\n\r\n\t//#region export CSV\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: RequestListResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(\r\n\t\t\tnew QueryOptionsPagingModel(),\r\n\t\t\tthis.stateService.getCurrentDateRange()\r\n\t\t);\r\n\t\tbody.filter.requestTypes = [\"Planned\"];\r\n\r\n\t\tthis.exportCsvRequest(body);\r\n\t}\r\n\r\n\texportCsvRequest(body: any) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage:\r\n\t\t\t\tthis.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1,\r\n\t\t};\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestList(body).subscribe((data) => {\r\n\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\tthis.inProgressExportCSV = false;\r\n\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\tlet headers = Object.getOwnPropertyNames(data[0]);\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t\t\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t\t\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\t\tfieldSeparator: \",\",\r\n\t\t\t\t\t\t\tquoteStrings: '\"',\r\n\t\t\t\t\t\t\tdecimalseparator: \".\",\r\n\t\t\t\t\t\t\tshowLabels: true,\r\n\t\t\t\t\t\t\theaders: headers,\r\n\t\t\t\t\t\t\tshowTitle: false,\r\n\t\t\t\t\t\t\ttitle: \"export\",\r\n\t\t\t\t\t\t\tuseBom: true,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tnew AngularCsv(this.dataExport, \"export\", options);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.messageService.info(\"CSV Export\", \"No data\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exportCsvRequest(body);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaFileExport = faFileExport;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tOpen PM Work Orders\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.storeNo}} - {{row.storeName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.vendorName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tRequest Date: {{row.requestDate}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPriority: {{row.priority}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAsset: {{row.assetName}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-priority\",\r\n\ttemplateUrl: \"./work-orders-open-priority.component.html\",\r\n})\r\nexport class WorkOrdersOpenPriorityComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByPriority: boolean;\r\n\ttotalByPriority: number;\r\n\tchartConfigByPriority = {\r\n\t\ttype: \"pie\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tbackgroundColor: [],\r\n\t\t\t\t\thoverBackgroundColor: [],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t\tonClick: (e, legendItem) => {\r\n\t\t\t\t\tvar ci = this.chartByPriority.chart;\r\n\t\t\t\t\tvar meta = ci.getDatasetMeta(0);\r\n\t\t\t\t\tvar index = legendItem.index;\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t\tci.update();\r\n\r\n\t\t\t\t\tvar total = meta.total;\r\n\t\t\t\t\tthis.totalByPriority = total;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"labels\"][tooltipItem[0][\"index\"]];\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\t//var total = data['datasets'][0]['data'].reduce((a, b) => a + b, 0);\r\n\t\t\t\t\t\tvar total = this._chart.getDatasetMeta(0).total;\r\n\t\t\t\t\t\tvar value = data[\"datasets\"][0][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tvar percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByPriority.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickTime &&\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickElement ===\r\n\t\t\t\t\t\t\tactivePoints[0] &&\r\n\t\t\t\t\t\tnew Date().getTime() -\r\n\t\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickTime <\r\n\t\t\t\t\t\t\t500\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickTime = null;\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickElement = null;\r\n\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tvar value = activePoints[0]._model.label;\r\n\t\t\t\t\t\tif (value !== \"null\") {\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedPriority = [value];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickTime =\r\n\t\t\t\t\t\t\tnew Date().getTime();\r\n\t\t\t\t\t\tthis.chartConfigByPriority.additional.lastClickElement = activePoints[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\tadditional: {\r\n\t\t\tlastClickTime: null,\r\n\t\t\tlastClickElement: null,\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"priorityChart\") chartByPriority: ChartComponent;\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\r\n\t\tthis.chartConfigByPriority.data.datasets[0].backgroundColor =\r\n\t\t\tthis.backgroundColor;\r\n\t\tthis.chartConfigByPriority.data.datasets[0].hoverBackgroundColor =\r\n\t\t\tthis.hoverBackgroundColor;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByPriority = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService\r\n\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t// Chart 1\r\n\t\t\t\t\t\t// User count grouped by priority\r\n\t\t\t\t\t\tthis.totalByPriority = 0;\r\n\t\t\t\t\t\tthis.loadedByPriority = true;\r\n\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\tnewLabels.push(element.priority);\r\n\t\t\t\t\t\t\tnewData.push(element.count);\r\n\t\t\t\t\t\t\tthis.totalByPriority += element.count;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.labels = newLabels;\r\n\t\t\t\t\t\tthis.chartConfigByPriority.data.datasets[0].data = newData;\r\n\t\t\t\t\t\tif (this.chartByPriority) {\r\n\t\t\t\t\t\t\tthis.chartByPriority.chart.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by Priority\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
Total: {{ totalByPriority | number }}
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport { faFileExport, faTable } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { DatatableComponent } from \"@swimlane/ngx-datatable\";\r\nimport { AngularCsv } from \"angular-csv-ext/dist/Angular-csv\";\r\nimport * as moment from \"moment\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { HelperService } from \"../../services/helper.service\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { RequestListResponseModel } from \"../models/requestListResponseModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-rm\",\r\n\ttemplateUrl: \"./work-orders-open-rm.component.html\",\r\n})\r\nexport class WorkOrdersOpenRMComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tprivate messageService: MessageService,\r\n\t\tprivate helperService: HelperService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tprivate currentUpdateId: string = \"\";\r\n\tupdate(updateId: string) {\r\n\t\tthis.currentUpdateId = updateId;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadOpenRMWorkOrders(true);\r\n\t\t});\r\n\t}\r\n\r\n\t//#region table RM Work Orders\r\n\t@ViewChild(\"openRMWorkOrders\") tableOpenRMWorkOrders: DatatableComponent;\r\n\tloadingOpenRMWorkOrders: boolean = false;\r\n\ttableDataOpenRMWorkOrders = {\r\n\t\tpage: {\r\n\t\t\tsize: 20,\r\n\t\t\ttotalElements: 0,\r\n\t\t},\r\n\t\tsorts: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"id\",\r\n\t\t\t\tdir: \"asc\",\r\n\t\t\t},\r\n\t\t],\r\n\t\trows: [],\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tprop: \"id\",\r\n\t\t\t\tname: \"Id\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeNo\",\r\n\t\t\t\tname: \"Store No\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"storeName\",\r\n\t\t\t\tname: \"Store Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"vendorName\",\r\n\t\t\t\tname: \"Vendor Name\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"requestDate\",\r\n\t\t\t\tname: \"Request Date\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"daysOverdue\",\r\n\t\t\t\tname: \"Days Overdue\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"priority\",\r\n\t\t\t\tname: \"Priority\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"statusName\",\r\n\t\t\t\tname: \"Status\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprop: \"assetName\",\r\n\t\t\t\tname: \"AssetName – AssetCategory\",\r\n\t\t\t},\r\n\t\t],\r\n\t\tonSort: (event) => {\r\n\t\t\tthis.loadOpenRMWorkOrders(true);\r\n\t\t},\r\n\t\tonScroll: (event) => {\r\n\t\t\tif (event && event.currentTarget) {\r\n\t\t\t\tconst offsetY = event.currentTarget.scrollTop;\r\n\t\t\t\t// total height of all rows in the viewport\r\n\t\t\t\tconst viewHeight = event.currentTarget.clientHeight;\r\n\r\n\t\t\t\t// check if we scrolled to the end of the viewport\r\n\t\t\t\tif (\r\n\t\t\t\t\t!this.loadingOpenRMWorkOrders &&\r\n\t\t\t\t\toffsetY + viewHeight >=\r\n\t\t\t\t\t\t(this.tableDataOpenRMWorkOrders.rows.length - 4) * 38 /*rowHeight*/\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.loadOpenRMWorkOrders(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tonNameClick: (row) => {\r\n\t\t\tif (event.type == \"click\") {\r\n\t\t\t\twindow.open(\r\n\t\t\t\t\tthis.whiteLabelService.getOldDashboardUrl() +\r\n\t\t\t\t\t\t\"/FM/RequestDetails?requestid=\" +\r\n\t\t\t\t\t\trow.id,\r\n\t\t\t\t\t\"_blank\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableOpenRMWorkOrders.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t},\r\n\t};\r\n\tloadOpenRMWorkOrders(cleanup: boolean) {\r\n\t\tif (\r\n\t\t\t!cleanup &&\r\n\t\t\tthis.tableDataOpenRMWorkOrders.rows.length >=\r\n\t\t\t\tthis.tableDataOpenRMWorkOrders.page.totalElements\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingOpenRMWorkOrders = true;\r\n\t\tlet body = new QueryOptionsPagingModel();\r\n\t\tbody.paging = {\r\n\t\t\tlimit: this.tableDataOpenRMWorkOrders.page.size,\r\n\t\t\tcurrentPage: cleanup\r\n\t\t\t\t? 1\r\n\t\t\t\t: Math.round(\r\n\t\t\t\t\t\tthis.tableDataOpenRMWorkOrders.rows.length /\r\n\t\t\t\t\t\t\tthis.tableDataOpenRMWorkOrders.page.size\r\n\t\t\t\t ) + 1,\r\n\t\t};\r\n\t\tlet sorts = [];\r\n\t\tthis.tableOpenRMWorkOrders.sorts.forEach((element) => {\r\n\t\t\tsorts.push({\r\n\t\t\t\tfield: element.prop,\r\n\t\t\t\torder: this.workOrderReportService.capitalizeFirstLetter(element.dir),\r\n\t\t\t});\r\n\t\t});\r\n\t\tbody.sortBy = sorts;\r\n\t\tlet body2 = this.fillBody(body, this.stateService.getCurrentDateRange());\r\n\t\tlet emptyResult = false;\r\n\t\tif (body2.filter.requestTypes) {\r\n\t\t\tvar index = body2.filter.requestTypes.indexOf(\"Planned\");\r\n\t\t\tif (index !== -1) {\r\n\t\t\t\tbody2.filter.requestTypes.splice(index, 1);\r\n\t\t\t\tif (body2.filter.requestTypes.length === 0) {\r\n\t\t\t\t\temptyResult = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (emptyResult) {\r\n\t\t\tthis.subscribeTableDataOpenRMWorkOrders([], cleanup);\r\n\t\t} else {\r\n\t\t\tif (!body2.filter.requestTypes || body2.filter.requestTypes.length === 0) {\r\n\t\t\t\tbody2.filter.requestTypes = [\"Reactive\", \"Incident\"];\r\n\t\t\t}\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestList(body2)\r\n\t\t\t\t\t.subscribe((data) =>\r\n\t\t\t\t\t\tthis.subscribeTableDataOpenRMWorkOrders(data, cleanup)\r\n\t\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tsubscribeTableDataOpenRMWorkOrders(\r\n\t\tdata: RequestListResponseModel[],\r\n\t\tcleanup: boolean\r\n\t) {\r\n\t\tif (this.woFiltersService.getCurrentUpdateId() === this.currentUpdateId) {\r\n\t\t\tlet newData = [];\r\n\t\t\tdata.forEach((element) => {\r\n\t\t\t\tlet d = moment(element.requestDate);\r\n\t\t\t\tconst duration = this.helperService.convertDecimalDaysToDaysAndHours(element.daysOverdue);\r\n\t\t\t\tlet newRow = {\r\n\t\t\t\t\tid: element.id,\r\n\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\tstoreName: element.storeName,\r\n\t\t\t\t\tvendorName: element.vendorName,\r\n\t\t\t\t\trequestDate: d.format(\"DD-MM-YYYY HH:mm\"),\r\n\t\t\t\t\tdaysOverdue: `${duration.days}d, ${duration.hours}h`,\r\n\t\t\t\t\tpriority: element.priority,\r\n\t\t\t\t\tassetName: `${element.assetName} - ${element.assetCategory}`,\r\n\t\t\t\t\tstatusName: element.statusName,\r\n\t\t\t\t\trequestType: element.requestType,\r\n\t\t\t\t};\r\n\t\t\t\tnewData.push(newRow);\r\n\t\t\t});\r\n\t\t\tif (\r\n\t\t\t\tdata.length > 0 &&\r\n\t\t\t\tthis.tableDataOpenRMWorkOrders.page.totalElements !== data[0].totalCount\r\n\t\t\t) {\r\n\t\t\t\tthis.tableDataOpenRMWorkOrders.page.totalElements = data[0].totalCount;\r\n\t\t\t}\r\n\t\t\tlet dataArray;\r\n\t\t\tif (cleanup) {\r\n\t\t\t\tdataArray = [];\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.tableOpenRMWorkOrders.offset = 0;\r\n\t\t\t\t\tthis.tableOpenRMWorkOrders.bodyComponent.updateOffsetY(0);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdataArray = this.tableDataOpenRMWorkOrders.rows;\r\n\t\t\t}\r\n\t\t\tdataArray = dataArray.concat(newData);\r\n\t\t\tthis.tableDataOpenRMWorkOrders.rows = [...dataArray];\r\n\t\t\tthis.loadingOpenRMWorkOrders = false;\r\n\t\t\tthis.ref.detectChanges();\r\n\t\t}\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t//#region export CSV\r\n\r\n\tpublic inProgressExportCSV: boolean = false;\r\n\tprivate totalExport: number = -1;\r\n\tprivate dataExport: RequestListResponseModel[];\r\n\texportCsv() {\r\n\t\tthis.inProgressExportCSV = true;\r\n\t\tthis.dataExport = [];\r\n\t\tthis.totalExport = -1;\r\n\t\tlet body = this.fillBody(\r\n\t\t\tnew QueryOptionsPagingModel(),\r\n\t\t\tthis.stateService.getCurrentDateRange()\r\n\t\t);\r\n\t\tbody.filter.requestTypes = [\"Reactive\", \"Incident\"];\r\n\r\n\t\tthis.exportCsvRequest(body);\r\n\t}\r\n\r\n\texportCsvRequest(body: any) {\r\n\t\tconst limit = 10000;\r\n\t\tbody.paging = {\r\n\t\t\tlimit: limit,\r\n\t\t\tcurrentPage:\r\n\t\t\t\tthis.totalExport < 0 ? 1 : Math.round(this.dataExport.length / limit) + 1,\r\n\t\t};\r\n\t\tthis.subs.add(\r\n\t\t\tthis.workOrderReportService.getRequestList(body).subscribe((data) => {\r\n\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\tthis.totalExport = data[0].totalCount;\r\n\t\t\t\t\tthis.dataExport.push(...data);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.dataExport.length >= this.totalExport) {\r\n\t\t\t\t\tthis.inProgressExportCSV = false;\r\n\t\t\t\t\tif (this.dataExport.length > 0) {\r\n\t\t\t\t\t\tlet headers = Object.getOwnPropertyNames(data[0]);\r\n\t\t\t\t\t\t//console.log(\"filterStoreLabel: \" + this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterStoreLabel != \"store\") {\r\n\t\t\t\t\t\t\t// replace store with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"store\", this.whiteLabelService.getSettings.filterStoreLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Store\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterStoreLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.filterVendorLabel != \"vendor\") {\r\n\t\t\t\t\t\t\t// replace vendor with whitelabel setting in all headers\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"vendor\", this.whiteLabelService.getSettings.filterVendorLabel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\theaders = headers.map((header) =>\r\n\t\t\t\t\t\t\t\theader.replace(\"Vendor\", this.whiteLabelService.capitalizeFirstLetter(this.whiteLabelService.getSettings.filterVendorLabel))\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet options = {\r\n\t\t\t\t\t\t\tfieldSeparator: \",\",\r\n\t\t\t\t\t\t\tquoteStrings: '\"',\r\n\t\t\t\t\t\t\tdecimalseparator: \".\",\r\n\t\t\t\t\t\t\tshowLabels: true,\r\n\t\t\t\t\t\t\theaders: headers,\r\n\t\t\t\t\t\t\tshowTitle: false,\r\n\t\t\t\t\t\t\ttitle: \"export\",\r\n\t\t\t\t\t\t\tuseBom: true,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tnew AngularCsv(this.dataExport, \"export\", options);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.messageService.info(\"CSV Export\", \"No data\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exportCsvRequest(body);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaFileExport = faFileExport;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tOpen RM Work Orders\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.storeNo}} - {{row.storeName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}:\r\n\t\t\t\t\t\t\t\t{{row.vendorName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tRequest Date: {{row.requestDate}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPriority: {{row.priority}}\r\n\t\t\t\t\t\t\t\tIncident\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tStatus: {{row.statusName}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tAsset: {{row.assetName}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\tIncident\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-state-pm\",\r\n\ttemplateUrl: \"./work-orders-open-state-pm.component.html\",\r\n})\r\nexport class WorkOrdersOpenStatePMComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByState: boolean;\r\n\r\n\tchartConfigByStatePM = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tlet datasetIndex = tooltipItem[\"datasetIndex\"];\r\n\t\t\t\t\t\tlet datasetIndex2;\r\n\t\t\t\t\t\tif (datasetIndex === 0 || datasetIndex === 2) {\r\n\t\t\t\t\t\t\tdatasetIndex2 = datasetIndex + 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdatasetIndex2 = datasetIndex - 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet value = data[\"datasets\"][datasetIndex][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tlet value2 =\r\n\t\t\t\t\t\t\tdata[\"datasets\"][datasetIndex2][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tlet total = value + value2;\r\n\t\t\t\t\t\tlet percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByStatePM.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tvar value = activePoints[0]._model.label;\r\n\t\t\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\t\t\tthis.woFiltersService.selectedStoreType = [value];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.woFiltersService.selectedState = [value];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"statePMChart\") chartByStatePM: ChartComponent;\r\n\r\n\tpublic hasBack(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByState = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByState = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet datasourcesPM = [\"Resolve KPI Fail\", \"Resolve KPI Success\"];\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryStoreType(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newDataPM = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailSuccessColors();\r\n\t\t\t\t\t\t\tdatasourcesPM.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewDataPM.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: [],\r\n\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t\tstack: \"stack1\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t\t\tnewDataPM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\telement.data.push(0);\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\t\t\tnewDataPM[0].data[indexState] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\tnewDataPM[1].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\telement.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.chartConfigByStatePM.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByStatePM.data.datasets = newDataPM;\r\n\t\t\t\t\t\t\tif (this.chartByStatePM) {\r\n\t\t\t\t\t\t\t\tthis.chartByStatePM.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryState(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newDataPM = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailSuccessColors();\r\n\t\t\t\t\t\t\tdatasourcesPM.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewDataPM.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: [],\r\n\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t\tstack: \"stack1\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t\t\tnewDataPM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\telement.data.push(0);\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\t\tif (element.requestType == \"Planned\") {\r\n\t\t\t\t\t\t\t\t\tnewDataPM[0].data[indexState] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\tnewDataPM[1].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\telement.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tvar array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tthis.chartConfigByStatePM.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByStatePM.data.datasets = newDataPM;\r\n\t\t\t\t\t\t\tif (this.chartByStatePM) {\r\n\t\t\t\t\t\t\t\tthis.chartByStatePM.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tOpen PM KPI Status by {{facilityTypeMode ? \"Facility Type\" : \"State\"}} ({{facilityTypeMode ? woFiltersService.selectedStoreType : woFiltersService.selectedState}})\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-state-rm\",\r\n\ttemplateUrl: \"./work-orders-open-state-rm.component.html\",\r\n})\r\nexport class WorkOrdersOpenStateRMComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByState: boolean;\r\n\tloadedByStateRMDrilldown: boolean;\r\n\tchartConfigByStateRM = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstacked: true,\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\tlet datasetIndex = tooltipItem[\"datasetIndex\"];\r\n\t\t\t\t\t\tlet datasetIndex2;\r\n\t\t\t\t\t\tif (datasetIndex === 0 || datasetIndex === 2) {\r\n\t\t\t\t\t\t\tdatasetIndex2 = datasetIndex + 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdatasetIndex2 = datasetIndex - 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlet value = data[\"datasets\"][datasetIndex][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tlet value2 =\r\n\t\t\t\t\t\t\tdata[\"datasets\"][datasetIndex2][\"data\"][tooltipItem[\"index\"]];\r\n\t\t\t\t\t\tlet total = value + value2;\r\n\t\t\t\t\t\tlet percent = total == 0 ? 0 : (100 * value) / total;\r\n\t\t\t\t\t\treturn `${value.toLocaleString()} (${percent.toLocaleString(undefined, {\r\n\t\t\t\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t\t\t\t\tmaximumFractionDigits: 0,\r\n\t\t\t\t\t\t})}%)`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByStateRM.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (\r\n\t\t\t\t\tactivePoints &&\r\n\t\t\t\t\tactivePoints.length > 0 &&\r\n\t\t\t\t\tactivePoints[0]._model &&\r\n\t\t\t\t\tactivePoints[0]._model.label\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tvar value = activePoints[0]._model.label;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.woFiltersService.selectedPriority = [value];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType = [value];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.woFiltersService.selectedState = [value];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"stateRMChart\") chartByStateRM: ChartComponent;\r\n\r\n\tpublic hasBack(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByState = false;\r\n\t\tthis.loadedByStateRMDrilldown = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByState = false;\r\n\t\tthis.loadedByStateRMDrilldown = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tlet state = this.facilityTypeMode\r\n\t\t\t? this.woFiltersService.selectedStoreType\r\n\t\t\t: this.woFiltersService.selectedState;\r\n\t\tlet datasourcesRM = [\r\n\t\t\t\"Respond KPI Fail\",\r\n\t\t\t\"Respond KPI Success\",\r\n\t\t\t\"Resolve KPI Fail\",\r\n\t\t\t\"Resolve KPI Success\",\r\n\t\t];\r\n\r\n\t\tif (state && state.length > 0) {\r\n\t\t\t// drilldown #1\r\n\t\t\tbody.filter.requestTypes = [\"Reactive\"];\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryPriority(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByStateRMDrilldown = true;\r\n\t\t\t\t\t\t\tlet newDataRM = [];\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet priorities = [];\r\n\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailSuccessColors();\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\tdatasourcesRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewDataRM.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: [],\r\n\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t\tstack: i < 2 ? \"stack1\" : \"stack2\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!priorities.includes(element.priority)) {\r\n\t\t\t\t\t\t\t\t\tpriorities.push(element.priority);\r\n\t\t\t\t\t\t\t\t\tnewDataRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\telement.data.push(0);\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlet indexState = priorities.indexOf(element.priority);\r\n\t\t\t\t\t\t\t\tnewDataRM[0].data[indexState] += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\tnewDataRM[1].data[indexState] += element.count - element.respondKPIFail;\r\n\t\t\t\t\t\t\t\tnewDataRM[2].data[indexState] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\tnewDataRM[3].data[indexState] += element.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = priorities;\r\n\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.datasets = newDataRM;\r\n\t\t\t\t\t\t\tif (this.chartByStateRM) {\r\n\t\t\t\t\t\t\t\tthis.chartByStateRM.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\t// main chart\r\n\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\tthis.subs.add(\r\n\t\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t\t.getRequestSummaryStoreType(body)\r\n\t\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\t\tlet newDataRM = [];\r\n\t\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailSuccessColors();\r\n\t\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\tdatasourcesRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\tnewDataRM.push({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\t\t\tdata: [],\r\n\t\t\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t\t\t\tstack: i < 2 ? \"stack1\" : \"stack2\",\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.data.push(0);\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlet indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[0].data[indexState] += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[1].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.count - element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[2].data[indexState] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[3].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tnewLabels = states;\r\n\r\n\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.labels = newLabels;\r\n\t\t\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.datasets = newDataRM;\r\n\t\t\t\t\t\t\t\t\tif (this.chartByStateRM) {\r\n\t\t\t\t\t\t\t\t\t\tthis.chartByStateRM.chart.update();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tthis.subs.add(\r\n\t\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t\t.getRequestSummaryState(body)\r\n\t\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\t\tlet newDataRM = [];\r\n\t\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\t\tlet colors = this.whiteLabelService.getKPIFailSuccessColors();\r\n\t\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\tdatasourcesRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\tnewDataRM.push({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: colors[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\t\t\tdata: [],\r\n\t\t\t\t\t\t\t\t\t\t\ttype: \"bar\",\r\n\t\t\t\t\t\t\t\t\t\t\tstack: i < 2 ? \"stack1\" : \"stack2\",\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM.forEach((element) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.data.push(0);\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tlet indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\telement.requestType == \"Reactive\" ||\r\n\t\t\t\t\t\t\t\t\t\t\telement.requestType == \"Incident\"\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[0].data[indexState] += element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[1].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.count - element.respondKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[2].data[indexState] += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t\tnewDataRM[3].data[indexState] +=\r\n\t\t\t\t\t\t\t\t\t\t\t\telement.count - element.resolveKPIFail;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tnewLabels = states;\r\n\r\n\t\t\t\t\t\t\t\tif (!(state && state.length > 0)) {\r\n\t\t\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.labels = newLabels;\r\n\t\t\t\t\t\t\t\t\tthis.chartConfigByStateRM.data.datasets = newDataRM;\r\n\t\t\t\t\t\t\t\t\tif (this.chartByStateRM) {\r\n\t\t\t\t\t\t\t\t\t\tthis.chartByStateRM.chart.update();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\tOpen RM KPI Status by {{facilityTypeMode ? \"Facility Type\" : \"State\"}} by Priority ({{facilityTypeMode ? woFiltersService.selectedStoreType : woFiltersService.selectedState}} 0\"> - {{woFiltersService.selectedPriority}})\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild,\r\n} from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaChartColumn,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ChartComponent } from \"angular2-chartjs\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { QueryOptionsModel } from \"../models/queryOptionsModel\";\r\nimport { QueryOptionsPagingModel } from \"../models/queryOptionsPagingModel\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"../services/work-order-report.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open-state\",\r\n\ttemplateUrl: \"./work-orders-open-state.component.html\",\r\n})\r\nexport class WorkOrdersOpenStateComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByState: boolean;\r\n\tchartConfigByState = {\r\n\t\ttype: \"bar\",\r\n\t\tdata: {\r\n\t\t\tlabels: [],\r\n\t\t\tdatasets: [],\r\n\t\t},\r\n\t\toptions: {\r\n\t\t\tresponsive: true,\r\n\t\t\tmaintainAspectRatio: false,\r\n\t\t\tlegend: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t},\r\n\t\t\tscales: {\r\n\t\t\t\txAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tautoSkip: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tyAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: \"linear\", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance\r\n\t\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\t\tposition: \"left\",\r\n\t\t\t\t\t\tid: \"y-axis-1\",\r\n\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\t\tcallback: function (label, index, labels) {\r\n\t\t\t\t\t\t\t\treturn `${label.toLocaleString()}`;\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\ttooltips: {\r\n\t\t\t\tcallbacks: {\r\n\t\t\t\t\ttitle: function (tooltipItem, data) {\r\n\t\t\t\t\t\tvar title = data[\"datasets\"][tooltipItem[0][\"datasetIndex\"]].label;\r\n\t\t\t\t\t\treturn title === null ? \"null\" : title;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tlabel: function (tooltipItem, data) {\r\n\t\t\t\t\t\treturn `${tooltipItem.yLabel.toLocaleString()}`;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tonClick: (event) => {\r\n\t\t\t\tvar activePoints = this.chartByState.chart.getElementsAtEvent(event);\r\n\t\t\t\tif (activePoints && activePoints.length > 0) {\r\n\t\t\t\t\tfor (var i = 0; i < activePoints.length; i++) {\r\n\t\t\t\t\t\tif (activePoints[i]._model && activePoints[i]._model.label) {\r\n\t\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\t\tvar value = activePoints[i]._model.label;\r\n\t\t\t\t\t\t\tif (this.facilityTypeMode) {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedStoreType = [value];\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.woFiltersService.selectedState = [value];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\t@ViewChild(\"stateChart\") chartByState: ChartComponent;\r\n\r\n\tpublic hasBack(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType &&\r\n\t\t\t\tthis.woFiltersService.selectedStoreType.length > 0) ||\r\n\t\t\t(!this.facilityTypeMode &&\r\n\t\t\t\tthis.woFiltersService.selectedState &&\r\n\t\t\t\tthis.woFiltersService.selectedState.length > 0)\r\n\t\t);\r\n\t}\r\n\r\n\tbackgroundColor = [];\r\n\thoverBackgroundColor = [];\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(\r\n\t\tprivate ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate whiteLabelService: WhiteLabelService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService\r\n\t) {\r\n\t\tlet colors = whiteLabelService.getDefaultChartColors();\r\n\t\tthis.backgroundColor = colors.backgroundColors;\r\n\t\tthis.hoverBackgroundColor = colors.hoverBackgroundColors;\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByState = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(\r\n\t\t\tthis.woFiltersService.getUpdateId.subscribe((value) => {\r\n\t\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(\r\n\t\tbody: QueryOptionsModel | QueryOptionsPagingModel,\r\n\t\tdateRange: IMyDateRangeModel\r\n\t): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = [\"Open\"];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByState = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\tif (this.facilityTypeMode) {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryStoreType(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.storeType)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.storeType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (!types.includes(element.requestType)) {\r\n\t\t\t\t\t\t\t\t\ttypes.push(element.requestType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tlet array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet colors2 = this.whiteLabelService.getIncidentPlannedReactiveColors();\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors2[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors2[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tvar indexType = types.indexOf(element.requestType);\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.storeType);\r\n\t\t\t\t\t\t\t\tnewData[indexType].data[indexState] += element.count;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.datasets = newData;\r\n\t\t\t\t\t\t\tif (this.chartByState) {\r\n\t\t\t\t\t\t\t\tthis.chartByState.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.subs.add(\r\n\t\t\t\tthis.workOrderReportService\r\n\t\t\t\t\t.getRequestSummaryState(body)\r\n\t\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\t\t\tthis.loadedByState = true;\r\n\t\t\t\t\t\t\tlet newLabels = [];\r\n\t\t\t\t\t\t\tlet newData = [];\r\n\t\t\t\t\t\t\tlet states = [];\r\n\t\t\t\t\t\t\tlet types = [];\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tif (!states.includes(element.state)) {\r\n\t\t\t\t\t\t\t\t\tstates.push(element.state);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (!types.includes(element.requestType)) {\r\n\t\t\t\t\t\t\t\t\ttypes.push(element.requestType);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewLabels = states;\r\n\t\t\t\t\t\t\tlet array = [];\r\n\t\t\t\t\t\t\tstates.forEach((element2) => {\r\n\t\t\t\t\t\t\t\tarray.push(0);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlet colors2 = this.whiteLabelService.getIncidentPlannedReactiveColors();\r\n\t\t\t\t\t\t\tlet i = 0;\r\n\t\t\t\t\t\t\ttypes.sort();\r\n\t\t\t\t\t\t\ttypes.forEach((element) => {\r\n\t\t\t\t\t\t\t\tnewData.push({\r\n\t\t\t\t\t\t\t\t\tlabel: element,\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: colors2[element].backgroundColor,\r\n\t\t\t\t\t\t\t\t\thoverBackgroundColor: colors2[element].hoverBackgroundColor,\r\n\t\t\t\t\t\t\t\t\tyAxisID: \"y-axis-1\",\r\n\t\t\t\t\t\t\t\t\tdata: array.slice(),\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\ti++;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tdata.forEach((element) => {\r\n\t\t\t\t\t\t\t\tvar indexType = types.indexOf(element.requestType);\r\n\t\t\t\t\t\t\t\tvar indexState = states.indexOf(element.state);\r\n\t\t\t\t\t\t\t\tnewData[indexType].data[indexState] += element.count;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.labels = newLabels;\r\n\t\t\t\t\t\t\tthis.chartConfigByState.data.datasets = newData;\r\n\t\t\t\t\t\t\tif (this.chartByState) {\r\n\t\t\t\t\t\t\t\tthis.chartByState.chart.update();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\t//#endregion\r\n\r\n\t// Icons\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n}\r\n","
\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by {{facilityTypeMode ? \"Facility Type\" : \"State\"}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tViewChild,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaTable\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tDecimalPipe\r\n} from '@angular/common';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\n\r\n@Component({\r\n\tselector: 'app-work-orders-open-store',\r\n\ttemplateUrl: './work-orders-open-store.component.html'\r\n})\r\nexport class WorkOrdersOpenStoreComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByStore: boolean;\r\n\ttableDataByStore = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'storeNo',\r\n\t\t\tname: 'Store No',\r\n\t\t\theaderClass: 'col-2',\r\n\t\t\tcellClass: 'col-2 cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false\r\n\t\t}, {\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Name',\r\n\t\t\theaderClass: 'col-3',\r\n\t\t\tcellClass: 'col-3 cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false\r\n\t\t}, {\r\n\t\t\tprop: 'state',\r\n\t\t\tname: 'State',\r\n\t\t\theaderClass: 'col-2',\r\n\t\t\tcellClass: 'col-2 cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false\r\n\t\t}, {\r\n\t\t\tprop: 'Incident',\r\n\t\t\tname: 'Incident',\r\n\t\t\theaderClass: 'text-right',\r\n\t\t\tcellClass: 'text-right cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}, {\r\n\t\t\tprop: 'Planned',\r\n\t\t\tname: 'Planned',\r\n\t\t\theaderClass: 'col text-right',\r\n\t\t\tcellClass: 'col text-right cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}, {\r\n\t\t\tprop: 'Reactive',\r\n\t\t\tname: 'Reactive',\r\n\t\t\theaderClass: 'col text-right',\r\n\t\t\tcellClass: 'col text-right cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}, {\r\n\t\t\tprop: 'Total',\r\n\t\t\tname: 'Total',\r\n\t\t\theaderClass: 'col text-right',\r\n\t\t\tcellClass: 'col text-right cursor-pointer',\r\n\t\t\tresizeable: false,\r\n\t\t\tdraggable: false,\r\n\t\t\tpipe: new DecimalPipe(\"en-US\")\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.stores.length; i++) {\r\n\t\t\t\tif (this.woFiltersService.stores[i].id === row.id) {\r\n\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\tthis.woFiltersService.selectedStore = [this.woFiltersService.stores[i]];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.tableByStore.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('openWOStoreTable') tableByStore: DatatableComponent;\r\n\r\n\tpublic facilityTypeMode: boolean;\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic whiteLabelService: WhiteLabelService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService) {\r\n\t\tthis.facilityTypeMode = this.whiteLabelService.getFacilityTypeMode;\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByStore = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByStore = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Table 3\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryEntity(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet headers = [\"Incident\", \"Planned\", \"Reactive\", \"Total\"];\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [];\r\n\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\tnewTotal.push(0);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.name}--${element.storeNo}`;\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\tstoreNo: element.storeNo,\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\tstate: this.facilityTypeMode ? element.storeType : element.state,\r\n\t\t\t\t\t\t\t\tcount: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\t\t\tnewRow[element] = 0;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId][element.requestType] += element.count;\r\n\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.count;\r\n\t\t\t\t\t\tlet index = headers.indexOf(element.requestType);\r\n\t\t\t\t\t\tnewTotal[index] += element.count;\r\n\t\t\t\t\t\tlet indexTotal = headers.indexOf(\"Total\");\r\n\t\t\t\t\t\tnewTotal[indexTotal] += element.count;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataByStore.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByStore.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByStore = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\r\n}","
0}\">\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by {{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterStoreLabel)}}\r\n\t\t

\r\n\t\t
0\">\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident: {{row.Incident | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned: {{row.Planned | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive: {{row.Reactive | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: {{row.Total | number}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tChangeDetectorRef,\r\n\tOnDestroy\r\n} from '@angular/core';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tfaInfo\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'app-work-orders-open-summary',\r\n\ttemplateUrl: './work-orders-open-summary.component.html'\r\n})\r\nexport class WorkOrdersOpenSummaryComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedOpenSummary: boolean;\r\n\topenRM: number = 0;\r\n\topenPM: number = 0;\r\n\r\n\tloadedKPISummary: boolean;\r\n\tp1KPI: number = 0;\r\n\tp2KPI: number = 0;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedOpenSummary = false;\r\n\t\tthis.loadedKPISummary = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedOpenSummary = false;\r\n\t\tthis.loadedKPISummary = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Item 1, 2\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummary(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.openRM = 0;\r\n\t\t\t\t\tthis.openPM = 0;\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tif (element.requestType == 'Reactive' || element.requestType == 'Incident') {\r\n\t\t\t\t\t\t\tthis.openRM += element.count;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (element.requestType == 'Planned') {\r\n\t\t\t\t\t\t\tthis.openPM += element.count;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadedOpenSummary = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\r\n\t\t//#region Item 3, 4\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryPriority(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tthis.p1KPI = 0;\r\n\t\t\t\t\tthis.p2KPI = 0;\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tif (element.priority) {\r\n\t\t\t\t\t\t\tif (element.priority.startsWith('P1')) {\r\n\t\t\t\t\t\t\t\tthis.p1KPI += element.respondKPIFail;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (element.priority.startsWith('P2')) {\r\n\t\t\t\t\t\t\t\tthis.p2KPI += element.resolveKPIFail;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadedKPISummary = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Summary\r\n\t\t

\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{{openRM | number}}Open RM
\r\n\t\t\t\t
{{openPM | number}}Open PM
\r\n\t\t\t\t
{{p1KPI | number}}P1 missed KPI
\r\n\t\t\t\t
{{p2KPI | number}}P2 missed KPI
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
Loading...
\r\n\t
\r\n
\r\n","import {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tViewChild\r\n} from '@angular/core';\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaTable,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tDatatableComponent\r\n} from '@swimlane/ngx-datatable';\r\nimport {\r\n\tIMyDateRangeModel\r\n} from 'mydaterangepicker';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport {\r\n\tStateService\r\n} from '../../services/state.service';\r\nimport { WhiteLabelService } from '../../services/white-label.service';\r\nimport {\r\n\tQueryOptionsModel\r\n} from '../models/queryOptionsModel';\r\nimport {\r\n\tQueryOptionsPagingModel\r\n} from '../models/queryOptionsPagingModel';\r\nimport {\r\n\tWOFiltersService\r\n} from '../services/wo-filters.service';\r\nimport {\r\n\tWorkOrderReportService\r\n} from '../services/work-order-report.service';\r\n\r\n@Component({\r\n\tselector: 'app-work-orders-open-vendor',\r\n\ttemplateUrl: './work-orders-open-vendor.component.html'\r\n})\r\nexport class WorkOrdersOpenVendorComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tloadedByVendor: boolean;\r\n\ttableDataByVendor = {\r\n\t\trows: [],\r\n\t\tcolumns: [{\r\n\t\t\tprop: 'name',\r\n\t\t\tname: 'Vendor Name'\r\n\t\t}, {\r\n\t\t\tprop: 'Incident',\r\n\t\t\tname: 'Incident'\r\n\t\t}, {\r\n\t\t\tprop: 'Planned',\r\n\t\t\tname: 'Planned'\r\n\t\t}, {\r\n\t\t\tprop: 'Reactive',\r\n\t\t\tname: 'Reactive'\r\n\t\t}, {\r\n\t\t\tprop: 'Total',\r\n\t\t\tname: 'Total'\r\n\t\t}],\r\n\t\ttotal: [],\r\n\t\tonNameClick: (row) => {\r\n\t\t\tfor (var i = 0; i < this.woFiltersService.vendors.length; i++) {\r\n\t\t\t\tif (this.whiteLabelService.getSettings.enableNewVendorFilter) {\r\n\t\t\t\t\tif (this.woFiltersService.vendorNames[i].name === row.name) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendorNames = [this.woFiltersService.vendorNames[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.woFiltersService.vendors[i].id === row.id) {\r\n\t\t\t\t\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t\t\t\t\tthis.woFiltersService.selectedVendor = [this.woFiltersService.vendors[i]];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleExpandRow: (row) => {\r\n\t\t\t//console.log('Toggled Expand Row!', row);\r\n\t\t\tthis.openWOVendorTable.rowDetail.toggleExpandRow(row);\r\n\t\t},\r\n\t\tonDetailToggle: (event) => {\r\n\t\t\t//console.log('Detail Toggled', event);\r\n\t\t}\r\n\t};\r\n\t@ViewChild('openWOVendorTable') openWOVendorTable: DatatableComponent;\r\n\r\n\tconstructor(private ref: ChangeDetectorRef,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tprivate workOrderReportService: WorkOrderReportService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.loadedByVendor = false;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.subs.add(this.woFiltersService.getUpdateId.subscribe(value => {\r\n\t\t\tthis.update(this.stateService.getCurrentDateRange(), value);\r\n\t\t}));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tfillBody(body: QueryOptionsModel | QueryOptionsPagingModel, dateRange: IMyDateRangeModel): QueryOptionsModel | QueryOptionsPagingModel {\r\n\t\tbody = this.woFiltersService.fillBody(body, dateRange);\r\n\t\tbody.filter.overallStatuses = ['Open'];\r\n\t\tbody = this.woFiltersService.fillBodyEndDateThisMonth(body);\r\n\t\treturn body;\r\n\t}\r\n\r\n\tupdate(dateRange: IMyDateRangeModel, updateId: string) {\r\n\t\tthis.loadedByVendor = false;\r\n\t\tlet body = this.fillBody(new QueryOptionsModel(), dateRange);\r\n\r\n\t\t//#region Table 1\r\n\t\tthis.subs.add(this.workOrderReportService.getRequestSummaryVendor(body)\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tif (this.woFiltersService.getCurrentUpdateId() === updateId) {\r\n\t\t\t\t\tlet headers = [\"Incident\", \"Planned\", \"Reactive\", \"Total\"];\r\n\t\t\t\t\tlet newData: {\r\n\t\t\t\t\t\t[id: string]: any;\r\n\t\t\t\t\t} = {};\r\n\t\t\t\t\tlet newTotal = [];\r\n\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\tnewTotal.push(0);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata.forEach(element => {\r\n\t\t\t\t\t\tlet rowId = `${element.name}--${element.vendorNo}`;\r\n\t\t\t\t\t\t//console.log(\"ignore vendorNo: \" + this.whiteLabelService.getSettings.ignoreVendorNoGrouping)\r\n\t\t\t\t\t\tif (this.whiteLabelService.getSettings.ignoreVendorNoGrouping) {\r\n\t\t\t\t\t\t\trowId = `${element.name}`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//console.log(\"rowId: \" + rowId);\r\n\t\t\t\t\t\tif (typeof newData[rowId] === \"undefined\") {\r\n\t\t\t\t\t\t\tlet newRow = {\r\n\t\t\t\t\t\t\t\tid: element.id,\r\n\t\t\t\t\t\t\t\tname: element.name,\r\n\t\t\t\t\t\t\t\tcount: 0\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\theaders.forEach(element => {\r\n\t\t\t\t\t\t\t\tnewRow[element] = 0;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tnewData[rowId] = newRow;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tnewData[rowId][element.requestType] += element.count;\r\n\t\t\t\t\t\tnewData[rowId][\"Total\"] += element.count;\r\n\t\t\t\t\t\tlet index = headers.indexOf(element.requestType);\r\n\t\t\t\t\t\tnewTotal[index] += element.count;\r\n\t\t\t\t\t\tlet indexTotal = headers.indexOf(\"Total\");\r\n\t\t\t\t\t\tnewTotal[indexTotal] += element.count;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tlet newDataArray = [];\r\n\t\t\t\t\tfor (let key in newData) {\r\n\t\t\t\t\t\tnewDataArray.push(newData[key]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.tableDataByVendor.total = newTotal;\r\n\t\t\t\t\tthis.tableDataByVendor.rows = newDataArray;\r\n\t\t\t\t\tthis.loadedByVendor = true;\r\n\t\t\t\t\tthis.ref.detectChanges();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t//#endregion\r\n\t}\r\n\r\n\t// Icons\r\n\tfaTable = faTable;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\r\n}","
\r\n\t
\r\n\t\t

\r\n\t\t\t Open Work Orders by\r\n\t\t\t{{whiteLabelService.capitalizeFirstLetter(whiteLabelService.getSettings.filterVendorLabel)}}\r\n\t\t

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tIncident: {{row.Incident | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPlanned: {{row.Planned | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tReactive: {{row.Reactive | number}}\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tTotal: {{row.Total | number}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{value}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{column.name}}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{value | number}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n\tfaArrowAltCircleLeft,\r\n\tfaCalendarAlt,\r\n\tfaCaretDown,\r\n\tfaChartColumn,\r\n\tfaClipboardList,\r\n\tfaColumns,\r\n\tfaFilter,\r\n\tfaHourglassEnd,\r\n\tfaInfo,\r\n\tfaTable,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { NgbNavChangeEvent } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { IMyDateRangeModel } from \"mydaterangepicker\";\r\nimport { Observable, Subscription } from \"rxjs\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { StateService } from \"../../services/state.service\";\r\nimport { WhiteLabelService } from \"../../services/white-label.service\";\r\nimport { WOFiltersService } from \"../services/wo-filters.service\";\r\n\r\n@Component({\r\n\tselector: \"app-work-orders-open\",\r\n\ttemplateUrl: \"./work-orders-open.component.html\",\r\n})\r\nexport class WorkOrdersOpenComponent implements OnInit, OnDestroy {\r\n\tprivate subs: Subscription = new Subscription();\r\n\tactive = 1;\r\n\r\n\tresetFilters() {\r\n\t\tthis.woFiltersService.resetFilters();\r\n\t\tthis.stateService.updateDateRange(\"null\", null, null);\r\n\t\tthis.stateService.setDateRange(null); // call update automatically\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic woFiltersService: WOFiltersService,\r\n\t\tpublic whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\troles$: Observable;\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\"Open Work Orders\");\r\n\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\r\n\t\tthis.woFiltersService.loadData();\r\n\t\tthis.subs.add(\r\n\t\t\tthis.stateService.getDateRange.subscribe((value: IMyDateRangeModel) => {\r\n\t\t\t\tthis.update();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tngDoCheck() {\r\n\t\tif (this.woFiltersService.isChanged()) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.unsubscribe();\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tlet currentUpdateId = Guid.create().toString();\r\n\t\tthis.woFiltersService.setUpdateId(currentUpdateId);\r\n\t}\r\n\r\n\tbeforeTabChange($event: NgbNavChangeEvent) {\r\n\t\tthis.woFiltersService.isCollapsed = false;\r\n\t\t// if ($event.nextId === \"tab-summary\") {\r\n\t\t// \tthis.woFiltersService.selectedDeliveryIndicators = [];\r\n\t\t// } else if ($event.nextId === \"tab-overdue\") {\r\n\t\t// \tthis.woFiltersService.selectedDeliveryIndicators = [\"Resolve Overdue\"];\r\n\t\t// }\r\n\t\tif ($event.nextId === 1) {\r\n\t\t\tthis.woFiltersService.selectedDeliveryIndicators = [];\r\n\t\t} else if ($event.nextId === 2) {\r\n\t\t\tthis.woFiltersService.selectedDeliveryIndicators = [\"Resolve Overdue\"];\r\n\t\t}\r\n\t}\r\n\r\n\t// Icons\r\n\tfaInfo = faInfo;\r\n\tfaColumns = faColumns;\r\n\tfaClipboardList = faClipboardList;\r\n\tfaCalendarAlt = faCalendarAlt;\r\n\tfaTable = faTable;\r\n\tfaChartColumn = faChartColumn;\r\n\tfaArrowAltCircleLeft = faArrowAltCircleLeft;\r\n\tfaFilter = faFilter;\r\n\tfaCaretDown = faCaretDown;\r\n\tfaHourglassEnd = faHourglassEnd;\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\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 styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'dashboard';\r\n}\r\n","
\r\n \r\n \r\n \r\n
","import { APP_INITIALIZER, NgModule } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { ChartModule } from \"angular2-chartjs\";\r\n// import ('../../node_modules/chartjs-plugin-funnel/dist/chart.funnel.min.js');\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FontAwesomeModule } from \"@fortawesome/angular-fontawesome\";\r\nimport { NgbModule, NgbNavModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\n\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { GoogleMapsModule } from \"@angular/google-maps\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { AngJsoneditorModule } from '@maaxgr/ang-jsoneditor';\r\nimport { AdalService } from \"adal-angular4\";\r\nimport { SimpleNotificationsModule } from \"angular2-notifications\";\r\nimport {\r\n\tDateRangeUtilService,\r\n\tMyDateRangePickerModule,\r\n} from \"mydaterangepicker\";\r\nimport { DpDatePickerModule } from \"ng2-date-picker\";\r\nimport { NgxColorsModule } from \"ngx-colors\";\r\nimport { AdalOptionalInterceptor } from \"./adal-optional.interceptor\";\r\nimport { AssetConditionsInfoByDescriptionService } from \"./app-assets/services/ac-by-description.service\";\r\nimport { AssetConditionsInfoByStoreService } from \"./app-assets/services/ac-by-store.service\";\r\nimport { AssetConditionsRatingsService } from \"./app-assets/services/ac-ratings.service\";\r\nimport { AssetConditionsStatsService } from \"./app-assets/services/ac-sats.service\";\r\nimport { EntitiesService } from \"./app-assets/services/entities.service\";\r\nimport { FilesService } from \"./app-assets/services/files.service\";\r\nimport { LifeCycleForecastService } from \"./app-assets/services/life-cycle-forecast.service\";\r\nimport { StoreFiltersService } from \"./app-assets/services/store-filters.service\";\r\nimport { StoreService } from \"./app-assets/services/store.service\";\r\nimport { AssetService } from \"./app-work-orders/services/asset.service\";\r\nimport { DashboardService } from \"./app-work-orders/services/dashboard.service\";\r\nimport { FinancialService } from \"./app-work-orders/services/financial.service\";\r\nimport { VendorKpiService } from \"./app-work-orders/services/vendor-kpi.service\";\r\nimport { WOFiltersService } from \"./app-work-orders/services/wo-filters.service\";\r\nimport { WorkOrderReportService } from \"./app-work-orders/services/work-order-report.service\";\r\nimport { DatePipeFull } from \"./datePipeFull\";\r\nimport { DecimalPipeCostTwoDigits } from \"./decimalPipeCostTwoDigits\";\r\nimport { DecimalPipeCostZeroDigits } from \"./decimalPipeCostZeroDigits\";\r\nimport { DecimalPipeTwoDigits } from \"./decimalPipeTwoDigits\";\r\nimport { DecimalPipeZeroDigits } from \"./decimalPipeZeroDigits\";\r\nimport { AuthGuard } from \"./services/auth-guard.service\";\r\nimport { AuthService } from \"./services/auth.service\";\r\nimport { MessageService } from \"./services/message.service\";\r\nimport { SettingsHttpService } from \"./services/settings.http.service\";\r\nimport { SettingsService } from \"./services/settings.service\";\r\nimport { StateService } from \"./services/state.service\";\r\nimport { WhiteLabelService } from \"./services/white-label.service\";\r\n\r\nimport { AssetConditionByDescriptionComponent } from \"./app-assets/asset-condition-by-description/asset-condition-by-description.component\";\r\nimport { AssetConditionByStoreComponent } from \"./app-assets/asset-condition-by-store/asset-condition-by-store.component\";\r\nimport { AssetConditionRatingComponent } from \"./app-assets/asset-condition-rating/asset-condition-rating.component\";\r\nimport { AssetConditionComponent } from \"./app-assets/asset-condition/asset-condition.component\";\r\nimport { AssetsComponent } from \"./app-assets/assets/assets.component\";\r\nimport { LifeCycleForecastComponent } from \"./app-assets/life-cycle-forecast/life-cycle-forecast.component\";\r\nimport { StoreDashboardComponent } from \"./app-assets/store-dashboard/store-dashboard.component\";\r\nimport { StoreInfoComponent } from \"./app-assets/store-info/store-info.component\";\r\nimport { AssetAffectingSTTableComponent } from \"./app-work-orders/asset-affecting-st-table/asset-affecting-st-table.component\";\r\nimport { AssetAvailabilityChartComponent } from \"./app-work-orders/asset-availability-chart/asset-availability-chart.component\";\r\nimport { AssetAvailabilityCriticalOfflineComponent } from \"./app-work-orders/asset-availability-critical-offline/asset-availability-critical-offline.component\";\r\nimport { AssetAvailabilitySummaryComponent } from \"./app-work-orders/asset-availability-summary/asset-availability-summary.component\";\r\nimport { AssetAvailabilityTableComponent } from \"./app-work-orders/asset-availability-table/asset-availability-table.component\";\r\nimport { AssetAvailabilityComponent } from \"./app-work-orders/asset-availability/asset-availability.component\";\r\nimport { AssetPerformanceAgeComponent } from \"./app-work-orders/asset-performance-age/asset-performance-age.component\";\r\nimport { AssetPerformanceMonthComponent } from \"./app-work-orders/asset-performance-month/asset-performance-month.component\";\r\nimport { AssetPerformanceSeriesComponent } from \"./app-work-orders/asset-performance-series/asset-performance-series.component\";\r\nimport { AssetPerformanceSummaryAssetComponent } from \"./app-work-orders/asset-performance-summary-asset/asset-performance-summary-asset.component\";\r\nimport { AssetPerformanceComponent } from \"./app-work-orders/asset-performance/asset-performance.component\";\r\nimport { FinancialActualBudgetCategoryComponent } from \"./app-work-orders/financial-actual-budget-category/financial-actual-budget-category.component\";\r\nimport { FinancialActualBudgetFuelNonFuelStateComponent } from \"./app-work-orders/financial-actual-budget-fuel-non-fuel-state/financial-actual-budget-fuel-non-fuel-state.component\";\r\nimport { FinancialActualBudgetStoreTypeStateComponent } from \"./app-work-orders/financial-actual-budget-store-type-state/financial-actual-budget-store-type-state.component\";\r\nimport { FinancialAssetCostComponent } from \"./app-work-orders/financial-asset-cost/financial-asset-cost.component\";\r\nimport { FinancialAssetCountComponent } from \"./app-work-orders/financial-asset-count/financial-asset-count.component\";\r\nimport { FinancialBudgetActualForecastMonthComponent } from \"./app-work-orders/financial-budget-actual-forecast-month/financial-budget-actual-forecast-month.component\";\r\nimport { FinancialBudgetActualForecastStateComponent } from \"./app-work-orders/financial-budget-actual-forecast-state/financial-budget-actual-forecast-state.component\";\r\nimport { FinancialForecastBudgetStoreGlComponent } from \"./app-work-orders/financial-forecast-budget-store-gl/financial-forecast-budget-store-gl.component\";\r\nimport { FinancialForecastBudgetStoreComponent } from \"./app-work-orders/financial-forecast-budget-store/financial-forecast-budget-store.component\";\r\nimport { FinancialSummaryComponent } from \"./app-work-orders/financial-summary/financial-summary.component\";\r\nimport { FinancialWOComponent } from \"./app-work-orders/financial-wo/financial-wo.component\";\r\nimport { FinancialComponent } from \"./app-work-orders/financial/financial.component\";\r\nimport { VendorPerformanceKpiReportComponent } from \"./app-work-orders/vendor-performance-kpi-report/vendor-performance-kpi-report.component\";\r\nimport { VendorPerformanceStatusMonthComponent } from \"./app-work-orders/vendor-performance-status-month/vendor-performance-status-month.component\";\r\nimport { VendorPerformanceStatusStateComponent } from \"./app-work-orders/vendor-performance-status-state/vendor-performance-status-state.component\";\r\nimport { VendorPerformanceStatusSummarySghComponent } from \"./app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary-sgh.component\";\r\nimport { VendorPerformanceStatusSummaryComponent } from \"./app-work-orders/vendor-performance-status-summary/vendor-performance-status-summary.component\";\r\nimport { VendorPerformanceStatusVendorPComponent } from \"./app-work-orders/vendor-performance-status-vendor-p/vendor-performance-status-vendor-p.component\";\r\nimport { VendorPerformanceStatusVendorRIComponent } from \"./app-work-orders/vendor-performance-status-vendor-ri/vendor-performance-status-vendor-ri.component\";\r\nimport { VendorPerformanceStatusComponent } from \"./app-work-orders/vendor-performance-status/vendor-performance-status.component\";\r\nimport { WeeklyStatusAssetComponent } from \"./app-work-orders/weekly-status-asset/weekly-status-asset.component\";\r\nimport { WeeklyStatusDailyVolumeComponent } from \"./app-work-orders/weekly-status-daily-volume/weekly-status-daily-volume.component\";\r\nimport { WeeklyStatusKPIPerformanceComponent } from \"./app-work-orders/weekly-status-kpi-performance/weekly-status-kpi-performance.component\";\r\nimport { WeeklyStatusTopComponent } from \"./app-work-orders/weekly-status-top/weekly-status-top.component\";\r\nimport { WeeklyStatusVolumePriorityComponent } from \"./app-work-orders/weekly-status-volume-priority/weekly-status-volume-priority.component\";\r\nimport { WeeklyStatusComponent } from \"./app-work-orders/weekly-status/weekly-status.component\";\r\nimport { WidgetConfigComponent } from \"./app-work-orders/widget-config/widget-config.component\";\r\nimport { WorkOrdersCompletedAssetComponent } from \"./app-work-orders/work-orders-completed-asset/work-orders-completed-asset.component\";\r\nimport { WorkOrdersCompletedMonthComponent } from \"./app-work-orders/work-orders-completed-month/work-orders-completed-month.component\";\r\nimport { WorkOrdersCompletedPriorityComponent } from \"./app-work-orders/work-orders-completed-priority/work-orders-completed-priority.component\";\r\nimport { WorkOrdersCompletedResolveComponent } from \"./app-work-orders/work-orders-completed-resolve/work-orders-completed-resolve.component\";\r\nimport { WorkOrdersCompletedRespondComponent } from \"./app-work-orders/work-orders-completed-respond/work-orders-completed-respond.component\";\r\nimport { WorkOrdersCompletedStateComponent } from \"./app-work-orders/work-orders-completed-state/work-orders-completed-state.component\";\r\nimport { WorkOrdersCompletedStoreComponent } from \"./app-work-orders/work-orders-completed-store/work-orders-completed-store.component\";\r\nimport { WorkOrdersCompletedSummaryComponent } from \"./app-work-orders/work-orders-completed-summary/work-orders-completed-summary.component\";\r\nimport { WorkOrdersCompletedVendorComponent } from \"./app-work-orders/work-orders-completed-vendor/work-orders-completed-vendor.component\";\r\nimport { WorkOrdersCompletedComponent } from \"./app-work-orders/work-orders-completed/work-orders-completed.component\";\r\nimport { WorkOrdersFiltersComponent } from \"./app-work-orders/work-orders-filters/work-orders-filters.component\";\r\nimport { WorkOrdersNavComponent } from \"./app-work-orders/work-orders-nav/work-orders-nav.component\";\r\nimport { WorkOrdersOpenAssetComponent } from \"./app-work-orders/work-orders-open-asset/work-orders-open-asset.component\";\r\nimport { WorkOrdersOpenOverdueDateComponent } from \"./app-work-orders/work-orders-open-overdue-date/work-orders-open-overdue-date.component\";\r\nimport { WorkOrdersOpenOverdueComponent } from \"./app-work-orders/work-orders-open-overdue/work-orders-open-overdue.component\";\r\nimport { WorkOrdersOpenPMComponent } from \"./app-work-orders/work-orders-open-pm/work-orders-open-pm.component\";\r\nimport { WorkOrdersOpenPriorityComponent } from \"./app-work-orders/work-orders-open-priority/work-orders-open-priority.component\";\r\nimport { WorkOrdersOpenRMComponent } from \"./app-work-orders/work-orders-open-rm/work-orders-open-rm.component\";\r\nimport { WorkOrdersOpenStatePMComponent } from \"./app-work-orders/work-orders-open-state-pm/work-orders-open-state-pm.component\";\r\nimport { WorkOrdersOpenStateRMComponent } from \"./app-work-orders/work-orders-open-state-rm/work-orders-open-state-rm.component\";\r\nimport { WorkOrdersOpenStateComponent } from \"./app-work-orders/work-orders-open-state/work-orders-open-state.component\";\r\nimport { WorkOrdersOpenStoreComponent } from \"./app-work-orders/work-orders-open-store/work-orders-open-store.component\";\r\nimport { WorkOrdersOpenSummaryComponent } from \"./app-work-orders/work-orders-open-summary/work-orders-open-summary.component\";\r\nimport { WorkOrdersOpenVendorComponent } from \"./app-work-orders/work-orders-open-vendor/work-orders-open-vendor.component\";\r\nimport { WorkOrdersOpenComponent } from \"./app-work-orders/work-orders-open/work-orders-open.component\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AzureAuthCallbackComponent } from \"./azure-auth-callback/azure-auth-callback.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { LoginComponent } from \"./login/login.component\";\r\nimport { SamlAuthCallbackComponent } from \"./saml-auth-callback/saml-auth-callback.component\";\r\n\r\nexport function app_Init(settingsHttpService: SettingsHttpService) {\r\n\treturn () => settingsHttpService.initializeApp();\r\n}\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAppComponent,\r\n\t\tHomeComponent,\r\n\t\tAssetConditionComponent,\r\n\t\tHeaderComponent,\r\n\t\tStoreDashboardComponent,\r\n\t\tLoginComponent,\r\n\t\tAzureAuthCallbackComponent,\r\n\t\tSamlAuthCallbackComponent,\r\n\t\tStoreInfoComponent,\r\n\t\tAssetsComponent,\r\n\t\tAssetConditionRatingComponent,\r\n\t\tLifeCycleForecastComponent,\r\n\t\tAssetConditionByStoreComponent,\r\n\t\tAssetConditionByDescriptionComponent,\r\n\t\tDecimalPipeTwoDigits,\r\n\t\tDecimalPipeZeroDigits,\r\n\t\tDecimalPipeCostZeroDigits,\r\n\t\tDecimalPipeCostTwoDigits,\r\n\t\tDatePipeFull,\r\n\t\tWorkOrdersFiltersComponent,\r\n\t\tWorkOrdersNavComponent,\r\n\t\tWorkOrdersOpenComponent,\r\n\t\tWorkOrdersOpenSummaryComponent,\r\n\t\tWorkOrdersOpenOverdueComponent,\r\n\t\tWorkOrdersOpenOverdueDateComponent,\r\n\t\tWorkOrdersOpenPriorityComponent,\r\n\t\tWorkOrdersOpenStateComponent,\r\n\t\tWorkOrdersOpenStateRMComponent,\r\n\t\tWorkOrdersOpenStatePMComponent,\r\n\t\tWorkOrdersOpenVendorComponent,\r\n\t\tWorkOrdersOpenAssetComponent,\r\n\t\tWorkOrdersOpenStoreComponent,\r\n\t\tWorkOrdersOpenRMComponent,\r\n\t\tWorkOrdersOpenPMComponent,\r\n\t\tWorkOrdersCompletedComponent,\r\n\t\tWorkOrdersCompletedSummaryComponent,\r\n\t\tWorkOrdersCompletedPriorityComponent,\r\n\t\tWorkOrdersCompletedStateComponent,\r\n\t\tWorkOrdersCompletedMonthComponent,\r\n\t\tWorkOrdersCompletedResolveComponent,\r\n\t\tWorkOrdersCompletedRespondComponent,\r\n\t\tWorkOrdersCompletedVendorComponent,\r\n\t\tWorkOrdersCompletedAssetComponent,\r\n\t\tWorkOrdersCompletedStoreComponent,\r\n\t\tWeeklyStatusComponent,\r\n\t\tWeeklyStatusVolumePriorityComponent,\r\n\t\tWeeklyStatusAssetComponent,\r\n\t\tWeeklyStatusDailyVolumeComponent,\r\n\t\tWeeklyStatusTopComponent,\r\n\t\tWeeklyStatusKPIPerformanceComponent,\r\n\t\tVendorPerformanceStatusComponent,\r\n\t\tVendorPerformanceStatusSummaryComponent,\r\n\t\tVendorPerformanceStatusSummarySghComponent,\r\n\t\tVendorPerformanceStatusVendorRIComponent,\r\n\t\tVendorPerformanceStatusVendorPComponent,\r\n\t\tVendorPerformanceStatusMonthComponent,\r\n\t\tVendorPerformanceStatusStateComponent,\r\n\t\tVendorPerformanceKpiReportComponent,\r\n\t\tWidgetConfigComponent,\r\n\t\tFinancialComponent,\r\n\t\tFinancialSummaryComponent,\r\n\t\tFinancialBudgetActualForecastMonthComponent,\r\n\t\tFinancialBudgetActualForecastStateComponent,\r\n\t\tFinancialAssetCountComponent,\r\n\t\tFinancialAssetCostComponent,\r\n\t\tFinancialActualBudgetCategoryComponent,\r\n\t\tFinancialActualBudgetStoreTypeStateComponent,\r\n\t\tFinancialActualBudgetFuelNonFuelStateComponent,\r\n\t\tFinancialForecastBudgetStoreComponent,\r\n\t\tFinancialForecastBudgetStoreGlComponent,\r\n\t\tFinancialWOComponent,\r\n\t\tAssetAvailabilityComponent,\r\n\t\tAssetAvailabilitySummaryComponent,\r\n\t\tAssetAvailabilityCriticalOfflineComponent,\r\n\t\tAssetAvailabilityChartComponent,\r\n\t\tAssetAvailabilityTableComponent,\r\n\t\tAssetAffectingSTTableComponent,\r\n\t\tAssetPerformanceComponent,\r\n\t\tAssetPerformanceAgeComponent,\r\n\t\tAssetPerformanceMonthComponent,\r\n\t\tAssetPerformanceSummaryAssetComponent,\r\n\t\tAssetPerformanceSeriesComponent,\r\n\t],\r\n\timports: [\r\n\t\tBrowserModule,\r\n\t\tHttpClientModule,\r\n\t\tNgSelectModule,\r\n\t\tChartModule,\r\n\t\tNgxDatatableModule,\r\n\t\tNgbModule,\r\n\t\tNgbNavModule,\r\n\t\tFontAwesomeModule,\r\n\t\tMyDateRangePickerModule,\r\n\t\tDpDatePickerModule,\r\n\t\tBrowserAnimationsModule,\r\n\t\t// NgJsonEditorModule,\r\n\t\tAngJsoneditorModule,\r\n\t\tDragDropModule,\r\n\t\tGoogleMapsModule,\r\n\t\tSimpleNotificationsModule.forRoot({\r\n\t\t\ttimeOut: 5000,\r\n\t\t\tshowProgressBar: true,\r\n\t\t\tpauseOnHover: true,\r\n\t\t\tclickToClose: true,\r\n\t\t\tposition: [\"top\", \"right\"],\r\n\t\t}),\r\n\t\tNgxColorsModule,\r\n\t\tFormsModule,\r\n\t\tRouterModule.forRoot(\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"\",\r\n\t\t\t\t\tcomponent: HomeComponent,\r\n\t\t\t\t\tpathMatch: \"full\",\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"asset-condition\",\r\n\t\t\t\t\tcomponent: AssetConditionComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"login\",\r\n\t\t\t\t\tcomponent: LoginComponent,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"work-orders-open\",\r\n\t\t\t\t\tcomponent: WorkOrdersOpenComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"work-orders-completed\",\r\n\t\t\t\t\tcomponent: WorkOrdersCompletedComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"weekly-status\",\r\n\t\t\t\t\tcomponent: WeeklyStatusComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"vendor-performance-status\",\r\n\t\t\t\t\tcomponent: VendorPerformanceStatusComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"financial\",\r\n\t\t\t\t\tcomponent: FinancialComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"asset-availability\",\r\n\t\t\t\t\tcomponent: AssetAvailabilityComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"asset-performance\",\r\n\t\t\t\t\tcomponent: AssetPerformanceComponent,\r\n\t\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"7eleven/ssologin\",\r\n\t\t\t\t\tcomponent: AzureAuthCallbackComponent,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"racv/ssologin\",\r\n\t\t\t\t\tcomponent: AzureAuthCallbackComponent,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: \"visionaustralia/ssologin\",\r\n\t\t\t\t\tcomponent: SamlAuthCallbackComponent,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\t{\r\n\t\t\t\tscrollPositionRestoration: \"enabled\",\r\n\t\t\t}\r\n\t\t),\r\n\t],\r\n\tproviders: [\r\n\t\tMessageService,\r\n\t\tAuthService,\r\n\t\tAuthGuard,\r\n\t\tSettingsService,\r\n\t\tStoreService,\r\n\t\tStoreFiltersService,\r\n\t\tEntitiesService,\r\n\t\tStateService,\r\n\t\tWhiteLabelService,\r\n\t\tAssetConditionsStatsService,\r\n\t\tAssetConditionsRatingsService,\r\n\t\tLifeCycleForecastService,\r\n\t\tAssetConditionsInfoByStoreService,\r\n\t\tAssetConditionsInfoByDescriptionService,\r\n\t\tFilesService,\r\n\t\tWorkOrderReportService,\r\n\t\tVendorKpiService,\r\n\t\tFinancialService,\r\n\t\tDashboardService,\r\n\t\tWOFiltersService,\r\n\t\tAssetService,\r\n\t\tDateRangeUtilService,\r\n\t\tAdalService,\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: app_Init,\r\n\t\t\tdeps: [SettingsHttpService],\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: AdalOptionalInterceptor,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n\tbootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AdalService } from 'adal-angular4';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Component({\r\n selector: 'azure-auth-callback',\r\n templateUrl: './azure-auth-callback.component.html'\r\n})\r\nexport class AzureAuthCallbackComponent implements OnInit {\r\n\r\n constructor(private router: Router,\r\n private adal: AdalService,\r\n private auth: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.adal.handleWindowCallback();\r\n this.auth.loginAzure();\r\n }\r\n}\r\n","class ConverterHelper {\r\n floatToString(value: number) {\r\n return value.toLocaleString('en-US', {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n }\r\n\r\n intToString(value: number) {\r\n return value.toLocaleString('en-US', {\r\n maximumFractionDigits: 0\r\n })\r\n }\r\n}\r\n\r\nexport default new ConverterHelper();","import { DatePipe } from '@angular/common';\r\nimport { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'datePipeFull'\r\n})\r\nexport class DatePipeFull extends DatePipe {\r\n public transform(value): any {\r\n return super.transform(value, 'yyyy-MM-dd HH:mm:ss');\r\n }\r\n }","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'decimalPipeCostZeroDigits'\r\n})\r\nexport class DecimalPipeCostTwoDigits extends DecimalPipe {\r\n public transform(value): any {\r\n return \"$\" + super.transform(value, '1.2-2');\r\n }\r\n}","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'decimalPipeCostZeroDigits'\r\n})\r\nexport class DecimalPipeCostZeroDigits extends DecimalPipe {\r\n public transform(value): any {\r\n return \"$\" + super.transform(value, '1.0-0');\r\n }\r\n }","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'decimalPipeTwoDigits'\r\n})\r\nexport class DecimalPipeTwoDigits extends DecimalPipe {\r\n public transform(value): any {\r\n return super.transform(value, '1.2-2');\r\n }\r\n }","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'decimalPipeZeroDigits'\r\n})\r\nexport class DecimalPipeZeroDigits extends DecimalPipe {\r\n public transform(value): any {\r\n return super.transform(value, '1.0-0');\r\n }\r\n }","import {\r\n\tComponent,\r\n\tOnInit\r\n} from '@angular/core';\r\nimport {\r\n\tNgbDropdownConfig\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n\tfaUser\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n\tObservable\r\n} from 'rxjs';\r\nimport {\r\n\tAuthService\r\n} from '../services/auth.service';\r\nimport {\r\n\tStateService\r\n} from '../services/state.service';\r\nimport { WhiteLabelService } from '../services/white-label.service';\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\tproviders: [NgbDropdownConfig] // add NgbDropdownConfig to the component providers\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\tisLoggedIn$: Observable;\r\n\tcurrentUsername$: Observable;\r\n\theaderTitle$: Observable;\r\n\troles$: Observable;\r\n\tpublic companyLogo = \"\";\r\n\tpublic enableLogo = true;\r\n\r\n\t// Icons\r\n\tfaUser = faUser;\r\n\r\n\tconstructor(config: NgbDropdownConfig,\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tpublic whiteLabelService: WhiteLabelService) {\r\n\t\tthis.companyLogo = whiteLabelService.getCompanyLogo();\r\n\t\tthis.enableLogo = whiteLabelService.getEnableLogo();\r\n\t\tconfig.placement = 'bottom-right';\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.isLoggedIn$ = this.authService.isLoggedIn;\r\n\t\tthis.currentUsername$ = this.authService.getCurrentUsername;\r\n\t\tthis.roles$ = this.authService.getCurrentUserRoles;\r\n\t\tthis.headerTitle$ = this.stateService.getHeaderTitle;\r\n\t}\r\n\r\n\tlogOut() {\r\n\t\tthis.authService.logout();\r\n\t}\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"Home\"\r\n \r\n
\r\n
\r\n

\r\n {{ headerTitle$ | async }}\r\n

\r\n
\r\n
\r\n \r\n \"platinum.fm\"\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.router.navigate([\"/work-orders-open\"]);\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { StateService } from \"../services/state.service\";\r\nimport { AuthService } from \"../services/auth.service\";\r\nimport { faSignInAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { faMicrosoft } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { AdalService } from \"adal-angular4\";\r\nimport { WhiteLabelService } from \"../services/white-label.service\";\r\n\r\n@Component({\r\n\tselector: \"app-login\",\r\n\ttemplateUrl: \"./login.component.html\",\r\n\tstyleUrls: [\"./login.component.scss\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\tisLoginInProgress$: Observable;\r\n\tisInvalidLogin$: Observable;\r\n\tisAzureADEnabled: boolean;\r\n\tisSamlEnabled: boolean;\r\n\r\n\t// Icons\r\n\tfaLogin = faSignInAlt;\r\n\tfaMicrosoft = faMicrosoft;\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate stateService: StateService,\r\n\t\tprivate adal: AdalService,\r\n\t\tprivate whiteLabelService: WhiteLabelService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.stateService.setHeaderTitle(\"Login\");\r\n\t\tthis.isLoginInProgress$ = this.authService.isLoginInProgress;\r\n\t\tthis.isInvalidLogin$ = this.authService.isInvalidLogin;\r\n\t\tthis.isAzureADEnabled = this.whiteLabelService.isAzureADEnabled();\r\n\t\tthis.isSamlEnabled = this.whiteLabelService.isSamlEnabled();\r\n\t}\r\n\r\n\tlogin(form: NgForm) {\r\n\t\tthis.authService.login(form.value);\r\n\t}\r\n\r\n\tloginAzure() {\r\n\t\tthis.adal.login();\r\n\t}\r\n\r\n\tloginSaml() {\r\n\t\tthis.authService.loginSamlStep1();\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Login

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tInvalid username or password.\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\r\n
\r\n","export class Settings {\r\n\tname: string;\r\n\twhiteLabel: string;\r\n\tapiUrl: string;\r\n\tinformApiUrl: string;\r\n\tinformApplicationUrl: string;\r\n\tenableLogo: boolean;\r\n\tenableNewVendorFilter: boolean;\r\n\tenableWeeklyStatusTab: boolean;\r\n\tenableAssetAvailabilityTab: boolean;\r\n\tenableAssetPerformanceTab: boolean;\r\n\tenableFilterState: boolean;\r\n\tenableFilterDistrictManager: boolean;\r\n\tenableFilterGLDescription: boolean;\r\n\tenableFilterRetailBusinessManagers: boolean;\r\n\tenableFilterRegionalManagers: boolean;\r\n\tenableFilterStoreType: boolean;\r\n\tenableFilterStoreProfile: boolean;\r\n\tenableFilterServiceDeliveryManager: boolean;\r\n\tenableFilterBrand: boolean;\r\n\tenableFilterDistrict: boolean;\r\n\tenableFilterCategory: boolean;\r\n\tenableFilterCategoryManager: boolean;\r\n\tenableResolveFailPercentage: boolean;\r\n\tenableDaysOverdue: boolean;\r\n\thideWidgetVendorPerformanceStatusCompletedWorkOrdersByState: boolean;\r\n\thideWidgetVendorPerformanceStatusVendorKPIReports: boolean;\r\n\thideWidgetFinancialBudgetTotalSpendStoreTypeByState: boolean;\r\n\thideWidgetFinancialBudgetTotalSpendFuelvsNonFuelByState: boolean;\r\n\tresolveKPIPriorities: string;\r\n\trespondKPIPriorities: string;\r\n\tfilterServiceDeliveryManagerLabel: string;\r\n\tfilterRetailBusinessManagerLabel: string;\r\n\tfilterRegionalManagerLabel: string;\r\n\tfilterDistrictManagerLabel: string;\r\n\tfilterGLDescriptionLabel: string;\r\n\tfilterStoreTypeLabel: string;\r\n\tfilterStoreProfileLabel: string;\r\n\tfilterStoreLabel: string;\r\n\tfilterVendorLabel: string;\r\n\tassetConditionEnable: boolean;\r\n\tassetConditionName: string;\r\n\tassetConditionShowInTopNav: boolean;\r\n\tassetConditionStoreText: string;\r\n\tassetConditionStoreNameText: string;\r\n\tassetPerformanceBenchmarkHideRetailBusinessManager: boolean;\r\n\tassetPerformanceBenchmarkHideStoreProfile: boolean;\r\n\tassetPerformanceBenchmarkHideStoreType: boolean;\r\n\tassetPerformanceBenchmarkHideCategory: boolean;\r\n\tassetAvailabilityKeyAssetsOffline: string;\r\n\tignoreVendorNoGrouping: boolean;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService } from \"../services/auth.service\";\r\n\r\n@Component({\r\n\tselector: \"saml-auth-callback\",\r\n\ttemplateUrl: \"./saml-auth-callback.component.html\",\r\n})\r\nexport class SamlAuthCallbackComponent implements OnInit {\r\n\tconstructor(private router: Router, private auth: AuthService) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.auth.loginSamlStep2();\r\n\t}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n\tActivatedRouteSnapshot,\r\n\tCanActivate,\r\n\tRouter,\r\n\tRouterStateSnapshot,\r\n} from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map, take } from \"rxjs/operators\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\tconstructor(private router: Router, private authService: AuthService) {}\r\n\r\n\tcanActivate(\r\n\t\tnext: ActivatedRouteSnapshot,\r\n\t\tstate: RouterStateSnapshot\r\n\t): Observable {\r\n\t\treturn this.authService.isLoggedIn.pipe(\r\n\t\t\ttake(1),\r\n\t\t\tmap((isLoggedIn: boolean) => {\r\n\t\t\t\tif (!isLoggedIn) {\r\n\t\t\t\t\tthis.router.navigate([\"/login\"]);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable, NgZone } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { JwtHelperService } from \"@auth0/angular-jwt\";\r\nimport { AdalService } from \"adal-angular4\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { UserProfileModel } from \"../models/userProfileModel\";\r\nimport { StateService } from \"../services/state.service\";\r\nimport { MessageService } from \"./message.service\";\r\nimport { WhiteLabelService } from \"./white-label.service\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\tprivate apiUrl =\r\n\t\tthis.whiteLabelService.getSettings.informApiUrl + \"api/Users/Login\";\r\n\r\n\tprivate loginInProgress: BehaviorSubject;\r\n\tprivate loggedIn: BehaviorSubject;\r\n\tprivate invalidLogin: BehaviorSubject;\r\n\tprivate currentUsername: BehaviorSubject;\r\n\tprivate roles: BehaviorSubject;\r\n\tprivate userProfile: BehaviorSubject;\r\n\r\n\tget isLoginInProgress() {\r\n\t\treturn this.loginInProgress.asObservable();\r\n\t}\r\n\r\n\tget isLoggedIn() {\r\n\t\treturn this.loggedIn.asObservable();\r\n\t}\r\n\r\n\tget isInvalidLogin() {\r\n\t\treturn this.invalidLogin.asObservable();\r\n\t}\r\n\r\n\tget getCurrentUsername() {\r\n\t\treturn this.currentUsername.asObservable();\r\n\t}\r\n\r\n\tget getCurrentUserRoles() {\r\n\t\treturn this.roles.asObservable();\r\n\t}\r\n\r\n\tget getCurrentUserProfile() {\r\n\t\treturn this.userProfile.asObservable();\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate router: Router,\r\n\t\tprivate messages: MessageService,\r\n\t\tprivate stateService: StateService,\r\n\t\tprivate adal: AdalService,\r\n\t\tprivate _zone: NgZone,\r\n\t\tprivate whiteLabelService: WhiteLabelService\r\n\t) {\r\n\t\tlet adalConfig = environment.adalConfig[whiteLabelService.getWhiteLabel];\r\n\t\tif (adalConfig) {\r\n\t\t\tthis.adal.init(adalConfig);\r\n\t\t}\r\n\t\tthis.loginInProgress = new BehaviorSubject(false);\r\n\t\tlet isTokenValid = this.isTokenValid();\r\n\t\tthis.loggedIn = new BehaviorSubject(isTokenValid);\r\n\t\tthis.invalidLogin = new BehaviorSubject(false);\r\n\t\tthis.currentUsername = new BehaviorSubject(\r\n\t\t\tlocalStorage.getItem(\"username\")\r\n\t\t);\r\n\t\tthis.roles = new BehaviorSubject([]);\r\n\t\tthis.userProfile = new BehaviorSubject(null);\r\n\t\tif (isTokenValid) {\r\n\t\t\tthis.loadRoles();\r\n\t\t\tthis.loadUserProfile();\r\n\t\t}\r\n\t}\r\n\r\n\tisTokenValid() {\r\n\t\tlet azureAuth =\r\n\t\t\tthis.adal && this.adal.userInfo && this.adal.userInfo.authenticated;\r\n\t\tif (azureAuth) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar expiredOn = localStorage.getItem(\"expiredOn\");\r\n\t\t//console.log(\"expired on: \" + expiredOn + \" || \" + new Date(expiredOn));\r\n\t\tif (expiredOn && new Date(expiredOn) > new Date()) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tgetRoles(): Observable {\r\n\t\tlet url = this.whiteLabelService.getSettings.informApiUrl + \"api/Users/Roles\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.getHttpOptions())\r\n\t\t\t.pipe(catchError(this.messages.handleError(this, \"getRoles()\", [])));\r\n\t}\r\n\r\n\tloadRoles() {\r\n\t\tthis.getRoles().subscribe(\r\n\t\t\t(data) => {\r\n\t\t\t\tthis.roles.next(data);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t\tthis.messages.error(\"Error\", `Can't load user roles: ${error.message}`);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetUserProfile(): Observable {\r\n\t\tlet url =\r\n\t\t\tthis.whiteLabelService.getSettings.informApiUrl + \"api/Users/GetUserProfile\";\r\n\t\treturn this.http\r\n\t\t\t.get(url, this.getHttpOptions())\r\n\t\t\t.pipe(catchError(this.messages.handleError(this, \"getUserProfile()\", null)));\r\n\t}\r\n\r\n\tloadUserProfile() {\r\n\t\tthis.getUserProfile().subscribe(\r\n\t\t\t(data) => {\r\n\t\t\t\tthis.userProfile.next(data);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.error(error);\r\n\t\t\t\tthis.messages.error(\"Error\", `Can't load user profile: ${error.message}`);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tlogin(user: any) {\r\n\t\tif (user.username === \"\" || user.password === \"\") {\r\n\t\t\tconsole.error(\"Empty username or password\");\r\n\t\t\tthis.messages.error(\"Error\", \"Please enter username and password\");\r\n\t\t\tthis.invalidLogin.next(true);\r\n\t\t} else {\r\n\t\t\tlet credentials = JSON.stringify(user);\r\n\t\t\tthis.loginInProgress.next(true);\r\n\t\t\tthis.invalidLogin.next(false);\r\n\t\t\tthis.http\r\n\t\t\t\t.post(this.apiUrl, credentials, {\r\n\t\t\t\t\theaders: new HttpHeaders({\r\n\t\t\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t\t\t}),\r\n\t\t\t\t})\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\t(response) => {\r\n\t\t\t\t\t\tlet token = (response).token;\r\n\t\t\t\t\t\tlet expiredOn = (response).expiredOn;\r\n\t\t\t\t\t\tlocalStorage.setItem(\"username\", user.username);\r\n\t\t\t\t\t\tlocalStorage.setItem(\"token\", token);\r\n\t\t\t\t\t\tlocalStorage.setItem(\"expiredOn\", expiredOn);\r\n\t\t\t\t\t\tthis.invalidLogin.next(false);\r\n\t\t\t\t\t\tthis.loggedIn.next(true);\r\n\t\t\t\t\t\tthis.loginInProgress.next(false);\r\n\t\t\t\t\t\tthis.currentUsername.next(user.username);\r\n\t\t\t\t\t\tthis.loadRoles();\r\n\t\t\t\t\t\tthis.loadUserProfile();\r\n\t\t\t\t\t\tthis.stateService.selectStore(null);\r\n\t\t\t\t\t\tthis.router.navigate([\"/\"]);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\t\tif (error.status === 401) {\r\n\t\t\t\t\t\t\tthis.messages.error(\"Error\", \"Invalid username or password\");\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.messages.error(\"Error\", `login failed: ${error.message}`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.invalidLogin.next(true);\r\n\t\t\t\t\t\tthis.loginInProgress.next(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tloginAzure() {\r\n\t\tif (this.adal && this.adal.userInfo && this.adal.userInfo.authenticated) {\r\n\t\t\tlocalStorage.setItem(\"username\", this.adal.userInfo.userName);\r\n\t\t\tlocalStorage.setItem(\"jwt-ad-token\", this.adal.userInfo.token);\r\n\t\t\tthis.invalidLogin.next(false);\r\n\t\t\tthis.loggedIn.next(true);\r\n\t\t\tthis.loginInProgress.next(false);\r\n\t\t\tthis.currentUsername.next(this.adal.userInfo.userName);\r\n\t\t\tthis.loadRoles();\r\n\t\t\tthis.loadUserProfile();\r\n\t\t\tthis.stateService.selectStore(null);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis._zone.run(() => this.router.navigate([\"/\"]));\r\n\t\t\t}, 200);\r\n\t\t}\r\n\t}\r\n\r\n\tloginSamlStep1() {\r\n\t\t// redirect to api -> to saml provider(okta)\r\n\t\tlet samlConfig = environment.samlConfig[this.whiteLabelService.getWhiteLabel];\r\n\t\twindow.open(samlConfig.samlSsoUrl, \"_self\");\r\n\t}\r\n\r\n\tloginSamlStep2() {\r\n\t\tvar jwt = window.location.hash.slice(1);\r\n\t\t//console.log(jwt);\r\n\t\tif (jwt) {\r\n\t\t\t// Save jwt to browser storage\r\n\t\t\tlocalStorage.setItem(\"jwt-saml-token\", jwt);\r\n\r\n\t\t\t// // Decode the token\r\n\t\t\tconst helper = new JwtHelperService();\r\n\t\t\tconst decodedToken = helper.decodeToken(jwt);\r\n\t\t\tconsole.log(decodedToken);\r\n\r\n\t\t\tlocalStorage.setItem(\"username\", decodedToken.sub);\r\n\t\t\tconst expiredOn = decodedToken.exp * 1000;\r\n\t\t\tlocalStorage.setItem(\"expiredOn\", expiredOn.toString());\r\n\t\t\tthis.invalidLogin.next(false);\r\n\t\t\tthis.loggedIn.next(true);\r\n\t\t\tthis.loginInProgress.next(false);\r\n\t\t\tthis.currentUsername.next(decodedToken.sub);\r\n\t\t\tthis.loadRoles();\r\n\t\t\tthis.loadUserProfile();\r\n\t\t\tthis.stateService.selectStore(null);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis._zone.run(() => this.router.navigate([\"/\"]));\r\n\t\t\t}, 200);\r\n\t\t}\r\n\t}\r\n\r\n\tlogout() {\r\n\t\t//localStorage.removeItem(\"username\");\r\n\t\t//localStorage.removeItem(\"token\");\r\n\t\t//localStorage.removeItem(\"jwt-ad-token\");\r\n\t\tconst isSaml = !!localStorage.getItem(\"jwt-saml-token\");\r\n\t\tlocalStorage.removeItem(\"jwt-saml-token\");\r\n\t\t//localStorage.removeItem(\"expiredOn\");\r\n\t\tthis.loggedIn.next(false);\r\n\t\tthis.invalidLogin.next(false);\r\n\t\tthis.roles.next([]);\r\n\t\tthis.userProfile.next(null);\r\n\t\tif (this.adal && this.adal.userInfo && this.adal.userInfo.authenticated) {\r\n\t\t\tthis.adal.logOut();\r\n\t\t}\r\n\t\tif (isSaml) {\r\n\t\t\t// redirect to api -> to saml provider(okta)\r\n\t\t\tlet samlConfig =\r\n\t\t\t\tenvironment.samlConfig[this.whiteLabelService.getWhiteLabel];\r\n\t\t\twindow.open(samlConfig.samlSloUrl, \"_self\");\r\n\t\t} else {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis._zone.run(() => this.router.navigate([\"/login\"]));\r\n\t\t\t}, 200);\r\n\t\t}\r\n\t}\r\n\r\n\tgetToken(): string {\r\n\t\tlet pfmToken = localStorage.getItem(\"token\");\r\n\t\tif (pfmToken) {\r\n\t\t\treturn \"Token \" + pfmToken;\r\n\t\t} \r\n\t\t\r\n\t\tpfmToken = localStorage.getItem(\"jwt-ad-token\");\r\n\t\tif (pfmToken) {\r\n\t\t\treturn \"Bearer \" + pfmToken;\r\n\t\t}\r\n\t\t\r\n\t\tpfmToken = localStorage.getItem(\"jwt-saml-token\");\r\n\t\tif (pfmToken) {\r\n\t\t\treturn \"Bearer \" + pfmToken;\r\n\t\t}\r\n\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\tgetHttpOptions() {\r\n\t\tlet httpOptions = {\r\n\t\t\theaders: new HttpHeaders({\r\n\t\t\t\tAuthorization: this.getToken(),\r\n\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t}),\r\n\t\t\tparams: new HttpParams(),\r\n\t\t};\r\n\t\treturn httpOptions;\r\n\t}\r\n}\r\n","import {\r\n\tInjectable\r\n} from '@angular/core';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class HelperService {\r\n\tget lastDayInMonth(): Date {\r\n\t\tconst now = new Date();\r\n\t\tconst result = new Date(now.getFullYear(), now.getMonth() + 1, 0);\r\n\t\treturn result;\r\n\t}\r\n\r\n\tpublic numberToTwoDigitString(value: number): string {\r\n\t\treturn value.toLocaleString('en-US', {\r\n\t\t\tminimumIntegerDigits: 2,\r\n\t\t\tuseGrouping: false\r\n\t\t});\r\n\t}\r\n\r\n\tpublic convertDecimalDaysToDaysAndHours(decimalDays) {\r\n\t\t// Extract the whole number of days\r\n\t\tconst wholeDays = Math.floor(decimalDays);\r\n\t\t\r\n\t\t// Calculate the remaining hours\r\n\t\tconst remainingHours = (decimalDays - wholeDays) * 24;\r\n\t\tconst wholeHours = Math.floor(remainingHours);\r\n\t\t\r\n\t\treturn {\r\n\t\t\tdays: wholeDays,\r\n\t\t\thours: wholeHours\r\n\t\t};\r\n\t}\r\n}","import {\r\n\tInjectable, EventEmitter\r\n} from '@angular/core';\r\nimport {\r\n\tObservable,\r\n\tof\r\n} from 'rxjs';\r\nimport {\r\n\tNotificationsService, NotificationType\r\n} from 'angular2-notifications';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n\tconstructor(private notifications: NotificationsService) { }\r\n\r\n\tpublic removeNotification(notification: any) {\r\n\t\tthis.notifications.remove(notification.id);\r\n\t}\r\n\r\n\tpublic success(title: string, message: string) {\r\n\t\tthis.notifications.success(title, message);\r\n\t}\r\n\r\n\tpublic info(title: string, message: string) {\r\n\t\tthis.notifications.info(title, message);\r\n\t}\r\n\r\n\tpublic warn(title: string, message: string) {\r\n\t\tthis.notifications.warn(title, message);\r\n\t}\r\n\r\n\tpublic error(title: string, message: string) {\r\n\t\tthis.notifications.error(title, message);\r\n\t}\r\n\r\n\tpublic html(html: any, type?: NotificationType, override?: any, icon?: string, context?: any, onClick?: any) {\r\n\t\tlet notification = this.notifications.html(html, type, override, icon, context);\r\n\t\tif (onClick) {\r\n\t\t\tnotification.click.subscribe((event) => {\r\n\t\t\t\tonClick(event, notification)\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate blobToString(b: Blob): string {\r\n\t\tvar u, x;\r\n\t\tu = URL.createObjectURL(b);\r\n\t\tx = new XMLHttpRequest();\r\n\t\tx.open('GET', u, false); // although sync, you're not fetching over internet\r\n\t\tx.send();\r\n\t\tURL.revokeObjectURL(u);\r\n\t\treturn x.responseText;\r\n\t}\r\n\r\n\t/**\r\n\t * Handle Http operation that failed.\r\n\t * Let the app continue.\r\n\t * @param authService - AuthService\r\n\t * @param operation - name of the operation that failed\r\n\t * @param result - optional value to return as the observable result\r\n\t */\r\n\tpublic handleError(authService: AuthService, operation = 'operation', result?: T) {\r\n\t\treturn (error: any): Observable => {\r\n\t\t\tconsole.error(`${operation} failed: ${JSON.stringify(error)}`);\r\n\t\t\tif (error.status === 401) {\r\n\t\t\t\tauthService.logout();\r\n\t\t\t} else {\r\n\t\t\t\tlet errorMessage = \"\";\r\n\t\t\t\tif (error.error && error.error instanceof Blob) {\r\n\t\t\t\t\tlet errorObj = JSON.parse(this.blobToString(error.error));\r\n\t\t\t\t\terrorMessage = errorObj.error ? errorObj.error : errorObj;\r\n\t\t\t\t\tconsole.error(`${operation} failed(addtional info): ${errorMessage}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\terrorMessage = error.error && error.error.error ? error.error.error : error.message;\r\n\t\t\t\t}\r\n\t\t\t\tthis.error(\"Error\", errorMessage);\r\n\t\t\t}\r\n\r\n\t\t\t// Let the app keep running by returning an empty result.\r\n\t\t\treturn of(result as T);\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Handle Http operation that failed.\r\n\t * Let the app continue.\r\n\t * Without notification.\r\n\t * @param authService - AuthService\r\n\t * @param operation - name of the operation that failed\r\n\t * @param result - optional value to return as the observable result\r\n\t */\r\n\tpublic handleErrorSilent(authService: AuthService, operation = 'operation', result?: T) {\r\n\t\treturn (error: any): Observable => {\r\n\t\t\tconsole.error(`${operation} failed: ${JSON.stringify(error)}`);\r\n\t\t\tif (error.status === 401) {\r\n\t\t\t\tauthService.logout();\r\n\t\t\t}\r\n\r\n\t\t\t// Let the app keep running by returning an empty result.\r\n\t\t\treturn of(result as T);\r\n\t\t};\r\n\t}\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { SettingsService } from \"./settings.service\";\r\nimport { Settings } from \"../models/settings\";\r\nimport { Title } from \"@angular/platform-browser\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SettingsHttpService {\r\n\r\n constructor(private http: HttpClient, private settingsService: SettingsService, private titleService: Title) {\r\n }\r\n\r\n initializeApp(): Promise {\r\n\r\n return new Promise(\r\n (resolve) => {\r\n this.http.get('api/Settings/GetSettings')\r\n .toPromise()\r\n .then(response => {\r\n this.settingsService.settings = response;\r\n this.titleService.setTitle(this.settingsService.settings.name);\r\n //too slow, theme selected in theme.js\r\n //this.loadScript(this.settingsService.settings.whiteLabel + '.js');\r\n resolve(null);\r\n }\r\n )\r\n }\r\n );\r\n }\r\n\r\n loadScript(scriptUrl) {\r\n var script = document.createElement('script');\r\n script.src = scriptUrl;\r\n script.type = \"text/javascript\";\r\n document.body.appendChild(script);\r\n }\r\n}\r\n","import {\r\n\tInjectable\r\n} from '@angular/core';\r\nimport { Settings } from '../models/settings';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class SettingsService {\r\n\tpublic settings: Settings;\r\n\r\n\tconstructor() {\r\n\t\tthis.settings = new Settings();\r\n\t}\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n\tDateRangeUtilService,\r\n\tIMyDate,\r\n\tIMyDateRangeModel,\r\n} from \"mydaterangepicker\";\r\nimport { BehaviorSubject, combineLatest, Observable } from \"rxjs\";\r\nimport { ApplyFilters } from \"../app-assets/models/applyFilters\";\r\nimport { Store } from \"../app-assets/models/store\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class StateService {\r\n\tprivate currentStore = new BehaviorSubject(undefined);\r\n\tget getCurrentStore(): Observable {\r\n\t\treturn this.currentStore.asObservable();\r\n\t}\r\n\tselectStore(value: Store) {\r\n\t\tthis.currentStore.next(value);\r\n\t}\r\n\r\n\tprivate currentFilters = new BehaviorSubject(new ApplyFilters());\r\n\tget getCurrentFilters(): Observable {\r\n\t\treturn this.currentFilters.asObservable();\r\n\t}\r\n\tselectFilters(value: ApplyFilters) {\r\n\t\tthis.currentFilters.next(value);\r\n\t}\r\n\r\n\tget getStoreAndFilter(): Observable<[Store, ApplyFilters]> {\r\n\t\treturn combineLatest(this.getCurrentStore, this.getCurrentFilters);\r\n\t}\r\n\tresetStoreAndFilters() {\r\n\t\tthis.selectStore(undefined);\r\n\t\tthis.selectFilters(new ApplyFilters());\r\n\t}\r\n\r\n\tprivate headerTitle = new BehaviorSubject(\"\");\r\n\tget getHeaderTitle(): Observable {\r\n\t\treturn this.headerTitle.asObservable();\r\n\t}\r\n\tsetHeaderTitle(value: string) {\r\n\t\tthis.headerTitle.next(value);\r\n\t}\r\n\r\n\tprivate dateRange = new BehaviorSubject(null);\r\n\tget getDateRange(): Observable {\r\n\t\treturn this.dateRange.asObservable();\r\n\t}\r\n\tgetCurrentDateRange(): IMyDateRangeModel {\r\n\t\treturn this.dateRange.value;\r\n\t}\r\n\tpublic setDateRange(value: IMyDateRangeModel) {\r\n\t\tif (!this.fyCahngeInProgress) {\r\n\t\t\tthis.selectedYear = undefined;\r\n\t\t}\r\n\t\tthis.fyCahngeInProgress = false;\r\n\t\tthis.dateRange.next(value);\r\n\t}\r\n\tpublic years: string[] = [];\r\n\tpublic selectedYear: string;\r\n\tfyCahngeInProgress = false;\r\n\tpublic onChangeSelectedYear($event, setDateRange: boolean = false) {\r\n\t\tif ($event) {\r\n\t\t\tlet year = parseInt($event.substr(0, 4));\r\n\t\t\tlet mStart = moment(\"01-07-\" + year, \"DD-MM-YYYY\");\r\n\t\t\tlet mEnd = moment(\"01-07-\" + (year + 1), \"DD-MM-YYYY\");\r\n\t\t\tmEnd = mEnd.subtract(1, \"d\");\r\n\t\t\tlet beginDate = mStart.toDate();\r\n\t\t\tlet endDate = mEnd.toDate();\r\n\t\t\tthis.fyCahngeInProgress = true;\r\n\t\t\tthis.updateDateRange(\"set\", beginDate, endDate, setDateRange);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate dateRangeUpdateId = new BehaviorSubject(\"\");\r\n\tpublic dateRangeUpdateOperation: string = \"\";\r\n\tpublic dateRangeUpdateBeginDate: Date | null = null;\r\n\tpublic dateRangeUpdateEndDate: Date | null = null;\r\n\tget getDateRangeUpdateId(): Observable {\r\n\t\treturn this.dateRangeUpdateId.asObservable();\r\n\t}\r\n\tupdateDateRange(\r\n\t\toperation: string,\r\n\t\tbeginDate: Date | null,\r\n\t\tendDate: Date | null,\r\n\t\tsetDateRange: boolean = false\r\n\t) {\r\n\t\tif (setDateRange) {\r\n\t\t\tif (operation === \"null\") {\r\n\t\t\t\tthis.setDateRange(null);\r\n\t\t\t} else {\r\n\t\t\t\tlet drm = this.getDateRangeModel(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tyear: beginDate.getFullYear(),\r\n\t\t\t\t\t\tmonth: beginDate.getMonth() + 1,\r\n\t\t\t\t\t\tday: beginDate.getDate(),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tyear: endDate.getFullYear(),\r\n\t\t\t\t\t\tmonth: endDate.getMonth() + 1,\r\n\t\t\t\t\t\tday: endDate.getDate(),\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tthis.setDateRange(drm);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.dateRangeUpdateOperation = operation;\r\n\t\tthis.dateRangeUpdateBeginDate = beginDate;\r\n\t\tthis.dateRangeUpdateEndDate = endDate;\r\n\t\tlet guid = Guid.create().toString();\r\n\t\tthis.dateRangeUpdateId.next(guid);\r\n\t}\r\n\tgetDateRangeModel(beginDate: IMyDate, endDate: IMyDate): IMyDateRangeModel {\r\n\t\t// Creates a date range model object from the given parameters\r\n\t\tlet bEpoc: number = this.drus.getTimeInMilliseconds(beginDate) / 1000.0;\r\n\t\tlet eEpoc: number = this.drus.getTimeInMilliseconds(endDate) / 1000.0;\r\n\t\treturn {\r\n\t\t\tbeginDate: beginDate,\r\n\t\t\tbeginJsDate: this.getDate(beginDate),\r\n\t\t\tendDate: endDate,\r\n\t\t\tendJsDate: this.getDate(endDate),\r\n\t\t\tformatted: \"\",\r\n\t\t\tbeginEpoc: bEpoc,\r\n\t\t\tendEpoc: eEpoc,\r\n\t\t};\r\n\t}\r\n\tgetDate(date: IMyDate): Date {\r\n\t\treturn new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\r\n\t}\r\n\r\n\tgetCurrentFY(): number {\r\n\t\tlet m = moment.utc();\r\n\t\tlet currentYear = m.year();\r\n\t\tlet currentMonth = m.month(); // 0 - 11\r\n\t\t// < July\r\n\t\tif (currentMonth < 6) {\r\n\t\t\tcurrentYear -= 1;\r\n\t\t}\r\n\t\treturn currentYear;\r\n\t}\r\n\r\n\tgetMaxFYToShow(): number {\r\n\t\tlet currentFY = this.getCurrentFY();\r\n\t\tlet showFYFrom = moment(\"15-06-\" + (currentFY + 1), \"DD-MM-YYYY\").toDate();\r\n\t\tlet now = moment().toDate();\r\n\t\tif (showFYFrom <= now) {\r\n\t\t\tcurrentFY += 1;\r\n\t\t}\r\n\t\treturn currentFY;\r\n\t}\r\n\r\n\tyearToFY(year: number): string {\r\n\t\treturn year.toString() + \"/\" + (year + 1).toString().substr(-2);\r\n\t}\r\n\r\n\tisCurrentFY(): boolean {\r\n\t\tlet currentFY = this.getCurrentFY();\r\n\t\tlet beginFY = moment(\"01-07-\" + currentFY, \"DD-MM-YYYY\").toDate();\r\n\t\tlet endFY = moment(\"01-07-\" + (currentFY + 1), \"DD-MM-YYYY\").toDate();\r\n\t\tlet dateRange = this.getCurrentDateRange();\r\n\t\tlet result = false;\r\n\t\tif (dateRange && dateRange.beginDate && dateRange.endDate) {\r\n\t\t\tlet beginDate = this.getDate(dateRange.beginDate);\r\n\t\t\tlet endDate = this.getDate(dateRange.endDate);\r\n\t\t\tresult =\r\n\t\t\t\tbeginDate >= beginFY &&\r\n\t\t\t\tbeginDate < endFY &&\r\n\t\t\t\tendDate >= beginFY &&\r\n\t\t\t\tendDate < endFY;\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\tconstructor(private drus: DateRangeUtilService) {\r\n\t\tlet years: string[] = [];\r\n\t\tlet currentYear = this.getMaxFYToShow();\r\n\t\tfor (let i = 2018; i <= currentYear; i++) {\r\n\t\t\tyears.push(this.yearToFY(i));\r\n\t\t}\r\n\t\tthis.years = years;\r\n\t}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Settings } from \"../models/settings\";\r\nimport { SettingsService } from \"./settings.service\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class WhiteLabelService {\r\n\tget getWhiteLabel(): string {\r\n\t\treturn this.settingsService.settings.whiteLabel;\r\n\t}\r\n\r\n\tget getSettings(): Settings {\r\n\t\treturn this.settingsService.settings;\r\n\t}\r\n\r\n\tget getFacilityTypeMode(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.getSettings.enableFilterState &&\r\n\t\t\tthis.getSettings.filterStoreTypeLabel === \"facility type\"\r\n\t\t);\r\n\t}\r\n\r\n\tconstructor(private settingsService: SettingsService) {}\r\n\r\n\tcapitalizeFirstLetter(value: string): string {\r\n\t\treturn value.charAt(0).toUpperCase() + value.slice(1);\r\n\t}\r\n\r\n\tis7Eleven(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"7eleven\";\r\n\t}\r\n\r\n\tisStarbucks(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"starbucks\";\r\n\t}\r\n\r\n\tisWhittlesea(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"cityofwhittlesea\";\r\n\t}\r\n\r\n\tisVisionAustralia(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"visionaustralia\";\r\n\t}\r\n\r\n\tisRacv(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"racv\";\r\n\t}\r\n\r\n\tisSgh(): boolean {\r\n\t\treturn this.settingsService.settings.whiteLabel === \"sgh\";\r\n\t}\r\n\r\n\tisAzureADEnabled(): boolean {\r\n\t\treturn this.is7Eleven() || this.isRacv();\r\n\t}\r\n\r\n\tisSamlEnabled(): boolean {\r\n\t\treturn this.isVisionAustralia();\r\n\t}\r\n\r\n\tgetEnableLogo(): boolean {\r\n\t\treturn this.settingsService.settings.enableLogo;\r\n\t}\r\n\r\n\tgetCompanyLogo(): string {\r\n\t\t//return '../../assets/img/company-logo/' + this.settingsService.settings.whiteLabel + '.png';\r\n\t\treturn \"api/Settings/GetLogo\";\r\n\t}\r\n\r\n\tgetOldDashboardUrl(): string {\r\n\t\treturn this.settingsService.settings.informApplicationUrl;\r\n\t}\r\n\r\n\tgetWeekFilterOffsetMonthes(): number {\r\n\t\tif (this.isStarbucks()) {\r\n\t\t\treturn 6;\r\n\t\t} else {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tgetRandomColor() {\r\n\t\tvar letters = \"0123456789ABCDEF\";\r\n\t\tvar color = \"#\";\r\n\t\tfor (var i = 0; i < 6; i++) {\r\n\t\t\tcolor += letters[Math.floor(Math.random() * 16)];\r\n\t\t}\r\n\t\treturn color;\r\n\t}\r\n\r\n\tgetRatingChartColors(): any {\r\n\t\treturn {\r\n\t\t\tbackgroundColor: \"#fe9666\",\r\n\t\t\thoverBackgroundColor: \"#ed814f\",\r\n\t\t};\r\n\t}\r\n\r\n\tgetLifeChartColors(): any {\r\n\t\treturn {\r\n\t\t\tbackgroundColor: \"#f2c80f\",\r\n\t\t\thoverBackgroundColor: \"#ddb503\",\r\n\t\t};\r\n\t}\r\n\r\n\tgetDefaultChartColors(): any {\r\n\t\treturn {\r\n\t\t\tbackgroundColors: [\r\n\t\t\t\t\"#06D6A0\",\r\n\t\t\t\t\"#CB48B7\",\r\n\t\t\t\t\"#0C7C59\",\r\n\t\t\t\t\"#54428E\",\r\n\t\t\t\t\"#84C318\",\r\n\t\t\t\t\"#5E7CE2\",\r\n\t\t\t\t\"#E83151\",\r\n\t\t\t\t\"#FFBA49\",\r\n\t\t\t\t\"#4EA699\",\r\n\t\t\t\t\"#FF773D\",\r\n\t\t\t\t\"#79B473\",\r\n\t\t\t\t\"#690500\",\r\n\t\t\t\t\"#58355E\",\r\n\t\t\t\t\"#065143\",\r\n\t\t\t\t\"#414073\",\r\n\t\t\t\t\"#EF5B5B\",\r\n\t\t\t],\r\n\t\t\thoverBackgroundColors: [\r\n\t\t\t\t\"#05B083\",\r\n\t\t\t\t\"#A73B96\",\r\n\t\t\t\t\"#0A6649\",\r\n\t\t\t\t\"#453775\",\r\n\t\t\t\t\"#6DA014\",\r\n\t\t\t\t\"#4D66B9\",\r\n\t\t\t\t\"#BE2943\",\r\n\t\t\t\t\"#D1993C\",\r\n\t\t\t\t\"#40887E\",\r\n\t\t\t\t\"#D16232\",\r\n\t\t\t\t\"#64945F\",\r\n\t\t\t\t\"#430400\",\r\n\t\t\t\t\"#492C4D \",\r\n\t\t\t\t\"#054337\",\r\n\t\t\t\t\"#36355F\",\r\n\t\t\t\t\"#C44B4B\",\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n\r\n\tgetIncidentPlannedReactiveColors(): any {\r\n\t\treturn {\r\n\t\t\tIncident: {\r\n\t\t\t\tbackgroundColor: \"#f44336\",\r\n\t\t\t\thoverBackgroundColor: \"#C8372D\",\r\n\t\t\t\tbackgroundColorCost: \"#A01A7D\",\r\n\t\t\t\thoverBackgroundColorCost: \"#831667\",\r\n\t\t\t},\r\n\t\t\tPlanned: {\r\n\t\t\t\tbackgroundColor: \"#6BCABA\",\r\n\t\t\t\thoverBackgroundColor: \"#58A699\",\r\n\t\t\t\tbackgroundColorCost: \"#056e5c\",\r\n\t\t\t\thoverBackgroundColorCost: \"#055B4C\",\r\n\t\t\t},\r\n\t\t\tReactive: {\r\n\t\t\t\tbackgroundColor: \"#FFBA49\",\r\n\t\t\t\thoverBackgroundColor: \"#D1993C\",\r\n\t\t\t\tbackgroundColorCost: \"#ffdb5b\",\r\n\t\t\t\thoverBackgroundColorCost: \"#D1B44B\",\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n\r\n\tgetKPIFailSuccessColors(): any {\r\n\t\treturn {\r\n\t\t\t\"Respond KPI Fail\": {\r\n\t\t\t\tbackgroundColor: \"#E83151\",\r\n\t\t\t\thoverBackgroundColor: \"#BE2943\",\r\n\t\t\t},\r\n\t\t\t\"Respond KPI Success\": {\r\n\t\t\t\tbackgroundColor: \"#6BCABA\",\r\n\t\t\t\thoverBackgroundColor: \"#58A699\",\r\n\t\t\t},\r\n\t\t\t\"Resolve KPI Fail\": {\r\n\t\t\t\tbackgroundColor: \"#fab3ae\",\r\n\t\t\t\thoverBackgroundColor: \"#CD938F\",\r\n\t\t\t},\r\n\t\t\t\"Resolve KPI Success\": {\r\n\t\t\t\tbackgroundColor: \"#c3e9e3\",\r\n\t\t\t\thoverBackgroundColor: \"#A0BFBA\",\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n\r\n\tgetKPIFailPassColors(): any {\r\n\t\treturn {\r\n\t\t\tcolorsResolve: [\"#fab3ae\", \"#c3e9e3\"],\r\n\t\t\tcolorsHoverResolve: [\"#CD938F\", \"#A0BFBA\"],\r\n\t\t\tcolorsRespond: [\"#E83151\", \"#6BCABA\"],\r\n\t\t\tcolorsHoverRespond: [\"#BE2943\", \"#58A699\"],\r\n\t\t};\r\n\t}\r\n\r\n\tgetLineChartColors(): any {\r\n\t\treturn {\r\n\t\t\tbackgroundColor: \"#1B7EAC\",\r\n\t\t\thoverBackgroundColor: \"#1B7EAC\",\r\n\t\t};\r\n\t}\r\n\r\n\tgetResponseRectificationColors(): any {\r\n\t\treturn {\r\n\t\t\tcolorsResponse: [\"#6BCABA\", \"#58A699\"],\r\n\t\t\tcolorsRectification: [\"#c3e9e3\", \"#A0BFBA\"],\r\n\t\t\tcolorsCount: [\"#f2c80f\", \"#ddb503\"],\r\n\t\t};\r\n\t}\r\n\r\n\tgetOverdueChartColors(): any {\r\n\t\treturn {\r\n\t\t\tcolorsPast: [\"#f44336\", \"#C8372D\"],\r\n\t\t\tcolorsToday: [\"#ffc000\", \"#ffc000\"],\r\n\t\t\tcolorsFuture: [\"#4ea699\", \"#4ea699\"],\r\n\t\t};\r\n\t}\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n\tproduction: false,\r\n\tadalConfig: {\r\n\t\t\"7eleven\": {\r\n\t\t\ttenant: \"ac704964-7e1d-435a-b064-20c7a110ce19\",\r\n\t\t\tclientId: \"eb56ef5b-63a9-48ce-82fc-ef16590a35ed\",\r\n\t\t\tredirectUri: \"http://localhost:4200/7eleven/ssologin\",\r\n\t\t\tpostLogoutRedirectUri: \"http://localhost:4200/\",\r\n\t\t\tendpoints: {\r\n\t\t\t\t\"https://localhost:5001\": \"eb56ef5b-63a9-48ce-82fc-ef16590a35ed\",\r\n\t\t\t\t\"https://localhost:5003\": \"eb56ef5b-63a9-48ce-82fc-ef16590a35ed\",\r\n\t\t\t},\r\n\t\t},\r\n\t\t\"racv\": {\r\n\t\t\ttenant: \"53aaf5b4-420c-4edc-a867-e6fab4d41e70\",\r\n\t\t\tclientId: \"9c22d091-30af-42f6-a990-89a2ffc4207c\",\r\n\t\t\tredirectUri:\r\n\t\t\t\t\"https://reporting.property.racv.com.au/racv/ssologin\",\r\n\t\t\tpostLogoutRedirectUri: \"https://reporting.property.racv.com.au/\",\r\n\t\t\tendpoints: {\r\n\t\t\t\t\"https://platinumfmapi-test.azurewebsites.net\":\r\n\t\t\t\t\t\"9c22d091-30af-42f6-a990-89a2ffc4207c\",\r\n\t\t\t\t\"https://api-test-racv.platinumfm.com.au\":\r\n\t\t\t\t\t\"9c22d091-30af-42f6-a990-89a2ffc4207c\",\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\tsamlConfig: {\r\n\t\tvisionaustralia: {\r\n\t\t\tsamlSsoUrl:\r\n\t\t\t\t\"https://api-visionaustralia.local:5001/Saml/InitiateSingleSignOn?returnurl=https://report-visionaustralia.local:5005/visionaustralia/ssologin\",\r\n\t\t\tsamlSloUrl:\r\n\t\t\t\t\"https://api-visionaustralia.local:5001/Saml/InitiateSingleLogout?returnurl=https://report-visionaustralia.local:5005\",\r\n\t\t},\r\n\t},\r\n};\r\n\r\n/*\r\n * In development mode, for easier debugging, you can ignore zone related error\r\n * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the\r\n * below file. Don't forget to comment it out in production mode\r\n * because it will have a performance impact when errors are thrown\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport 'angular2-notifications';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\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-ps\": 42060,\n\t\"./ar-ps.js\": 42060,\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-kmr\": 63898,\n\t\"./ku-kmr.js\": 63898,\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;"],"names":["mergeMap","AdalOptionalInterceptor","constructor","adal","intercept","request","next","resource","getResourceForEndpoint","url","userInfo","authenticated","handle","acquireToken","pipe","token","authorizedRequest","clone","headers","set","factory","i0","AssetConditionByDescriptionComponent","stateService","assetConditionsInfoByDescriptionService","whiteLabelService","rows","columns","conditionTotal","year1Total","year2Total","year3Total","year4Total","year5Total","year6Total","year7Total","year8Total","year9Total","year10Total","isWhittlesea","tableByDescription","prop","name","ngOnInit","assetConditionsInfoByDescriptionLoaded","getStoreAndFilter","subscribe","value","updateAsset","storeNo","filters","getAssetConditionsInfoByDescription","assetConditionsInfoByDescription","forEach","element","condition","year1","year2","year3","year4","year5","year6","year7","year8","year9","year10","length","selectors","decls","vars","consts","template","AssetConditionByStoreComponent","assetConditionsInfoByStoreService","tableByStore","assetConditionsInfoByStoreLoaded","getAssetConditionsInfoByStore","assetConditionsInfoByStore","AssetConditionRatingComponent","acRatingsService","type","data","labels","datasets","backgroundColor","hoverBackgroundColor","options","responsive","maintainAspectRatio","legend","display","scales","xAxes","ticks","callback","label","index","toLocaleString","beginAtZero","tooltips","callbacks","tooltipItem","xLabel","colors","getRatingChartColors","ratingChartConfig","assetConditionsRatingsLoaded","getAssetConditionsRating","assetConditionsRatings","newLabels","newData","toString","push","count","ratingChart","chart","update","viewQuery","faCalendarAlt","faCaretDown","faChartColumn","faClipboardList","faColumns","faFilter","faInfo","faTable","ApplyFilters","AssetConditionComponent","entitiesService","authService","storeService","storeFiltersService","setHeaderTitle","getSettings","assetConditionName","roles$","getCurrentUserRoles","assetConditionEnable","indexOf","resetStoreAndFilters","getStores","preventReload","selectedStore","selectedRetailBusinessMgr","retailBusinessMgr","selectedServiceDeliveryManager","serviceDeliveryManager","selectedStoreState","storeState","selectedDescription","assetDescription","getFilters","getCurrentEntity","entity","stores","storesAll","onChangeStore","store","selectStore","onChange","item","newValue","dm","selectedDm","functionalRepresentative","selectedFunctionalRepresentative","facilityType","selectedFacilityType","selectFilters","arrays","assetFilters","retailBusinessMgrFilters","serviceDeliveryManagerFilters","storeStateFilters","dmFilters","functionalRepresentativeFilters","facilityTypeFilters","storeNumbers","pop","array","filter","storeNumber","includes","Array","from","Set","AssetsComponent","acStatsService","assetConditionsStatsLoaded","getAssetConditionsStats","assetConditionsStats","LifeCycleForecastComponent","lifeCycleForecastService","getLifeChartColors","lifeChartConfig","lifeCycleForecastLoaded","getLifeCycleForecast","lifeCycleForecast","lifeChart","catchError","AssetConditionsInfoByDescriptionService","http","messages","apiUrl","post","getHttpOptions","handleError","AssetConditionsInfoByStoreService","AssetConditionsRatingsService","AssetConditionsStatsService","BehaviorSubject","EntitiesService","currentEntity","asObservable","undefined","getCurrentStore","getEntity","id","get","HttpHeaders","FilesService","getFileName","blobName","getFiles","getFile","getToken","observe","responseType","handleErrorSilent","uploadFile","formData","deleteFile","delete","LifeCycleForecastService","StoreFiltersService","StoreService","faCheck","faClock","faExclamationTriangle","faFile","faFileExcel","faFilePdf","faFileUpload","faFileWord","faMapMarkerAlt","faTrashAlt","faVideo","StoreDashboardComponent","filesService","messageService","lat","lng","inProgress","errorMessage","isOk","tableData","center","Number","latitude","longitude","response","upload","files","FormData","file","append","buttonText","success","event","error","message","stopPropagation","confirm","x","findIndex","o","newArray","splice","getIcon","fileName","split","toLowerCase","getLink","row","StoreInfoComponent","faFileExport","AngularCsv","moment","Subscription","QueryOptionsPagingModel","AssetAffectingSTTableComponent","ref","woFiltersService","workOrderReportService","assetService","page","size","totalElements","sorts","dir","onSort","loadData","onScroll","currentTarget","offsetY","scrollTop","viewHeight","clientHeight","loading","onAssetIdClick","window","open","getOldDashboardUrl","assetId","onRequestNumberClick","toggleExpandRow","table","rowDetail","onDetailToggle","subs","add","getUpdateId","ngOnDestroy","unsubscribe","fillBody","body","dateRange","overallStatuses","assetTypeTags","updateId","currentUpdateId","setTimeout","cleanup","paging","limit","currentPage","Math","round","field","order","capitalizeFirstLetter","sortBy","body2","getCurrentDateRange","getAssetRequestList","subscribeTableData","getCurrentUpdateId","m","assetOfflineStart","timeLapsed1","duration","diff","timeLapsed2","floor","as","utc","format","vendorEstimateAttended","remainingTime1","remainingTime2","newRow","storeName","assetName","assetBarcode","priority","statusName","remainingTime","vendorName","requestNumber","resolveKPIFail","respondKPIFail","requestDate","completedDate","completed","totalCount","dataArray","offset","bodyComponent","updateOffsetY","concat","detectChanges","timeLapsedColor","isWarning","resolveDate","curretDateM","requestDateM","resolveDateM","isRed","col","remainingTimeColor","hasColor","startsWith","exportCsv","inProgressExportCSV","dataExport","totalExport","exportCsvRequest","Object","getOwnPropertyNames","filterStoreLabel","map","header","replace","filterVendorLabel","fieldSeparator","quoteStrings","decimalseparator","showLabels","showTitle","title","useBom","info","ctx","faArrowAltCircleLeft","AssetAvailabilityChartComponent","stacked","yAxes","autoSkip","additional","lastClickTime","lastClickElement","getDefaultChartColors","backgroundColors","hoverBackgroundColors","loaded","onChangeDisplayType","loadPagedDataDone","loadPagedDataRequest","total","priorities","selectedDisplayType","assetAvailabilityKeyAssetsOffline","retailBusinessManager","category","storeType","sort","newDatasets","i","dataForDataset","current","chartConfig","chartByPriority","QueryOptionsModel","AssetAvailabilityCriticalOfflineComponent","assetNames","getCriticalAssetNames","assets","getAssetOfflineSummary","asset","find","groupName","inform_Submenu2","inform_System","icon","system","offlineCount","onClick","isCollapsed","selectedAssetName","AssetAvailabilitySummaryComponent","summaryData","loadPagedData","value3","value4","value1","value2","assetCount","AssetAvailabilityTableComponent","offlineCountComparator","valueA","valueB","rowA","rowB","sortDirection","comparator","bind","onNameClick","openWOVendorTable","rowId","available","newDataArray","key","Guid","AssetAvailabilityComponent","resetFilters","updateDateRange","setDateRange","getDateRange","ngDoCheck","isChanged","create","setUpdateId","faExpandArrowsAlt","ConverterHelper","Filter","AssetPerformanceAgeComponent","titleCase","str","splitStr","charAt","toUpperCase","substring","join","hover","mode","max","min","stepSize","position","scaleLabel","labelString","parsing","xAxisKey","yAxisKey","datasetIndex","result","afterLabel","additionalData","chartDatasetSeries","parseInt","ageInYears","series","dataSet","timeStr","fromDt","toDt","intToString","filterType","annualisedMaintCost","benchmarkMaintCost","floatToString","annualisedMaintCount","benchmarkMaintCount","annualisedTimeBetweenFailure","timeBetweenFailure","filterValues","filterRetailBusinessManagerLabel","filterStoreTypeLabel","headersGroup","rowsForExport","headersForExport","retailBusinessManagers","storeProfiles","storeTypes","storeClusters","storeIds","dataByAge","dataByAsset","legendArray","updateCounter","model","dataSets","disableSeries3","j","sendRequestSeries3","sendRequestSeries1and2","dataSetIndex","seriesIndex","getAssetBenchmarkByAge","fillChartAndTable","getAssetBenchmarkByAsset","maxX","newLegendMap","currentData","currentSeries","currentDataSet","currentDataSetIndex","currentSeriesIndex","showInGraph","values","y","borderColor","color","yAxisID","fill","dataSetName","groupByEntity","getRandomColor","nameAddition","assign","newLegendArray","a","b","localeCompare","groupedData","filterStr","gd","seriesNames","seriesData","seriesName","buildSeriesName","ages","age","sName","ageStr","rowForExport","lastSValue","firstSValue","classes","toFixed","goFullscreenChart","isChartFullscreen","AssetPerformanceMonthComponent","chartData","monthName","headersTop","sendRequest","getAssetBenchmarkByMonthName","monthNames","faChartLine","AssetPerformanceSeriesComponent","onMonth1Changed","month1","month2","onMonth2Changed","endOf","appendTo","opens","singleValue","onChangeSingleValue","onChangeFilterType","inputs","AssetPerformanceSummaryAssetComponent","modalService","dataBenchmarkList","requestsCount","sendRequestSeries1","fillTable","getAssetBenchmarkList","group","currentDataByAsset","currentDataByAge","currentDataBenchmarkList","gdIndex","dsI","stop","sI","itemByAge","g","itemsBenchmarkList","groupingAssetTypeMapId","assetTypeMapId","description","installationDate","decommissionDate","barcode","firstCell","isArray","formatDateForTable","againstBenchamrk1","againstBenchamrk2","againstBenchamrk3","isFirst","gRow","cell","unboxedRows","internalRow","dateStr","tIndex","substr","content","list","tableDataBenchmarkList","faSave","faPlusSquare","faUndo","DashboardAssetPerformanceDataSetModel","AssetPerformanceComponent","dashboardService","assetNamesEnable","getDashboardAssetPerformance","config","dashboardBackup","JSON","stringify","isDashboardReady","selectTab","selectedTab","cancelEditDashboard","parse","saveDashboard","today","maxDate","shortDateRange","invalidDateRange","bigDate","ds","s1","m1","m2","days","inProgressSaveDashboard","saveDashboardAssetPerformance","addDataSet","deleteDataSet","addSeries","assetPerformanceBenchmarkHideRetailBusinessManager","subtract","startOf","deleteSeries","fromIndex","forkJoin","FinancialActualBudgetCategoryComponent","financialService","yLabel","countTooltip","query1","getRequestSummaryGLCategory","query2","getBudgetSummaryGLCategory","newTooltip","types","glCategories","glCategory","slice","stack","indexCategory","indexActuals","indexForecast","cost","costEstNet","costEstNetCount","entityMatch","indexBudget","amount","FinancialActualBudgetFuelNonFuelStateComponent","body1","getRequestSummaryState","getBudgetSummaryState","query3","query4","states","state","indexState","FinancialActualBudgetStoreTypeStateComponent","facilityTypeMode","getFacilityTypeMode","getRequestSummaryStoreType","getBudgetSummaryStoreType","DecimalPipeCostZeroDigits","FinancialAssetCostComponent","columnsStart","headerClass","cellClass","resizeable","draggable","columnsEnd","loadedByAsset","getRequestSummaryAssetStoreType","newTotal","class","tableDataByAsset","assetCategory","headersObjects","getRequestSummaryAssetState","DecimalPipeZeroDigits","FinancialAssetCountComponent","FinancialBudgetActualForecastMonthComponent","activePoints","getElementsAtEvent","_model","beginDate","toDate","endDate","date","getRequestSummaryMonth","getBudgetSummaryMonth","monthes","month","year","minimumIntegerDigits","useGrouping","indexMonth","ctx_r3","FinancialBudgetActualForecastStateComponent","hasBack","selectedStoreType","selectedState","FinancialForecastBudgetStoreGlComponent","loadedByStore","getRequestSummaryGLCodePivot","getBudgetSummaryGLCode","glCode","glName","code","wip","poRasised","budget","varianceCost","variancePercent","openCost","openCostEstNet","wipCost","wipCostEstNet","completedCost","completedCostEstNet","poRaisedCost","poRaisedCostEstNet","tableDataByStore","FinancialForecastBudgetStoreComponent","getRequestSummaryEntityGLPivot","getBudgetSummaryEntity","faHourglassEnd","FinancialSummaryComponent","glStatuses","twoDigitsToString","n","showFullYearForecastVBudget","isCurrentFY","thisMonth","totalSpend","totalSpendVBudget","fullYearForecastVBudget","woCount","actualYTD","budgetFuture","FinancialWOComponent","loadOpenRMWorkOrders","loadingOpenRMWorkOrders","tableDataOpenRMWorkOrders","tableOpenRMWorkOrders","getRequestList","subscribeTableDataOpenRMWorkOrders","d","glStatus","requestType","costEst","glCostType","FinancialComponent","years","selectedYear","fy","onChangeSelectedYear","DashboardRowModel","DashboardWidgetModel","FilterLight","ReportWeeklyStatusModel","AssetService","informApiUrl","getAssetTypeTagList","DashboardService","getDashboard","put","FinancialService","getBudgetSummary","getBudgetSummaryStoreProfile","VendorKpiService","getReportTypeVendors","getReportTypeVendorHistory","isReportReady","getReportLink","report","startDate","reportPath","scheduleReport","WOFiltersService","getDateRangeEst","dateRangeEst","getCurrentDateRangeEst","setDateRangeEst","isDateRangeEstChanged","getDateRangeEstUpdateId","dateRangeEstUpdateId","updateDateRangeEst","operation","drm","getDateRangeModel","getFullYear","getMonth","day","getDate","dateRangeEstUpdateOperation","dateRangeEstUpdateBeginDate","dateRangeEstUpdateEndDate","guid","bEpoc","drus","getTimeInMilliseconds","eEpoc","beginJsDate","endJsDate","formatted","beginEpoc","endEpoc","Date","getVendors","reload","vendors","getVendorNames","vendorNames","getStates","selectedBrand","selectedRetailBusinessManager","getAssetNames","assetNamesEnabled","getBrands","enableFilterBrand","brands","brandsEnable","brandsEnabled","getDistricts","enableFilterDistrict","districts","districtsEnable","districtsEnabled","selectedDistrict","getCategories","enableFilterCategory","categories","categoriesEnable","categoriesEnabled","selectedCategory","getCategoryManagers","enableFilterCategoryManager","categoryManagers","categoryManagersEnable","categoryManagersEnabled","selectedCategoryManager","getKeyAssetNames","keyAssetNames","getRequestType","requestTypes","getRequestTypes","getPriority","getPriorities","getGLCostTypes","glCostTypes","getGLDescriptions","enableFilterGLDescription","glDescriptions","selectedGLDescriptions","getGLStatuses","getRegionalManagers","regionalManagers","getRetailBusinessManagers","getDistrictManagers","districtManagers","getDMs","getStoreType","getStoreProfile","storeProfile","getStoreCluster","storeCluster","getServiceDeliveryManager","getServiceDeliveryManagers","getDeliveryIndicators","deliveryIndicators","getStatuses","statuses","getYears","weekFilterOffsetMonthes","getWeekFilterOffsetMonthes","currentYear","currentMonth","isFY","isStarbucks","yearToFY","getWeeks","$event","fyWeekToWeek","fyWeek","temp","week","fyWeekToWeekMap","weekToFYWeek","thisWeekEnd","isoWeekday","currentDayofYear","lastDayOfYear","resultWeek","weeks","isoWeek","reverse","selectedWeek","shouldOpenFilters","selectedVendor","selectedVendorNames","selectedKeyAssetName","selectedRequestType","selectedPriority","selectedGLCostTypes","selectedGLStatuses","selectedDistrictManagers","selectedRegionalManagers","selectedStoreProfile","selectedStoreCluster","selectedDeliveryIndicators","selectedStatuses","fillBodyEndDateThisMonth","estCompletedDt","toEstCompletedDt","lastDay","helperService","lastDayInMonth","numberToTwoDigitString","fromEstCompletedDt","day1","day2","vendorIds","serviceDeliveryManagers","getDateFromWeeklyStatus","yearTmp","weekTmp","actualYearWeek","isoWeekYear","hours","minutes","seconds","milliseconds","fillBodyWeeklyStatus","isValid","toISOString","isChangedEnabled","clearDataAndFilters","isFilterChanged","changes","iterableDifferStateFilter","iterableDifferBrandFilter","iterableDifferRetailBusinessManagerFilter","iterableDifferVendor","iterableDifferVendorNames","iterableDifferState","iterableDifferStore","iterableDifferAssetName","iterableDifferBrand","iterableDifferDistrict","iterableDifferCategory","iterableDifferCategoryManager","iterableDifferKeyAssetName","iterableDifferRequestType","iterableDifferPriority","iterableDifferGLCostTypes","iterableDifferGLDescriptions","iterableDifferGLStatuses","iterableDifferRetailBusinessManager","iterableDifferDistrictManagers","iterableDifferRegionalManagers","iterableDifferStoreType","iterableDifferStoreProfile","iterableDifferStoreCluster","iterableDifferServiceDeliveryManager","iterableDifferDeliveryIndicators","iterableDifferStatuses","oldYear","oldWeek","isDrilldownBackByVendorAvailable","drilldownBackByVendor","drilldownBackByState","drilldownBackByStore","drilldownBackByStoreType","drilldownBackByAssetName","drilldownBackByBrand","drilldownBackByDistrict","drilldownBackByCategory","drilldownBackByCategoryManager","drilldownBackByPriority","drilldownBackRM","drilldownBackRMByStoreType","isDrilldownBackByDateEstAvailable","drilldownBackByDateEst","iterableDiffers","isLoggedIn","providedIn","WorkOrderReportService","getRequestSummary","getRequestSummaryPriority","getRequestSummaryVendor","getRequestSummaryEntity","getRequestSummaryAsset","getRequestSummaryAssetStoreProfile","getRequestSummaryStateMonth","getRequestSummaryStoreTypeMonth","getRequestSummaryStoreProfile","getRequestSummaryStoreProfileMonth","getVendorParents","regions","brand","region","getAssetCategories","getRequestSummaryWeekPriority","getRequestSummaryDay","getWeeklyStatusPdf","pdfUrl","Authorization","getRequestSummaryVendorPivot","getRequestSummaryDayResolve","faCloudDownloadAlt","faSyncAlt","faTimes","NotificationType","VendorPerformanceKpiReportComponent","vendorKpiService","tableByInformByState","dateFormat","showClearBtn","showApplyBtn","selectorHeight","selectorWidth","height","selectionTxtFontSize","userProfile$","getCurrentUserProfile","userProfile","loadVendors","onDateRangeChanged","loadTypes","onInputFocusBlur","reason","mydrp","openBtnClicked","loadedVendors","vendorExclusions","onVendorChange","vendor","selectedType","loadedTypes","updateIdTypes","isActive","excludeExistingReports","uniqueTypes","reportTypeCd","path","reportTypePath","reportTypeDescription","reportSettings","canSelectType","isReadyToGenerate","showNewDialog","then","reportTypeStartDate","reportTypeEndDate","vendorId","reportEmail","email","trigger","generateReport","generationInProgress","requestTime","query","isReadyBody","waitForReportGeneration","regenerateReport","warn","paths","link","context","html","popupDownload","Success","timeOut","showProgressBar","clickToClose","notification","hasSomeParentTheClass","toElement","srcElement","downloadlink","document","createElement","href","click","removeNotification","className","classList","contains","parentNode","isRegenerateAllowed","createType","VendorPerformanceStatusMonthComponent","chartByMonth","loadedByMonth","bodyChart1","overallStatus","element2","indexTypeCount","chartConfigByMonth","VendorPerformanceStatusStateComponent","enableFilterState","loadedInformByState","bodyTable4","no","yes","informUseByVendor","tableDataInformByState","VendorPerformanceStatusSummarySghComponent","loadedSummary","loadedSummaryOpenRMQuotes","loadedSummaryRejectedRMQuotes","loadedSummaryFMUnderReview","loadedSummaryFMRejected","loadedSummaryMissedKPI","loadedSummaryCompletedNotClaimed","loadedSummaryInformUsaged","openIncident","openPlanned","openReactive","openTotalCost","completedIncident","completedPlanned","completedReactive","completedTotalCost","completedPlannedOvertime","completedTotal","completedOvertime","completedRevisits","plannedTotal","openPlannedOverdue","revisits","completedPlannedOntime","completedKpi","completedFirstTimeFix","bodyItem9","statusIds","openRMQuotes","bodyItem10","rejectedRMQuotes","bodyItem11","fmUnderReview","bodyItem12","fmRejected","bodyItem13and14","missedP1KPI","missedP2KPI","bodyItem15","completedNotClaimed","bodyItem16","informUsage","VendorPerformanceStatusSummaryComponent","VendorPerformanceStatusVendorPComponent","enableNewVendorFilter","tableByVendorPlanned","loadedByVendorPlanned","bodyTable2","vendorNo","subGroupName","plannedCount","plannedRespondKPIFail","plannedResolveKPIFail","plannedResolveFailPercentage","tableDataByVendorPlanned","useHeader","VendorPerformanceStatusVendorRIComponent","tableByVendorReactiveIncident","loadedByVendorReactiveIncident","bodyTable1","reactiveCount","reactiveRespondKPIFail","reactiveResolveKPIFail","incidentCount","incidentRespondKPIFail","incidentResolveKPIFail","resolveFailPercentage","tableDataByVendorReactiveIncident","VendorPerformanceStatusComponent","DecimalPipe","WeeklyStatusAssetComponent","WeeklyStatusDailyVolumeComponent","reduce","percent","minimumFractionDigits","maximumFractionDigits","chartConfigByVolume","loadedByVolume","dates","chartByVolume","WeeklyStatusKPIPerformanceComponent","gridLines","drawOnChartArea","loadedKPIPerformance","dateFrom2","assetCategories","getRequestSummaryWeekPriorityEvent","chartConfigKPIPerformance","chartKPIPerformance","newTotals","getResponseRectificationColors","colorsCount","borderWidth","colorsResponse","colorsRectification","indexWeek","value0","WeeklyStatusTopComponent","loadedTop5Vendor","loadedTop5Store","tableDataTop5Vendor","tableDataTop5Store","WeeklyStatusVolumePriorityComponent","chartConfigByPriority","loadedByPriority","moveItemInArray","transferArrayItem","faArrowDown","faArrowsAlt","faArrowUp","faEdit","faFileDownload","WeeklyStatusComponent","generatePdf","inProgressPdf","BodyClass","getWhiteLabel","Comment","comment","Year","Week","State","Priority","ChartConfigByPriorityLabels","weeklyStatusVolumePriorityComponent","ChartConfigByPriorityValues","TableAssetData","weeklyStatusAssetComponent","ChartsConfigKPIPerformance","kpiPerformanceComponents","child","Title","Labels","Values","ChartConfigByVolumeLabels","weeklyStatusDailyVolumeComponent","ChartConfigByVolumeValues","TableVendorsData","weeklyStatusTopComponent","TableStoresData","res","ok","blob","Blob","contentDispositionHeader","contentDispositionHeaderResult","trim","contentDispositionFileName","navigator","msSaveOrOpenBlob","msSaveBlob","URL","createObjectURL","download","kpiRows","editDashboard","isEdit","moveElement","previousContainer","container","previousIndex","currentIndex","moveRowUp","toIndex","moveRowDown","addRow","widgets","widget","deleteRow","addWidget","deleteWidget","JsonEditorComponent","JsonEditorOptions","WidgetConfigComponent","editorOptions","modes","filterEditable","changeFilter","editor","isValidJson","getText","WorkOrdersCompletedAssetComponent","tableByAsset","WorkOrdersCompletedMonthComponent","endsWith","getIncidentPlannedReactiveColors","backgroundColorCost","hoverBackgroundColorCost","indexTypeCost","WorkOrdersCompletedPriorityComponent","e","legendItem","ci","meta","getDatasetMeta","hidden","totalByPriority","_chart","WorkOrdersCompletedResolveComponent","original","chartDataByResolve","acceptablePrioritiesStr","resolveKPIPriorities","acceptablePriorities","newLabelsResolve","indexResolve","isAcceptable","valuesTemplate","newDataResolve","newDataResolveOriginal","datasources","getKPIFailPassColors","colorsResolve","colorsHoverResolve","priorityNumbers","solidPriorities","previousValue","priorityLabel","chartConfigByResolve","chartByResolve","WorkOrdersCompletedRespondComponent","chartDataByRespond","respondKPIPriorities","newLabelsRespond","newDataRespond","newDataRespondeOriginal","colorsRespond","colorsHoverRespond","indexRespond","chartConfigByRespond","chartByRespond","WorkOrdersCompletedStateComponent","chartByState","loadedByState","chartConfigByState","WorkOrdersCompletedStoreComponent","WorkOrdersCompletedSummaryComponent","countRM","countPM","costRM","costPM","WorkOrdersCompletedVendorComponent","tableByVendor","loadedByVendor","ignoreVendorNoGrouping","tableDataByVendor","WorkOrdersCompletedComponent","WorkOrdersFiltersComponent","onDateRangeEstChanged","onInputFocusBlurEst","mydrpEst","currentDateRange","currentDateRangeEst","modelEst","getDateRangeUpdateId","dateRangeUpdateOperation","dateRangeUpdateBeginDate","dateRangeUpdateEndDate","rangeSelected","WorkOrdersNavComponent","router","WorkOrdersOpenAssetComponent","openWOAssetTable","indexTotal","WorkOrdersOpenOverdueDateComponent","overText","chartOldRecordsStart","chartOldRecordsEnd","dateFormatChart","getOverdueChartColors","buildWeek","oldestSince","dateWeek","dateFormatInternal","newDataNotOverdue","todayStr","colorsPast","colorsFuture","WorkOrdersOpenOverdueComponent","newPriorities","prioritiesCustomOrder","rowOpen","Type","Total","rowRespond","rowResolve","newColumns","WorkOrdersOpenPMComponent","loadOpenPMWorkOrders","loadingOpenPMWorkOrders","tableDataOpenPMWorkOrders","tableOpenPMWorkOrders","convertDecimalDaysToDaysAndHours","daysOverdue","WorkOrdersOpenPriorityComponent","getTime","WorkOrdersOpenRMComponent","emptyResult","ctx_r4","WorkOrdersOpenStatePMComponent","datasetIndex2","chartByStatePM","datasourcesPM","newDataPM","getKPIFailSuccessColors","chartConfigByStatePM","ctx_r6","WorkOrdersOpenStateRMComponent","chartByStateRM","loadedByStateRMDrilldown","datasourcesRM","newDataRM","chartConfigByStateRM","WorkOrdersOpenStateComponent","colors2","indexType","WorkOrdersOpenStoreComponent","WorkOrdersOpenSummaryComponent","loadedOpenSummary","loadedKPISummary","openRM","openPM","p1KPI","p2KPI","WorkOrdersOpenVendorComponent","WorkOrdersOpenComponent","beforeTabChange","nextId","AppComponent","APP_INITIALIZER","BrowserModule","NgSelectModule","ChartModule","HTTP_INTERCEPTORS","HttpClientModule","FormsModule","RouterModule","FontAwesomeModule","NgbModule","NgbNavModule","NgxDatatableModule","DragDropModule","GoogleMapsModule","BrowserAnimationsModule","AngJsoneditorModule","AdalService","SimpleNotificationsModule","DateRangeUtilService","MyDateRangePickerModule","DpDatePickerModule","NgxColorsModule","DatePipeFull","DecimalPipeCostTwoDigits","DecimalPipeTwoDigits","AuthGuard","AuthService","MessageService","SettingsHttpService","SettingsService","StateService","WhiteLabelService","AzureAuthCallbackComponent","HeaderComponent","HomeComponent","LoginComponent","SamlAuthCallbackComponent","app_Init","settingsHttpService","initializeApp","AppModule","bootstrap","provide","useFactory","deps","multi","useClass","imports","forRoot","pauseOnHover","component","pathMatch","canActivate","scrollPositionRestoration","declarations","auth","handleWindowCallback","loginAzure","encapsulation","DatePipe","transform","pure","NgbDropdownConfig","faUser","companyLogo","getCompanyLogo","enableLogo","getEnableLogo","placement","isLoggedIn$","currentUsername$","getCurrentUsername","headerTitle$","getHeaderTitle","logOut","logout","features","navigate","faSignInAlt","faMicrosoft","isLoginInProgress$","isLoginInProgress","isInvalidLogin$","isInvalidLogin","isAzureADEnabled","isSamlEnabled","login","form","loginSaml","loginSamlStep1","Settings","loginSamlStep2","take","HttpParams","JwtHelperService","environment","loginInProgress","loggedIn","invalidLogin","currentUsername","roles","_zone","adalConfig","init","isTokenValid","localStorage","getItem","loadRoles","loadUserProfile","azureAuth","expiredOn","getRoles","console","getUserProfile","user","username","password","credentials","setItem","status","userName","run","samlConfig","samlSsoUrl","jwt","location","hash","helper","decodedToken","decodeToken","log","sub","exp","isSaml","removeItem","samlSloUrl","pfmToken","httpOptions","params","HelperService","now","decimalDays","wholeDays","remainingHours","wholeHours","of","notifications","remove","override","blobToString","u","XMLHttpRequest","send","revokeObjectURL","responseText","errorObj","settingsService","titleService","Promise","resolve","toPromise","settings","setTitle","loadScript","scriptUrl","script","src","appendChild","combineLatest","currentStore","getCurrentFilters","currentFilters","headerTitle","fyCahngeInProgress","mStart","mEnd","dateRangeUpdateId","getCurrentFY","getMaxFYToShow","currentFY","showFYFrom","beginFY","endFY","whiteLabel","is7Eleven","isVisionAustralia","isRacv","isSgh","informApplicationUrl","letters","random","Incident","Planned","Reactive","getLineChartColors","colorsToday","production","tenant","clientId","redirectUri","postLogoutRedirectUri","endpoints","visionaustralia","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[194]}