{"version":3,"file":"main.8c8067feff569b05.js","mappings":"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AK,EAAE,UAAU;gBACjB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc;gBACzB,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,gBAAgB;gBAC7B,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,gBAAgB;gBAC7B,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc;aAC1B;SACF;KACF;CACF,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;ACvGP;AAIlB;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,sDAAsD;AACtD,uCAAuC;AAEvC,wEAAwB;KACrB,eAAe,CAAC,sDAAS,CAAC;KAE1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACjBpC;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/api/vat.ts","./src/app/app-routing.module.ts","./src/app/app-routing.names.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/http.interceptor.ts","./src/app/interceptores/http-response.interceptor.ts","./src/app/interceptores/http-spinner.interceptor.ts","./src/app/modules/admin/admin.module.ts","./src/app/modules/admin/components/admin/admin.component.ts","./src/app/modules/admin/components/admin/admin.component.html","./src/app/modules/admin/components/news/news.component.ts","./src/app/modules/admin/components/news/news.component.html","./src/app/modules/analyzes/analyzes.module.ts","./src/app/modules/analyzes/components/analyze-card/analyze-card.component.ts","./src/app/modules/analyzes/components/analyze-card/analyze-card.component.html","./src/app/modules/analyzes/components/analyze/analyze.component.ts","./src/app/modules/analyzes/components/analyze/analyze.component.html","./src/app/modules/analyzes/components/analyzes/analyzes.component.ts","./src/app/modules/analyzes/components/analyzes/analyzes.component.html","./src/app/modules/analyzes/services/analyze-helper.service.ts","./src/app/modules/auth/components/forbidden/forbidden.component.ts","./src/app/modules/auth/components/forbidden/forbidden.component.html","./src/app/modules/auth/components/unauthorized/unauthorized.component.ts","./src/app/modules/auth/components/unauthorized/unauthorized.component.html","./src/app/modules/auth/services/open-idc.service.ts","./src/app/modules/bdo-dashboard/bdo-dashboard.module.ts","./src/app/modules/bdo-dashboard/components/bdo-dashboard/bdo-dashboard.component.ts","./src/app/modules/bdo-dashboard/components/bdo-dashboard/bdo-dashboard.component.html","./src/app/modules/commons/classes/roles-constants.ts","./src/app/modules/commons/commons.module.ts","./src/app/modules/commons/components/corrected-potentiale-input-box/corrected-potentiale-input-box.component.ts","./src/app/modules/commons/components/corrected-potentiale-input-box/corrected-potentiale-input-box.component.html","./src/app/modules/commons/components/message-time-author/message-time-author.component.ts","./src/app/modules/commons/components/message-time-author/message-time-author.component.html","./src/app/modules/commons/components/posting-action-selector/posting-action-selector.component.ts","./src/app/modules/commons/components/posting-action-selector/posting-action-selector.component.html","./src/app/modules/commons/components/year-picker/year-picker.component.ts","./src/app/modules/commons/components/year-picker/year-picker.component.html","./src/app/modules/commons/directives/app-has-role.directive.ts","./src/app/modules/commons/helpers/common-helpers.ts","./src/app/modules/commons/pipes/filter-key-remove.pipe.ts","./src/app/modules/commons/pipes/status.pipe.ts","./src/app/modules/commons/pipes/uppercase-space.pipe.ts","./src/app/modules/commons/pipes/vat-currency.pipe.ts","./src/app/modules/commons/services/corrected-potential.service.ts","./src/app/modules/commons/services/internal-user.service.ts","./src/app/modules/commons/services/loading-template-factory.service.ts","./src/app/modules/commons/services/posting-note-change.service.ts","./src/app/modules/commons/services/posting-status-change.service.ts","./src/app/modules/dialog/components/all-messages/all-messages.component.ts","./src/app/modules/dialog/components/all-messages/all-messages.component.html","./src/app/modules/dialog/components/are-you-sure-dialog/are-you-sure-dialog.component.ts","./src/app/modules/dialog/components/are-you-sure-dialog/are-you-sure-dialog.component.html","./src/app/modules/dialog/components/completed-analyzes/completed-analyzes.component.ts","./src/app/modules/dialog/components/completed-analyzes/completed-analyzes.component.html","./src/app/modules/dialog/components/create-rule/create-rule.component.ts","./src/app/modules/dialog/components/create-rule/create-rule.component.html","./src/app/modules/dialog/components/expanded-message/expanded-message.component.ts","./src/app/modules/dialog/components/expanded-message/expanded-message.component.html","./src/app/modules/dialog/components/export-message/export-message.component.ts","./src/app/modules/dialog/components/export-message/export-message.component.html","./src/app/modules/dialog/components/manuals-dialog/manuals-dialog.component.ts","./src/app/modules/dialog/components/manuals-dialog/manuals-dialog.component.html","./src/app/modules/dialog/components/posting-column-list/posting-column-list.component.ts","./src/app/modules/dialog/components/posting-column-list/posting-column-list.component.html","./src/app/modules/dialog/components/select-analyze/select-analyze.component.ts","./src/app/modules/dialog/components/select-analyze/select-analyze.component.html","./src/app/modules/dialog/dialog.module.ts","./src/app/modules/favorites/components/favorite-list/favorite-list.component.ts","./src/app/modules/favorites/components/favorite-list/favorite-list.component.html","./src/app/modules/favorites/favorites.module.ts","./src/app/modules/favorites/services/favorite.service.ts","./src/app/modules/filter/classes/component-filter-types.ts","./src/app/modules/filter/components/checkbox-list/checkbox-list.component.ts","./src/app/modules/filter/components/checkbox-list/checkbox-list.component.html","./src/app/modules/filter/components/chosen-filters-bar/chosen-filters-bar.component.ts","./src/app/modules/filter/components/chosen-filters-bar/chosen-filters-bar.component.html","./src/app/modules/filter/components/datepicker-custom-header/datepicker-custom-header.component.ts","./src/app/modules/filter/components/datepicker-custom-header/datepicker-custom-header.component.html","./src/app/modules/filter/components/filter/filter.component.ts","./src/app/modules/filter/components/filter/filter.component.html","./src/app/modules/filter/components/hierarchy/hierarchy.component.ts","./src/app/modules/filter/components/hierarchy/hierarchy.component.html","./src/app/modules/filter/components/keyword/keyword.component.ts","./src/app/modules/filter/components/keyword/keyword.component.html","./src/app/modules/filter/components/list/list.component.ts","./src/app/modules/filter/components/list/list.component.html","./src/app/modules/filter/components/month-picker/month-picker.component.ts","./src/app/modules/filter/components/month-picker/month-picker.component.html","./src/app/modules/filter/components/period/period.component.ts","./src/app/modules/filter/components/period/period.component.html","./src/app/modules/filter/filter.module.ts","./src/app/modules/filter/services/filter-bar.service.ts","./src/app/modules/filter/services/filter-data.service.ts","./src/app/modules/filter/services/internal-filter.service.ts","./src/app/modules/home/components/favorites/favorites.component.ts","./src/app/modules/home/components/favorites/favorites.component.html","./src/app/modules/home/components/home/home.component.ts","./src/app/modules/home/components/home/home.component.html","./src/app/modules/home/components/latest/latest.component.ts","./src/app/modules/home/components/latest/latest.component.html","./src/app/modules/home/components/top-info/top-info.component.ts","./src/app/modules/home/components/top-info/top-info.component.html","./src/app/modules/home/home.module.ts","./src/app/modules/label-glossary/Customer-glossary-definitions/index.ts","./src/app/modules/label-glossary/Customer-glossary-definitions/opus-definitions.ts","./src/app/modules/label-glossary/Customer-glossary-definitions/prisme-NY-definition.ts","./src/app/modules/label-glossary/Customer-glossary-definitions/prisme-definitions.ts","./src/app/modules/label-glossary/Customer-glossary-definitions/øs-definitions.ts","./src/app/modules/label-glossary/label-helper/glossary-definition-helper.ts","./src/app/modules/label-glossary/services/label-glossary.service.ts","./src/app/modules/leader-dashboard/Helpers/LeaderDashBoardHelper.ts","./src/app/modules/leader-dashboard/components/card-diagram/card-diagram.component.ts","./src/app/modules/leader-dashboard/components/card-diagram/card-diagram.component.html","./src/app/modules/leader-dashboard/components/card-table/card-table.component.ts","./src/app/modules/leader-dashboard/components/card-table/card-table.component.html","./src/app/modules/leader-dashboard/components/function-diagram/function-diagram.component.ts","./src/app/modules/leader-dashboard/components/function-diagram/function-diagram.component.html","./src/app/modules/leader-dashboard/components/leader-dashboard/leader-dashboard.component.ts","./src/app/modules/leader-dashboard/components/leader-dashboard/leader-dashboard.component.html","./src/app/modules/leader-dashboard/components/top-bar/top-bar.component.ts","./src/app/modules/leader-dashboard/components/top-bar/top-bar.component.html","./src/app/modules/leader-dashboard/components/year-selector/year-selector.component.ts","./src/app/modules/leader-dashboard/components/year-selector/year-selector.component.html","./src/app/modules/leader-dashboard/leader-dashboard.module.ts","./src/app/modules/leader-dashboard/services/year-select.service.ts","./src/app/modules/login/components/login/login.component.ts","./src/app/modules/login/components/login/login.component.html","./src/app/modules/login/guards/authorization.guard.ts","./src/app/modules/login/login.module.ts","./src/app/modules/messages/components/messages/messages.component.ts","./src/app/modules/messages/components/messages/messages.component.html","./src/app/modules/messages/helpers/message-helper.ts","./src/app/modules/messages/messages.module.ts","./src/app/modules/messages/services/messages.service.ts","./src/app/modules/overlay/components/account-no-related-postings/account-no-related-postings.component.ts","./src/app/modules/overlay/components/account-no-related-postings/account-no-related-postings.component.html","./src/app/modules/overlay/components/information/information.component.ts","./src/app/modules/overlay/components/information/information.component.html","./src/app/modules/overlay/components/invoice/invoice.component.ts","./src/app/modules/overlay/components/invoice/invoice.component.html","./src/app/modules/overlay/components/overlay/overlay.component.ts","./src/app/modules/overlay/components/overlay/overlay.component.html","./src/app/modules/overlay/components/related-postings/related-postings.component.ts","./src/app/modules/overlay/components/related-postings/related-postings.component.html","./src/app/modules/overlay/overlay.module.ts","./src/app/modules/overlay/services/overlay.service.ts","./src/app/modules/postings/components/column-filter-multi-text-box/column-filter-multi-text-box.component.ts","./src/app/modules/postings/components/column-filter-multi-text-box/column-filter-multi-text-box.component.html","./src/app/modules/postings/components/column-filter-text-box/column-filter-text-box.component.ts","./src/app/modules/postings/components/column-filter-text-box/column-filter-text-box.component.html","./src/app/modules/postings/components/postings/postings.component.ts","./src/app/modules/postings/components/postings/postings.component.html","./src/app/modules/postings/components/table/table.component.ts","./src/app/modules/postings/components/table/table.component.html","./src/app/modules/postings/postings.module.ts","./src/app/modules/postings/services/check-box.service.ts","./src/app/modules/report/components/report/report.component.ts","./src/app/modules/report/components/report/report.component.html","./src/app/modules/report/report.module.ts","./src/app/modules/shell/components/customer-selector/customer-selector.component.ts","./src/app/modules/shell/components/customer-selector/customer-selector.component.html","./src/app/modules/shell/components/header/header.component.ts","./src/app/modules/shell/components/header/header.component.html","./src/app/modules/shell/components/information-dialog/information-dialog.component.ts","./src/app/modules/shell/components/information-dialog/information-dialog.component.html","./src/app/modules/shell/components/laws/laws.component.ts","./src/app/modules/shell/components/laws/laws.component.html","./src/app/modules/shell/components/manuals/manuals.component.ts","./src/app/modules/shell/components/manuals/manuals.component.html","./src/app/modules/shell/components/menu/menu.component.ts","./src/app/modules/shell/components/menu/menu.component.html","./src/app/modules/shell/components/not-found/not-found.component.ts","./src/app/modules/shell/components/not-found/not-found.component.html","./src/app/modules/shell/components/settings/settings.component.ts","./src/app/modules/shell/components/settings/settings.component.html","./src/app/modules/shell/components/shell/shell.component.ts","./src/app/modules/shell/components/shell/shell.component.html","./src/app/modules/shell/components/sidebar/sidebar.component.ts","./src/app/modules/shell/components/sidebar/sidebar.component.html","./src/app/modules/shell/components/snackbar/snackbar.component.ts","./src/app/modules/shell/components/snackbar/snackbar.component.html","./src/app/modules/shell/components/spinner/spinner.component.ts","./src/app/modules/shell/components/spinner/spinner.component.html","./src/app/modules/shell/components/throbber/throbber.component.ts","./src/app/modules/shell/components/throbber/throbber.component.html","./src/app/modules/shell/components/top-bar/top-bar.component.ts","./src/app/modules/shell/components/top-bar/top-bar.component.html","./src/app/modules/shell/components/unauthorized-site/unauthorized-site.component.ts","./src/app/modules/shell/components/unauthorized-site/unauthorized-site.component.html","./src/app/modules/shell/services/header.service.ts","./src/app/modules/shell/services/information-dialog.service.ts","./src/app/modules/shell/services/internal-actions.service.ts","./src/app/modules/shell/services/internal-current-customer.service.ts","./src/app/modules/shell/services/internal-customer.service.ts","./src/app/modules/shell/services/loading-spinner.service.ts","./src/app/modules/shell/services/menu.service.ts","./src/app/modules/shell/services/notify.service.ts","./src/app/modules/shell/services/sidebar.service.ts","./src/app/modules/shell/services/spinner.service.ts","./src/app/modules/shell/services/user.service.ts","./src/app/modules/shell/shell.module.ts","./src/app/modules/store/models/LocalStorageItem.ts","./src/app/modules/store/services/local-storage.service.ts","./src/app/modules/store/store.module.ts","./src/app/modules/testing/components/testing/testing.component.ts","./src/app/modules/testing/testing.module.ts","./src/app/services/system.service.ts","./src/environments/environment.dockerPROD.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["//----------------------\n// \n// Generated using the NSwag toolchain v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\n\n@Injectable()\nexport class DemoService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n updateMetrics(): Observable {\n let url_ = this.baseUrl + \"/api/demo/metrics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateMetrics(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateMetrics(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateMetrics(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class HealthCheckService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n get(): Observable {\n let url_ = this.baseUrl + \"/mgmt/healthcheck\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n get2(): Observable {\n let url_ = this.baseUrl + \"/api/HealthCheck\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet2(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet2(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet2(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class SystemService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n getSystemInfo(): Observable {\n let url_ = this.baseUrl + \"/api/systeminfo\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSystemInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSystemInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSystemInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class TestService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n get(): Observable {\n let url_ = this.baseUrl + \"/api/test\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGet(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGet(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGet(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n post(): Observable {\n let url_ = this.baseUrl + \"/api/test\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPost(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPost(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPost(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class UserService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n getUserInfo(): Observable {\n let url_ = this.baseUrl + \"/api/userinfo\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserInfo(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserInfo(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserInfo(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class AnalysisService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param analysisIds (optional) \n * @return Get a list of Analysis by Id\n or\n Get a list of Analysis by Id\n */\n getByIds(analysisIds?: number[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(analysisIds);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByIds(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByIds(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByIds(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Analysis[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param financialYear (optional) \n * @return Get analysis statistics by financial year\n or\n Get analysis statistics by financial year\n */\n getStatistics(financialYear?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/statistics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(financialYear);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetStatistics(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetStatistics(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetStatistics(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AnalysisStatistics;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @return Get a list of Analysis by Filter\n or\n Get a list of Analysis by Filter\n */\n getByFilter(filter?: AnalysisFilter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/filter\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Analysis[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param postingIds (optional) \n * @param periods (optional) \n * @return Get analysis bases on posting ids and periods\n or\n Get analysis bases on posting ids and periods\n */\n getByPostingIds(postingIds?: number[] | null | undefined, periods?: Period[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/postings?\";\n if (postingIds !== undefined && postingIds !== null)\n postingIds && postingIds.forEach(item => { url_ += \"postingIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(periods);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetByPostingIds(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetByPostingIds(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetByPostingIds(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AnalysisByPostings;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @return Save the current AnalysisFilter\n or\n Save the current AnalysisFilter\n */\n saveFilter(analysisId: number, filter?: AnalysisFilter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/saveFilter/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSaveFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Export analysis by filter\n or\n Export analysis by filter\n */\n exportPostings(body?: ExcelExportBody | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Analysis/export\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processExportPostings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processExportPostings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processExportPostings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class CustomerService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get All Customers\n or\n Get All Customers\n */\n getAllCustomers(): Observable {\n let url_ = this.baseUrl + \"/api/Customer\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllCustomers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllCustomers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllCustomers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Customer[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get a list of customers\n or\n Get a list of customers\n */\n getCustomerList(): Observable {\n let url_ = this.baseUrl + \"/api/Customer/customers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCustomerList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCustomerList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCustomerList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Customer[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get a list of Users by CustomerId\n or\n Get a list of Users by CustomerId\n */\n getCustomerUserList(customerId: number): Observable {\n let url_ = this.baseUrl + \"/api/Customer/customerUsers/{customerId}\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCustomerUserList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCustomerUserList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCustomerUserList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as User[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class FilterService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @param periods (optional) \n * @return Retrieve all regular filter values\n or\n Retrieve all regular filter values\n */\n getPrimaryFilter(periods?: Period[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(periods);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPrimaryFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPrimaryFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPrimaryFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PrimaryFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Retrieve functions filter values\n or\n Retrieve functions filter values\n */\n getFunctions(): Observable {\n let url_ = this.baseUrl + \"/api/Filter/functions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFunctions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFunctions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFunctions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PrimaryFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param skip (optional) \n * @param take (optional) \n * @return Search for suppliers on cvr or name, with paged parameters. Result ordered by name\n or\n Search for suppliers on cvr or name, with paged parameters. Result ordered by name\n */\n getSuppliers(filter?: TextFilter | null | undefined, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter/suppliers?\";\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSuppliers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSuppliers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSuppliers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param skip (optional) \n * @param take (optional) \n * @return Search for accountNos with paged parameters\n or\n Search for accountNos with paged parameters\n */\n getAccounts(filter?: TextFilter | null | undefined, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter/accounts?\";\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAccounts(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAccounts(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAccounts(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param skip (optional) \n * @param take (optional) \n * @return Search for annexNos with paged parameters\n or\n Search for annexNos with paged parameters\n */\n getAnnexNos(filter?: TextFilter | null | undefined, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter/annexnos?\";\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAnnexNos(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAnnexNos(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAnnexNos(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param skip (optional) \n * @param take (optional) \n * @return Search for profitcenters - name or code, with paged parameters. Result ordered by name\n or\n Search for profitcenters - name or code, with paged parameters. Result ordered by name\n */\n getProfitCenters(filter?: TextFilter | null | undefined, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter/profitcenters?\";\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetProfitCenters(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetProfitCenters(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetProfitCenters(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @param skip (optional) \n * @param take (optional) \n * @return Search for vat types - code, with paged parameters. Result ordered by number\n or\n Search for vat types - code, with paged parameters. Result ordered by number\n */\n getVatTypes(filter?: TextFilter | null | undefined, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Filter/vattypes?\";\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetVatTypes(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetVatTypes(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetVatTypes(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class IdentityService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get user list\n or\n Get user list\n */\n getUsers(): Observable {\n let url_ = this.baseUrl + \"/api/Identity/users\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as User[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get current user\n or\n Get current user\n */\n getCurrentUser(): Observable {\n let url_ = this.baseUrl + \"/api/Identity/user\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCurrentUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCurrentUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCurrentUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as User;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class InvoiceService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get a list of Invoices by Year\n or\n Get a list of Invoices by Year\n */\n getList(year: number): Observable {\n let url_ = this.baseUrl + \"/api/Invoice?\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined and cannot be null.\");\n else\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Invoice[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class LeaderDashboardService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get Function Statistic by Year and Level\n or\n Get Function Statistic by Year and Level\n */\n getFunctionStatistic(year: number, level: string): Observable {\n let url_ = this.baseUrl + \"/api/LeaderDashboard/GetFunctionStatistic/{year}/{level}\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined.\");\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\n if (level === undefined || level === null)\n throw new Error(\"The parameter 'level' must be defined.\");\n url_ = url_.replace(\"{level}\", encodeURIComponent(\"\" + level));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetFunctionStatistic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetFunctionStatistic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetFunctionStatistic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as FunctionsStatistic[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get Status on Analysis by Year\n or\n Get Status on Analysis by Year\n */\n getAnalysisStatus(year: number): Observable {\n let url_ = this.baseUrl + \"/api/LeaderDashboard/GetAnalysisStatus/{year}\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined.\");\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAnalysisStatus(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAnalysisStatus(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAnalysisStatus(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AnalysisStatus[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get Month Polls on Postings and Invoices by Year\n or\n Get Month Polls on Postings and Invoices by Year\n */\n getPollOfPostingAndInvoices(year: number): Observable {\n let url_ = this.baseUrl + \"/api/LeaderDashboard/GetPollOfPostingAndInvoices/{year}\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined.\");\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPollOfPostingAndInvoices(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPollOfPostingAndInvoices(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPollOfPostingAndInvoices(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingPoll[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get User Information On All User in the AccessGroup by financialYear\n or\n Get User Information On All User in the AccessGroup by financialYear\n */\n getAllUsersInformation(year: number): Observable {\n let url_ = this.baseUrl + \"/api/LeaderDashboard/GetAllUsersInformation/{year}\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined.\");\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllUsersInformation(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllUsersInformation(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllUsersInformation(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as UserInformation[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param userId (optional) \n * @return Get Information about the usage of the Application by User\n or\n Get Information about the usage of the Application by User\n */\n getUsageOfApplicationByUser(year: number, userId?: number | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/LeaderDashboard/GetUsageOfApplication/{year}?\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined.\");\n url_ = url_.replace(\"{year}\", encodeURIComponent(\"\" + year));\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsageOfApplicationByUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsageOfApplicationByUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsageOfApplicationByUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as UserManagementPoll[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class MessageService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get all messages and postingnote for current user\n or\n Get all messages and postingnote for current user\n */\n getAllMessages(id: number): Observable {\n let url_ = this.baseUrl + \"/api/Message/all/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllMessages(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllMessages(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllMessages(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Message[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get all PostingNotes by postingId\n or\n Get all PostingNotes by postingId\n */\n getAllPostingNotesByPostingId(postingId: number): Observable {\n let url_ = this.baseUrl + \"/api/Message/getAllPostingNotesByPostingId/{postingId}\";\n if (postingId === undefined || postingId === null)\n throw new Error(\"The parameter 'postingId' must be defined.\");\n url_ = url_.replace(\"{postingId}\", encodeURIComponent(\"\" + postingId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllPostingNotesByPostingId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllPostingNotesByPostingId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllPostingNotesByPostingId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Message[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Mark a postingnote as read\n or\n Mark a postingnote as read\n */\n markAsRead(postingNoteId: number, isNews: boolean | null, isGlobalNews: boolean | null): Observable {\n let url_ = this.baseUrl + \"/api/Message/{postingNoteId}/markAsRead?\";\n if (postingNoteId === undefined || postingNoteId === null)\n throw new Error(\"The parameter 'postingNoteId' must be defined.\");\n url_ = url_.replace(\"{postingNoteId}\", encodeURIComponent(\"\" + postingNoteId));\n if (isNews === undefined)\n throw new Error(\"The parameter 'isNews' must be defined.\");\n else if(isNews !== null)\n url_ += \"isNews=\" + encodeURIComponent(\"\" + isNews) + \"&\";\n if (isGlobalNews === undefined)\n throw new Error(\"The parameter 'isGlobalNews' must be defined.\");\n else if(isGlobalNews !== null)\n url_ += \"isGlobalNews=\" + encodeURIComponent(\"\" + isGlobalNews) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMarkAsRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMarkAsRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMarkAsRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Mark a postingnote as unread\n or\n Mark a postingnote as unread\n */\n markAsUnRead(postingNoteId: number, isNews: boolean | null, isGlobalNews: boolean | null): Observable {\n let url_ = this.baseUrl + \"/api/Message/{postingNoteId}/markAsUnRead?\";\n if (postingNoteId === undefined || postingNoteId === null)\n throw new Error(\"The parameter 'postingNoteId' must be defined.\");\n url_ = url_.replace(\"{postingNoteId}\", encodeURIComponent(\"\" + postingNoteId));\n if (isNews === undefined)\n throw new Error(\"The parameter 'isNews' must be defined.\");\n else if(isNews !== null)\n url_ += \"isNews=\" + encodeURIComponent(\"\" + isNews) + \"&\";\n if (isGlobalNews === undefined)\n throw new Error(\"The parameter 'isGlobalNews' must be defined.\");\n else if(isGlobalNews !== null)\n url_ += \"isGlobalNews=\" + encodeURIComponent(\"\" + isGlobalNews) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMarkAsUnRead(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMarkAsUnRead(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMarkAsUnRead(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param mail (optional) \n * @return Send mail to mentioned users with posting and notes\n or\n Send mail to mentioned users with posting and notes\n */\n sendMail(postingNote: number, mail?: VATMail | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Message/sendMail/{postingNote}\";\n if (postingNote === undefined || postingNote === null)\n throw new Error(\"The parameter 'postingNote' must be defined.\");\n url_ = url_.replace(\"{postingNote}\", encodeURIComponent(\"\" + postingNote));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(mail);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSendMail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSendMail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSendMail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param message (optional) \n * @return Add a main message for selected customers or every customer\n or\n Add a main message for selected customers or every customer\n */\n addMainMessage(message?: Message | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Message/AddMainMessage\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(message);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddMainMessage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddMainMessage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddMainMessage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class PostingService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get full posting by Posting Id\n or\n Get full posting by Posting Id\n */\n getPosting(postingId: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/{postingId}\";\n if (postingId === undefined || postingId === null)\n throw new Error(\"The parameter 'postingId' must be defined.\");\n url_ = url_.replace(\"{postingId}\", encodeURIComponent(\"\" + postingId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPosting(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPosting(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPosting(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Posting;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @return Get Postings By PostingFilter\n or\n Get Postings By PostingFilter\n */\n getPostingsByFilter(filter?: PostingFilter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/search\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPostingsByFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPostingsByFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPostingsByFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingAndFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param filter (optional) \n * @return Get Postings By PostingFilter\n or\n Get Postings By PostingFilter\n */\n getAllPostingIdsByFilter(filter?: PostingFilter | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/searchIds\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(filter);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllPostingIdsByFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllPostingIdsByFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllPostingIdsByFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param skip (optional) \n * @param take (optional) \n * @return Get Postings By AnalysisId\n or\n Get Postings By AnalysisId\n */\n getPostingsByAnalysisId(analysisid: number, skip?: number | undefined, take?: number | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/analysis/{analysisid}?\";\n if (analysisid === undefined || analysisid === null)\n throw new Error(\"The parameter 'analysisid' must be defined.\");\n url_ = url_.replace(\"{analysisid}\", encodeURIComponent(\"\" + analysisid));\n if (skip === null)\n throw new Error(\"The parameter 'skip' cannot be null.\");\n else if (skip !== undefined)\n url_ += \"skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPostingsByAnalysisId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPostingsByAnalysisId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPostingsByAnalysisId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingAndFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get PostingFilter By AnalysisId\n or\n Get PostingFilter By AnalysisId\n */\n getPostingFilterByAnalysisId(analysisId: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/postingFilter/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetPostingFilterByAnalysisId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetPostingFilterByAnalysisId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetPostingFilterByAnalysisId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param postingIds (optional) \n * @return Change Posting Status by ids\n or\n Change Posting Status by ids\n */\n setStatusOnPostingsByIds(status: PostingStatus, postingIds?: number[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/setStatusOnPostingsByIds?\";\n if (status === undefined || status === null)\n throw new Error(\"The parameter 'status' must be defined and cannot be null.\");\n else\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(postingIds);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetStatusOnPostingsByIds(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetStatusOnPostingsByIds(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetStatusOnPostingsByIds(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Change Posting Status by postingFilter\n or\n Change Posting Status by postingFilter\n */\n setStatusOnPostingsByPostingFilter(status: PostingStatus, updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/setStatusOnPostingsByPostingFilter?\";\n if (status === undefined || status === null)\n throw new Error(\"The parameter 'status' must be defined and cannot be null.\");\n else\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetStatusOnPostingsByPostingFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetStatusOnPostingsByPostingFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetStatusOnPostingsByPostingFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Change Posting Status by postingNoteId\n or\n Change Posting Status by postingNoteId\n */\n setStatusOnPostingsByPostingNoteId(status: PostingStatus, updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/setStatusOnPostingsByPostingNoteId?\";\n if (status === undefined || status === null)\n throw new Error(\"The parameter 'status' must be defined and cannot be null.\");\n else\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetStatusOnPostingsByPostingNoteId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetStatusOnPostingsByPostingNoteId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetStatusOnPostingsByPostingNoteId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param correctedPotential (optional) \n * @return Set Posting Corrected Potential\n or\n Set Posting Corrected Potential\n */\n setCorrectedPotential(postingId: number, correctedPotential?: CorrectedPotential | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/SetCorrectedPotential/{postingId}\";\n if (postingId === undefined || postingId === null)\n throw new Error(\"The parameter 'postingId' must be defined.\");\n url_ = url_.replace(\"{postingId}\", encodeURIComponent(\"\" + postingId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(correctedPotential);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetCorrectedPotential(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetCorrectedPotential(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetCorrectedPotential(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 202) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param postingIds (optional) \n * @return Set primary Analysis on multiple postings\n or\n Set primary Analysis on multiple postings\n */\n setPrimaryAnalysisByPostingIds(analysisId: number, postingIds?: number[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/SetPrimaryAnalysisByPostingIds/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(postingIds);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetPrimaryAnalysisByPostingIds(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetPrimaryAnalysisByPostingIds(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetPrimaryAnalysisByPostingIds(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 202) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Set primary Analysis on multiple postings\n or\n Set primary Analysis on multiple postings\n */\n setPrimaryAnalysisByPostingFilter(analysisId: number, updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/SetPrimaryAnalysisByPostingFilter/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetPrimaryAnalysisByPostingFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetPrimaryAnalysisByPostingFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetPrimaryAnalysisByPostingFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 202) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pageModel (optional) \n * @return Get postings related to invoice by Posting Id\n or\n Get postings related to invoice by Posting Id\n */\n getInvoiceRelatedPostings(postingId: number, pageModel?: PagingModel | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/{postingId}/related-postings\";\n if (postingId === undefined || postingId === null)\n throw new Error(\"The parameter 'postingId' must be defined.\");\n url_ = url_.replace(\"{postingId}\", encodeURIComponent(\"\" + postingId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(pageModel);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetInvoiceRelatedPostings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetInvoiceRelatedPostings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetInvoiceRelatedPostings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Posting[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pageModel (optional) \n * @return Get postings related to same accountNo by Posting Id\n or\n Get postings related to same accountNo by Posting Id\n */\n getAccountNoRelatedPostings(postingId: number, pageModel?: PagingModel | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/{postingId}/accountNo-related\";\n if (postingId === undefined || postingId === null)\n throw new Error(\"The parameter 'postingId' must be defined.\");\n url_ = url_.replace(\"{postingId}\", encodeURIComponent(\"\" + postingId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(pageModel);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAccountNoRelatedPostings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAccountNoRelatedPostings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAccountNoRelatedPostings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as Posting[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Export postings by filter\n or\n Export postings by filter\n */\n exportPostings(body?: ExcelExportBody | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/export\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processExportPostings(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processExportPostings(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processExportPostings(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Export postings by PostingNote\n or\n Export postings by PostingNote\n */\n exportPostingsByPostingNote(postingNoteId: number, body?: ExcelExportBody | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/exportByPostingNote/{postingNoteId}\";\n if (postingNoteId === undefined || postingNoteId === null)\n throw new Error(\"The parameter 'postingNoteId' must be defined.\");\n url_ = url_.replace(\"{postingNoteId}\", encodeURIComponent(\"\" + postingNoteId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processExportPostingsByPostingNote(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processExportPostingsByPostingNote(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processExportPostingsByPostingNote(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return _observableOf({ fileName: fileName, data: responseBlob as any, status: status, headers: _headers });\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Save postingnote\n or\n Save postingnote\n */\n savePostingNote(updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/savePostingNote\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSavePostingNote(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSavePostingNote(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSavePostingNote(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get postingnote\n or\n Get postingnote\n */\n postingNote(id: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/postingNote/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPostingNote(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPostingNote(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPostingNote(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingNote;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Delete postingnote\n or\n Delete postingnote\n */\n deletePostingNote(id: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/deletePostingNote/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeletePostingNote(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeletePostingNote(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeletePostingNote(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as boolean;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param pageModel (optional) \n * @return Get postings included in a postingnote\n or\n Get postings included in a postingnote\n */\n postingsByPostingNoteId(postingNoteId: number, pageModel?: PagingModel | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/postingNote/{postingNoteId}/postings\";\n if (postingNoteId === undefined || postingNoteId === null)\n throw new Error(\"The parameter 'postingNoteId' must be defined.\");\n url_ = url_.replace(\"{postingNoteId}\", encodeURIComponent(\"\" + postingNoteId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(pageModel);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processPostingsByPostingNoteId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processPostingsByPostingNoteId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processPostingsByPostingNoteId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PostingAndFilter;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get user list\n or\n Get user list\n */\n getUsersForPostingNote(customerId: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/usersForPostingNote/{customerId}\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsersForPostingNote(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsersForPostingNote(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsersForPostingNote(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as User[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get Latest Posting FinancialYear\n or\n Get Latest Posting FinancialYear\n */\n getLatestPostingFinancialYear(): Observable {\n let url_ = this.baseUrl + \"/api/Posting/GetLatestPostingFinancialYear\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetLatestPostingFinancialYear(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetLatestPostingFinancialYear(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetLatestPostingFinancialYear(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param postingId (optional) \n * @return Update BDO Audit on PostingIds\n or\n Update BDO Audit on PostingIds\n */\n updateBDOAuditByPostingIds(audit: string, postingId?: number[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/updateBDOAuditByPostingIds/{audit}\";\n if (audit === undefined || audit === null)\n throw new Error(\"The parameter 'audit' must be defined.\");\n url_ = url_.replace(\"{audit}\", encodeURIComponent(\"\" + audit));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(postingId);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateBDOAuditByPostingIds(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateBDOAuditByPostingIds(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateBDOAuditByPostingIds(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Update BDO Audit on postingsIds by PostingFilter\n or\n Update BDO Audit on postingsIds by PostingFilter\n */\n updateBDOAuditByPostingFilter(audit: string, updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/updateBDOAuditByPostingFilter/{audit}\";\n if (audit === undefined || audit === null)\n throw new Error(\"The parameter 'audit' must be defined.\");\n url_ = url_.replace(\"{audit}\", encodeURIComponent(\"\" + audit));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateBDOAuditByPostingFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateBDOAuditByPostingFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateBDOAuditByPostingFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param updatePosting (optional) \n * @return Update BDO Audit on postingsIds by PostingFilter\n or\n Update BDO Audit on postingsIds by PostingFilter\n */\n updateBDOAuditByPostingNoteId(audit: string, updatePosting?: UpdatePosting | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/updateBDOAuditByPostingNoteId/{audit}\";\n if (audit === undefined || audit === null)\n throw new Error(\"The parameter 'audit' must be defined.\");\n url_ = url_.replace(\"{audit}\", encodeURIComponent(\"\" + audit));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updatePosting);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateBDOAuditByPostingNoteId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateBDOAuditByPostingNoteId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateBDOAuditByPostingNoteId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as number;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get User Defined Columns\n or\n Get User Defined Columns\n */\n getUserColumnDefinitions(analysisId: number): Observable {\n let url_ = this.baseUrl + \"/api/Posting/GetUserColumnDefinitions/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserColumnDefinitions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserColumnDefinitions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserColumnDefinitions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ColumnDefinition[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param columnDefinitions (optional) \n * @return Add User Defined Columns\n or\n Add User Defined Columns\n */\n addOrUpdateUserColumnDefinitions(analysisId: number, columnDefinitions?: ColumnDefinition[] | null | undefined): Observable {\n let url_ = this.baseUrl + \"/api/Posting/AddOrUpdateUserColumnDefinitions/{analysisId}\";\n if (analysisId === undefined || analysisId === null)\n throw new Error(\"The parameter 'analysisId' must be defined.\");\n url_ = url_.replace(\"{analysisId}\", encodeURIComponent(\"\" + analysisId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(columnDefinitions);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddOrUpdateUserColumnDefinitions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddOrUpdateUserColumnDefinitions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddOrUpdateUserColumnDefinitions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ColumnDefinition[];\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\n@Injectable()\nexport class SignalService {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n }\n\n /**\n * @return Get a list of actions\n or\n Get a list of actions\n */\n getClientActionList(): Observable {\n let url_ = this.baseUrl + \"/api/Signal/actions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetClientActionList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetClientActionList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetClientActionList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ClientActions;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Get a list of actions\n or\n Get a list of actions\n */\n getClientDoAction(): Observable {\n let url_ = this.baseUrl + \"/api/Signal/doactions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"application/json\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetClientDoAction(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetClientDoAction(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetClientDoAction(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DoAction;\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface Analysis {\n analysisId: number;\n title?: string | undefined;\n categoryNo: number;\n ongoing: number;\n processed: number;\n quantity: number;\n realisedPotential: number;\n remainingPotential: number;\n totalPotential: number;\n financialYears?: number[] | undefined;\n orderNumber?: number | undefined;\n}\n\nexport interface AnalysisStatistics {\n financialYear: number;\n realisedPotential: number;\n remainingPotential: number;\n totalPotential: number;\n latestPostingDate?: string | undefined;\n reviewStatus: number;\n processedAnalysis?: ProcessedAnalysis[] | undefined;\n originalPotential: number;\n lastDataRead?: string | undefined;\n}\n\nexport interface ProcessedAnalysis {\n analysis?: Analysis | undefined;\n processedState: number;\n processedDate?: string | undefined;\n}\n\nexport interface AnalysisFilter {\n periods?: Period[] | undefined;\n texts?: string[] | undefined;\n dransts?: number[] | undefined;\n costTypes?: number[] | undefined;\n ownerships?: number[] | undefined;\n functions?: string[] | undefined;\n accountNos?: string[] | undefined;\n analysisIds?: number[] | undefined;\n annexNos?: string[] | undefined;\n invoiceTypes?: number[] | undefined;\n invoiceAttachments?: number[] | undefined;\n vatTypes?: string[] | undefined;\n reposted?: boolean[] | undefined;\n admorgs?: string[] | undefined;\n companyCodes?: number[] | undefined;\n profitCenter?: KeyValuePairOfStringAndString[] | undefined;\n suppliers?: KeyValuePairOfStringAndString[] | undefined;\n sortBy?: SortOption | undefined;\n}\n\nexport interface Period {\n fromDate: string;\n toDate: string;\n financialYear?: number | undefined;\n}\n\nexport interface KeyValuePairOfStringAndString {\n key: string;\n value: string;\n}\n\nexport interface SortOption {\n propertyName?: string | undefined;\n ascending: boolean;\n}\n\nexport interface AnalysisByPostings {\n ruleMatchedAnalysis?: Analysis[] | undefined;\n nonRuleMatchedAnalysis?: Analysis[] | undefined;\n}\n\nexport interface ExcelExportBody {\n analysisFilter?: AnalysisFilter | undefined;\n postingFilter?: PostingFilter | undefined;\n columns?: ExcelColumnItem[] | undefined;\n}\n\nexport interface PostingFilter extends AnalysisFilter {\n analysisId: number;\n pageModel?: PagingModel | undefined;\n}\n\nexport interface PagingModel {\n skip: number;\n take: number;\n columnFilters?: { [key: string]: ColumnFilterModel; } | undefined;\n totalRows?: number | undefined;\n sortBy?: SortOption | undefined;\n filter?: string | undefined;\n}\n\nexport interface ColumnFilterModel {\n like?: string | undefined;\n equals?: string | undefined;\n inList?: string[] | undefined;\n greater?: string | undefined;\n less?: string | undefined;\n date?: string | undefined;\n}\n\nexport interface ExcelColumnItem {\n header?: string | undefined;\n valuePropertyName?: string | undefined;\n isCurrency?: boolean | undefined;\n isDate?: boolean | undefined;\n isFunktion?: boolean | undefined;\n padZeros?: number | undefined;\n}\n\nexport interface Customer {\n customerId: number;\n name?: string | undefined;\n municipalityCode?: string | undefined;\n group?: string | undefined;\n customerFinancialTypeId: number;\n customerConfig?: CustomerConfig | undefined;\n}\n\nexport interface CustomerConfig {\n mailEnable: boolean;\n groupId?: string | undefined;\n}\n\nexport interface User {\n userId: number;\n userName?: string | undefined;\n email?: string | undefined;\n accessGroups?: { [key: string]: string; } | undefined;\n roles?: string[] | undefined;\n adid?: string | undefined;\n registeredDate?: string | undefined;\n lastLoginDate?: string | undefined;\n deleteDate?: string | undefined;\n}\n\nexport interface PrimaryFilter {\n periods?: Period[] | undefined;\n financialYear?: FinancialYear[] | undefined;\n functions?: HierarchyViewNode[] | undefined;\n admorgs?: HierarchyViewNode[] | undefined;\n costTypes?: HierarchyViewNode[] | undefined;\n ownerships?: KeyValuePairOfIntegerAndString[] | undefined;\n dransts?: KeyValuePairOfIntegerAndString[] | undefined;\n analyzes?: KeyValuePairOfIntegerAndString[] | undefined;\n invoiceTypes?: KeyValuePairOfIntegerAndString[] | undefined;\n invoiceAttachments?: KeyValuePairOfIntegerAndString[] | undefined;\n vatTypes?: KeyValuePairOfStringAndString[] | undefined;\n reposted?: KeyValuePairOfBooleanAndString[] | undefined;\n companyCodes?: KeyValuePairOfIntegerAndString[] | undefined;\n}\n\nexport interface FinancialYear {\n year: number;\n yearExists: boolean;\n}\n\nexport interface HierarchyViewNode {\n id?: number | undefined;\n customerId: number;\n key?: string | undefined;\n name?: string | undefined;\n children?: HierarchyViewNode[] | undefined;\n}\n\nexport interface KeyValuePairOfIntegerAndString {\n key: number;\n value: string;\n}\n\nexport interface KeyValuePairOfBooleanAndString {\n key: boolean;\n value: string;\n}\n\nexport interface TextFilter {\n periods?: Period[] | undefined;\n text?: string | undefined;\n analysisIds?: number[] | undefined;\n}\n\nexport interface Invoice {\n invoiceId: number;\n invoiceNo?: string | undefined;\n supplierNo?: string | undefined;\n supplierName?: string | undefined;\n buyer?: string | undefined;\n date: string;\n invoiceVatAmount?: number | undefined;\n vatAmountLiable: number;\n amountExVat?: number | undefined;\n standardRatedAmount?: number | undefined;\n amountTotal?: number | undefined;\n invoiceType: number;\n invoiceTypeText?: string | undefined;\n invoiceAttachment: number;\n invoiceAttachmentText?: string | undefined;\n ean?: string | undefined;\n description?: string | undefined;\n invoiceCurrencyCode?: string | undefined;\n hasAttachementPdf?: boolean | undefined;\n hasAttachementXml?: boolean | undefined;\n hasAttachementImage?: boolean | undefined;\n hasAttachementNull?: boolean | undefined;\n invoiceLines?: InvoiceLine[] | undefined;\n}\n\nexport interface InvoiceLine {\n lineNo?: string | undefined;\n itemNo?: string | undefined;\n description?: string | undefined;\n quantity: number;\n unitType?: string | undefined;\n unitPrice?: number | undefined;\n vatPercentage?: number | undefined;\n vatAmount?: number | undefined;\n total?: number | undefined;\n}\n\nexport interface FunctionsStatistic {\n functionNo?: string | undefined;\n functionName?: string | undefined;\n totalPotential: number;\n remainingPotential: number;\n realisedPotential: number;\n}\n\nexport interface AnalysisStatus {\n analysisTitle?: string | undefined;\n realisedPotential: number;\n remainingPotential: number;\n processedStatus: number;\n financialYear: number;\n lastProcessedPostingDate?: string | undefined;\n}\n\nexport interface PostingPoll {\n month: number;\n totalPostings: number;\n totalInvoices?: number | undefined;\n dataLastLoaded: string;\n}\n\nexport interface UserInformation {\n userId: number;\n userName?: string | undefined;\n lastLoginDate?: string | undefined;\n postingsChangedByUser: number;\n postingsOngoingByUser: number;\n postingsRealisedByUser: number;\n}\n\nexport interface UserManagementPoll {\n month: number;\n postingHandledAmount: number;\n realisedPotentialAmount: number;\n}\n\nexport interface PostingNote {\n postingIds?: number[] | undefined;\n mentionUserIds?: number[] | undefined;\n postingNoteId: number;\n createdBy?: User | undefined;\n subject?: string | undefined;\n text?: string | undefined;\n noteForMe?: boolean | undefined;\n createDate?: string | undefined;\n updateDate?: string | undefined;\n deleteDate?: string | undefined;\n readDate?: string | undefined;\n isNews: boolean;\n postingReferencesCount: number;\n postingFilter?: PostingFilter | undefined;\n}\n\nexport interface Message extends PostingNote {\n owner: boolean;\n isGlobal?: boolean | undefined;\n publishedBy: number;\n}\n\nexport interface VATMail {\n recipients?: string[] | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n columns?: ExcelColumnItem[] | undefined;\n userIds?: number[] | undefined;\n}\n\nexport interface Posting {\n postingId: number;\n primaryAnalysisTitle?: string | undefined;\n bdoAudit?: string | undefined;\n primaryAnalysisId?: number | undefined;\n potential?: number | undefined;\n correctedPotential?: number | undefined;\n result?: number | undefined;\n amountPostedExVat: number;\n amountPosted: number;\n amountVatToll: number;\n vatAmountPosted: number;\n vatAmount?: number | undefined;\n amountTotal?: number | undefined;\n date?: string | undefined;\n art?: string | undefined;\n artCombined?: string | undefined;\n dranst?: number | undefined;\n dranstText?: string | undefined;\n ownership?: string | undefined;\n accountNo?: string | undefined;\n function?: string | undefined;\n grouping?: string | undefined;\n agreementText?: string | undefined;\n supplier?: string | undefined;\n supplierNo?: string | undefined;\n supplierName?: string | undefined;\n supplierType?: string | undefined;\n financialYear: number;\n publicDepartmentType?: string | undefined;\n accountGrouping?: string | undefined;\n internalSupplierNo?: string | undefined;\n accountRegNumber1?: string | undefined;\n accountRegNumber2?: string | undefined;\n accountRegNumber3?: string | undefined;\n accountRegNumber4?: string | undefined;\n accountRegNumber5?: string | undefined;\n accountRegNumber6?: string | undefined;\n vaR1?: string | undefined;\n vaR2?: string | undefined;\n vaR3?: string | undefined;\n vaR4?: string | undefined;\n vaR5?: string | undefined;\n companyCode?: string | undefined;\n text?: string | undefined;\n pspValue?: string | undefined;\n vatType?: string | undefined;\n profitCenter?: string | undefined;\n profitCenterNavn?: string | undefined;\n profitCenterNavigation?: number | undefined;\n reposted?: string | undefined;\n sfaExemption?: string | undefined;\n annexNo?: string | undefined;\n expeditionNo?: string | undefined;\n reference?: string | undefined;\n status?: string | undefined;\n changedBy?: number | undefined;\n changedByUser?: User | undefined;\n changeDate?: string | undefined;\n invoice?: Invoice | undefined;\n costCenter?: string | undefined;\n costCenterName?: string | undefined;\n department?: number | undefined;\n annex?: string | undefined;\n annexType?: string | undefined;\n accountableCpr?: string | undefined;\n creatorInitials?: string | undefined;\n allocaterInitials?: string | undefined;\n originalAnalysisTitle?: string | undefined;\n hasNote: boolean;\n reportingDuty?: string | undefined;\n annexTotal: number;\n amountVatTollTotal: number;\n changedByUserName?: string | undefined;\n shortArt?: string | undefined;\n postingNoteIds?: number[] | undefined;\n hasRelatedNote: boolean;\n isSelected: boolean;\n}\n\nexport interface PostingAndFilter {\n postings?: Posting[] | undefined;\n postingFilter?: PostingFilter | undefined;\n}\n\nexport enum PostingStatus {\n Ubehandlet = 0,\n IntetPotentiale = 1,\n RegulerMoms = 2,\n Igangværende = 3,\n}\n\nexport interface UpdatePosting {\n deSelectedPostings?: number[] | undefined;\n postingFilter?: PostingFilter | undefined;\n postingNote?: PostingNote | undefined;\n editedNoteId: number;\n}\n\nexport interface CorrectedPotential {\n potential?: number | undefined;\n}\n\nexport interface ColumnDefinition {\n columnKey?: string | undefined;\n visible: boolean;\n orderNumber: number;\n}\n\nexport interface ClientActions {\n reloadFunctionsHierarchy?: string | undefined;\n reloadAdmOrgsHierarchy?: string | undefined;\n mainNewsAdded?: string | undefined;\n sendMessage?: string | undefined;\n}\n\nexport interface DoAction {\n customerId?: number[] | undefined;\n userId?: number[] | undefined;\n action?: string | undefined;\n parameters?: any | undefined;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class SwaggerException extends Error {\n override message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isSwaggerException = true;\n\n static isSwaggerException(obj: any): obj is SwaggerException {\n return obj.isSwaggerException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminComponent } from '@modules/admin/components/admin/admin.component';\nimport { AnalyzesComponent } from '@modules/analyzes/components/analyzes/analyzes.component';\nimport { BdoDashboardComponent } from '@modules/bdo-dashboard/components/bdo-dashboard/bdo-dashboard.component';\nimport { RolesConstants } from '@modules/commons/classes/roles-constants';\nimport { HomeComponent } from '@modules/home/components/home/home.component';\nimport { LeaderDashboardComponent } from '@modules/leader-dashboard/components/leader-dashboard/leader-dashboard.component';\nimport { LoginComponent } from '@modules/login/components/login/login.component';\nimport { AuthorizationGuard } from '@modules/login/guards/authorization.guard';\nimport { PostingsComponent } from '@modules/postings/components/postings/postings.component';\nimport { LawsComponent } from '@modules/shell/components/laws/laws.component';\nimport { ManualsComponent } from '@modules/shell/components/manuals/manuals.component';\nimport { NotFoundComponent } from '@modules/shell/components/not-found/not-found.component';\nimport { UnauthorizedSiteComponent } from '@modules/shell/components/unauthorized-site/unauthorized-site.component';\n\n\n\nimport { ForbiddenComponent } from '@modules/auth/components/forbidden/forbidden.component';\nimport { UnauthorizedComponent } from '@modules/auth/components/unauthorized/unauthorized.component';\n\nimport { ROUTENAMES } from './app-routing.names';\n\nconst routes: Routes = [\n { \n path: '',\n redirectTo: '/dashboard', \n pathMatch: 'full' \n },\n { \n path: 'login', \n component: LoginComponent\n },\n {\n path: 'dashboard',\n component: HomeComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'analyser',\n component: AnalyzesComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'posteringer/:analysisId',\n component: PostingsComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'posteringer/postingnote/:postingNoteId',\n component: PostingsComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'leader-dashboard',\n component: LeaderDashboardComponent,\n canActivate: [AuthorizationGuard],\n data: {\n roles: [RolesConstants.VAT_Manager, RolesConstants.VAT_BDOAdministrator],\n },\n },\n {\n path: 'bdo-dashboard',\n component: BdoDashboardComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'lovgivning',\n component: LawsComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'manualer',\n component: ManualsComponent,\n canActivate: [AuthorizationGuard],\n },\n {\n path: 'admin',\n component: AdminComponent,\n canActivate: [AuthorizationGuard],\n data: {\n roles: [RolesConstants.VAT_BDOAdministrator],\n },\n },\n { \n path: 'unauthorized', \n component: UnauthorizedSiteComponent\n },\n {\n path: '**', \n component: NotFoundComponent \n },\n \n \n\n {\n path: ROUTENAMES.FORBIDDEN,\n component: ForbiddenComponent,\n },\n {\n path: ROUTENAMES.UNAUTHORIZED,\n component: UnauthorizedComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","export const ROUTENAMES = {\n HOME: 'home',\n LOGIN: 'login',\n REPORT: 'report',\n FORBIDDEN: 'forbidden',\n UNAUTHORIZED: 'unauthorized',\n};\n","import { Component, Renderer2 } from '@angular/core';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { InternalCustomerService } from '@modules/shell/services/internal-customer.service';\n\nimport {\n ClientActions,\n Customer,\n DoAction,\n IdentityService,\n} from 'src/app/api/vat';\n\nimport { LoginResponse, OidcSecurityService } from 'angular-auth-oidc-client';\nimport * as signalR from '@microsoft/signalr';\nimport { environment } from 'src/environments/environment';\nimport { InternalUserService } from '@modules/commons/services/internal-user.service';\nimport { InternalActionsService } from '@modules/shell/services/internal-actions.service';\nimport { NotifyService } from '@modules/shell/services/notify.service';\n\nimport { SidebarService } from '@modules/shell/services/sidebar.service';\nimport { UserService } from '@modules/shell/services/user.service';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { OpenIDCService } from '@modules/auth/services/open-idc.service';\nimport { IdleService } from '@modules/auth/services/idle.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent {\n authenticated: boolean = false;\n authenticationLoaded: boolean = false;\n customerLoaded: boolean = false;\n timer: any;\n currentUser: any;\n clientActions: ClientActions;\n\n constructor(\n private messagesService: MessagesService,\n private oidcSecurityService: OidcSecurityService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private internalCustomerService: InternalCustomerService,\n private identityService: IdentityService,\n private internalUserService: InternalUserService,\n private internalActionService: InternalActionsService,\n private notifyService: NotifyService,\n private renderer: Renderer2,\n\n private userService: UserService,\n private sidebarService: SidebarService\n ) /*\n private openIDCService: OpenIDCService,\n private oAuthService: OAuthService\n private IdleService: IdleService,\n */\n {\n // NEW\n /*\n this.openIDCService.isAuthenticated$.subscribe((result) => {\n console.log(\"IS AUTHENTICATED: \" + result);\n \n if (result) {\n console.log(\"GETTING ACCESS TOKEN!!!\");\n const token = this.oAuthService.getAccessToken();\n console.log(token);\n \n console.log(\"LOADING USER!!!\");\n this.userService.loadUser();\n\n this.userService.user$.subscribe(u => {\n console.log(u);\n });\n\n this.removeInitLoadingScreen();\n }\n else {\n console.log(\"LOGGING IN!!!\");\n \n this.openIDCService.login();\n }\n });\n */\n\n //OLD\n\n this.oidcSecurityService.checkAuth().subscribe((auth: LoginResponse) => {\n this.authenticated = auth.isAuthenticated;\n this.authenticationLoaded = true;\n if (auth.isAuthenticated === true) {\n this.identityService.getCurrentUser().subscribe((currentUser) => {\n this.currentUser = currentUser;\n this.internalUserService.updateUser(currentUser);\n const currentUserEmail = currentUser.email\n .split('@')[1]\n .split('.')[0];\n this.oidcSecurityService.getConfiguration().subscribe((c) => {\n c.customParamsAuthRequest['domain_hint'] = environment\n .openIdConnectConfig.customParams.domain_hint[\n currentUserEmail.toLocaleLowerCase()\n ]\n ? environment.openIdConnectConfig.customParams.domain_hint[\n currentUserEmail.toLocaleLowerCase()\n ]\n : environment.openIdConnectConfig.customParams.domain_hint\n .default;\n });\n\n this.removeInitLoadingScreen();\n });\n\n this.internalCustomerService.customers.subscribe((customers) => {\n if (customers?.length === 0) {\n this.notifyService.openSnackBar();\n } else if (customers) {\n const customer: Customer =\n this.internalCurrentCustomerService.getCustomer();\n if (customer === null) {\n this.internalCurrentCustomerService.updateCustomer(customers[0]);\n }\n\n // Because we have added a new column for customer, we need to update the localStorage on the browser.\n if (customer.customerFinancialTypeId == null) {\n this.internalCurrentCustomerService.updateCustomer(customers[0]);\n }\n\n this.customerLoaded = customers ? true : false;\n this.messagesService.checkForNewMessages();\n }\n });\n this.getSignals();\n }\n });\n /*\n */\n }\n\n private removeInitLoadingScreen(): void {\n const loader = this.renderer.selectRootElement('#loader');\n this.renderer.setStyle(loader, 'display', 'none');\n }\n\n getSignals() {\n let token = '';\n this.oidcSecurityService.getAccessToken().subscribe((t) => {\n token = '' + t;\n });\n\n const messagesService = this.messagesService;\n const timer = this.timer;\n const connection = new signalR.HubConnectionBuilder()\n .configureLogging(signalR.LogLevel.Information)\n .withUrl(environment.VatBackendUrl + '/api/signal', {\n accessTokenFactory: () => token,\n skipNegotiation: true,\n transport: signalR.HttpTransportType.WebSockets,\n })\n .configureLogging(signalR.LogLevel.Error)\n .build();\n connection\n .start()\n .then(() => {\n console.info('SignalHub Connected!');\n })\n .catch((err) => {\n setInterval(() => {\n messagesService.checkForNewMessages();\n }, 60000);\n return console.error(err.toString());\n });\n\n connection.on('DoWork', (action: DoAction) => {\n const customer: Customer =\n this.internalCurrentCustomerService.getCustomer();\n this.identityService.getCurrentUser().subscribe((currentUser) => {\n this.internalActionService.handleClientAction(\n customer.customerId,\n currentUser.userId,\n action\n );\n });\n });\n }\n}\n","\n\n\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { RouterModule } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\nimport { ApiModule, BASE_PATH } from '@vat/vat-webapi';\n\nimport { API_BASE_URL, AnalysisService, PostingService, IdentityService, MessageService, SignalService, FilterService, CustomerService, UserService, LeaderDashboardService } from './api/vat';\n\nimport { HttpInterceptor } from './http.interceptor';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\n// Custom modules\nimport { ShellModule } from '@modules/shell/shell.module';\nimport { HomeModule } from '@modules/home/home.module';\nimport { AnalyzesModule } from '@modules/analyzes/analyzes.module';\nimport { MessagesModule } from '@modules/messages/messages.module';\nimport { FilterModule } from '@modules/filter/filter.module';\nimport { FavoritesModule } from '@modules/favorites/favorites.module';\nimport { PostingsModule } from '@modules/postings/postings.module';\nimport { LoginModule } from '@modules/login/login.module';\nimport { DialogModule } from '@modules/dialog/dialog.module';\nimport { BdoDashboardModule } from '@modules/bdo-dashboard/bdo-dashboard.module';\nimport { LeaderDashboardModule } from '@modules/leader-dashboard/leader-dashboard.module';\nimport { OverlayModule } from '@modules/overlay/overlay.module';\nimport { AdminModule } from '@modules/admin/admin.module';\n\n\n\nimport { AuthModule } from './modules/auth/auth.module';\nimport { ReportModule } from '@modules/report/report.module';\nimport { SystemService } from './services/system.service';\nimport { HttpSpinnerInterceptor } from './interceptores/http-spinner.interceptor';\nimport { HttpRequestBearerInterceptor } from './interceptores/http-request-bearer.interceptor';\nimport { HttpResponseInterceptor } from './interceptores/http-response.interceptor';\nimport { TestingModule } from '@modules/testing/testing.module';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\n\nregisterLocaleData(localeDa);\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n LoginModule,\n BrowserModule,\n AppRoutingModule,\n RouterModule,\n BrowserAnimationsModule,\n ShellModule,\n HomeModule,\n AnalyzesModule,\n PostingsModule,\n FilterModule,\n FavoritesModule,\n MessagesModule,\n DialogModule,\n BdoDashboardModule,\n LeaderDashboardModule,\n HttpClientModule,\n ApiModule,\n AdminModule,\n OverlayModule,\n\n //AuthModule,\n ReportModule,\n\n TestingModule,\n ],\n exports: [RouterModule],\n providers: [\n {\n\t\t provide: API_BASE_URL, useValue: environment.VatBackendUrl\n\t },\n {\n\t\t provide: BASE_PATH, useValue: environment.VatBackendUrl\n\t },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpInterceptor,\n multi: true\n\t },\n\t\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpResponseInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpSpinnerInterceptor,\n multi: true,\n },\n /*\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpRequestBearerInterceptor,\n multi: true,\n },\n */\n {\n provide: APP_INITIALIZER,\n useFactory: (systemService: SystemService) => () => systemService.init(),\n deps: [SystemService],\n multi: true,\n },\n AnalysisService, PostingService, IdentityService, MessageService, SignalService, FilterService, CustomerService, UserService, LeaderDashboardService\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { LoadingSpinnerService } from '@modules/shell/services/loading-spinner.service';\nimport { tap, finalize } from 'rxjs/operators';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { SnackbarComponent } from '@modules/shell/components/snackbar/snackbar.component';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class HttpInterceptor implements HttpInterceptor {\n constructor(\n private loadingSpinnerService: LoadingSpinnerService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private oidcSecurityService: OidcSecurityService,\n private snackBar: MatSnackBar,\n private router: Router\n ) { }\n excludeSpinner: boolean = false;\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (request.url.indexOf('Message/unread') > -1) {\n this.excludeSpinner = true;\n } else {\n // We need to reset this variable on each request if not messages\n this.excludeSpinner = !this.loadingSpinnerService.isSpinnerEnabeled;\n }\n if (!this.excludeSpinner) {\n this.loadingSpinnerService.addSpinner();\n this.SetSessionTime();\n }\n let customReq = request.clone();\n const currentUrl = new URL(request.url);\n if (currentUrl.pathname.indexOf('/api/') === 0) {\n let token = \"\";\n this.oidcSecurityService.getAccessToken().subscribe(t => token = t);\n\n const customerId = this.internalCurrentCustomerService.getCustomerId();\n customReq = request.clone({\n headers: request.headers\n .append('customerId', customerId)\n .append('Authorization', 'Bearer ' + token)\n .append('Access-Control-Allow-Origin', '*'),\n });\n }\n\n let ok: any;\n return next.handle(customReq).pipe(\n tap(\n (event) => (ok = event instanceof HttpResponse ? 1 : 0),\n (error: HttpErrorResponse) => {\n switch (error.status) {\n case 401:\n this.oidcSecurityService.logoff();\n this.router.navigate(['/login']);\n break;\n default: {\n this.openSnackBar(error);\n }\n }\n }\n ),\n finalize(() => {\n\n // Don't interrupt long http calls\n if (!(request.url.indexOf('Message/unread') > -1)) {\n this.loadingSpinnerService.removeSpinner();\n }\n })\n );\n }\n\n SetSessionTime() {\n const now: Date = new Date();\n sessionStorage.setItem('session', now.toISOString());\n }\n\n openSnackBar(error: HttpErrorResponse) {\n this.snackBar.openFromComponent(SnackbarComponent, {\n duration: 60000,\n panelClass: ['snackbar', 'red'],\n data: {\n message: 'Error occured: ' + error.message,\n action: 'Ok',\n error: '' + error.error,\n },\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse,\n HttpResponse,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { MatDialog } from '@angular/material/dialog';\nimport { tap } from 'rxjs/operators';\nimport {\n ResponseTimeInMs,\n CorrelationId,\n} from '../constants/http-header.constants';\nimport { Router } from '@angular/router';\nimport { ROUTENAMES } from '../app-routing.names';\nimport { InformationDialogService } from '@modules/shell/services/information-dialog.service';\n\n@Injectable()\nexport class HttpResponseInterceptor implements HttpInterceptor {\n constructor(\n public dialog: MatDialog,\n private router: Router,\n private informationService: InformationDialogService\n ) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n let ok: any;\n return next.handle(request).pipe(\n tap(\n (event) => (ok = event instanceof HttpResponse ? 1 : 0),\n (error: HttpErrorResponse) => {\n switch (error.status) {\n case 401:\n this.router.navigate([ROUTENAMES.UNAUTHORIZED]);\n break;\n case 403:\n this.router.navigate([ROUTENAMES.FORBIDDEN]);\n break;\n default:\n // this.informationService.showErrorMessage({\n // httpStatusCode: error.status,\n // url: error.url,\n // correlationId: error.headers.get(CorrelationId),\n // responseTimeInMS: error.headers.get(ResponseTimeInMs),\n // });\n break;\n }\n }\n )\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { SpinnerService } from '@modules/shell/services/spinner.service';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class HttpSpinnerInterceptor implements HttpInterceptor {\n constructor(private spinnerService: SpinnerService) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n this.spinnerService.addSpinner();\n\n return next.handle(request).pipe(\n finalize(() => {\n this.spinnerService.removeSpinner();\n })\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatListModule } from '@angular/material/list';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\n\n// Custom Modules\nimport { MessagesModule } from '@modules/messages/messages.module';\n\n// Components\nimport { AdminComponent } from './components/admin/admin.component';\nimport { NewsComponent } from './components/news/news.component';\nimport { FilterModule } from '@modules/filter/filter.module';\nimport { MatDialogModule } from '@angular/material/dialog';\n\n@NgModule({\n declarations: [AdminComponent, NewsComponent],\n imports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n FormsModule,\n BrowserModule,\n MatButtonModule,\n MatSelectModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatTabsModule,\n MessagesModule,\n DragDropModule,\n BrowserAnimationsModule,\n MatCheckboxModule,\n FilterModule,\n MatDialogModule,\n MatTooltipModule,\n MatExpansionModule,\n MatIconModule,\n ReactiveFormsModule,\n MatRadioModule,\n MatListModule,\n MatAutocompleteModule,\n ],\n exports: [AdminComponent],\n})\nexport class AdminModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.scss']\n})\nexport class AdminComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport {\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { MessageHelper } from '@modules/messages/helpers/message-helper';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { Message, Customer, MessageService } from 'src/app/api/vat';\n\n@Component({\n selector: 'app-news',\n templateUrl: './news.component.html',\n styleUrls: ['./news.component.scss'],\n})\nexport class NewsComponent implements OnInit {\n global: boolean = false;\n publishedBy: number = 1;\n messageId: number = 0;\n customer: Customer;\n KMD: string = MessageHelper.KMD;\n BDO: string = MessageHelper.BDO;\n\n newsFormControl = new UntypedFormGroup({\n subject: new UntypedFormControl('', [\n Validators.required,\n Validators.minLength(1),\n ]),\n text: new UntypedFormControl('', [\n Validators.required,\n Validators.minLength(1),\n ]),\n });\n\n constructor(\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private messageService: MessageService\n ) {}\n\n ngOnInit(): void {\n this.customer = this.internalCurrentCustomerService.getCustomer();\n }\n\n public getSubjectControl = () => this.newsFormControl.get('subject');\n public getTextControl = () => this.newsFormControl.get('text');\n\n cancel() {\n this.messageId = 0;\n this.getSubjectControl().reset('');\n this.getTextControl().reset('');\n }\n\n sendClick() {\n const message: Message = {\n subject: this.getSubjectControl().value,\n text: this.getTextControl().value,\n isGlobal: this.global,\n postingNoteId: this.messageId,\n owner: true,\n isNews: true,\n publishedBy: this.publishedBy,\n postingReferencesCount: 0,\n };\n\n this.messageService.addMainMessage(message).subscribe(() => {\n this.getSubjectControl().reset('');\n this.getTextControl().reset('');\n this.global = false;\n this.publishedBy = 1;\n });\n }\n\n editMessage(message: Message) {\n this.getSubjectControl().setValue(message.subject);\n this.getTextControl().setValue(message.text);\n this.global = message.isGlobal;\n this.messageId = message.postingNoteId;\n this.publishedBy = message.publishedBy;\n }\n\n delete() {\n // slet nyhed\n }\n}\n","
\n
\n
\n
\n Nyhedsoverblik\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n Opret nyhed\n
\n \n Emne\n \n \n \n Besked\n \n \n
\n
\n \n
\n
\n Global nyhed\n \n \n
\n
\n
\n \n Dit brugernavn\n {{BDO}}\n {{KMD}}\n \n
\n
\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatChipsModule } from '@angular/material/chips';\n\n// Custom modules\nimport { FilterModule } from '@modules/filter/filter.module';\nimport { FavoritesModule } from '@modules/favorites/favorites.module';\nimport { CommonsModule } from '@modules/commons/commons.module';\n\n// Components\nimport { AnalyzesComponent } from './components/analyzes/analyzes.component';\nimport { AnalyzeComponent } from './components/analyze/analyze.component';\nimport { AnalyzeCardComponent } from './components/analyze-card/analyze-card.component';\n\n@NgModule({\n declarations: [AnalyzesComponent, AnalyzeComponent, AnalyzeCardComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n MatButtonModule,\n FilterModule,\n FavoritesModule,\n RouterModule,\n MatButtonToggleModule,\n CommonsModule,\n MatSelectModule,\n FormsModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n BrowserModule,\n MatSortModule,\n MatChipsModule,\n ],\n exports: [AnalyzesComponent, AnalyzeCardComponent],\n})\nexport class AnalyzesModule {}\n","import {\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FaIconLibrary } from '@fortawesome/angular-fontawesome';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { FavoriteService } from '@modules/favorites/services/favorite.service';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\n\nimport { Analysis, AnalysisFilter, PostingFilter, PostingService } from 'src/app/api/vat';\n\nimport { Subscription } from 'rxjs';\nimport { FavoriteDetail } from 'src/app/global-models';\nimport config from 'src/assets/config.json';\nimport { AnalyzeHelperService } from '@modules/analyzes/services/analyze-helper.service';\n\n@Component({\n selector: 'app-analyze-card',\n templateUrl: './analyze-card.component.html',\n styleUrls: ['./analyze-card.component.scss'],\n})\nexport class AnalyzeCardComponent implements OnInit, OnDestroy, OnChanges {\n @Input() analyze: Analysis;\n @Input() analysisFilter: AnalysisFilter;\n favoriteDetail: FavoriteDetail[];\n subscriptions: Subscription[] = [];\n financialYears: string | number[];\n routePath: string;\n id: number;\n globalAnalysisId: number = config.GlobalAnalysisId;\n private isCardLoading: boolean = true;\n\n public contentLoaded = (title: string) => {\n this.isCardLoading = title === null;\n return title !== null;\n };\n\n constructor(\n private favoriteService: FavoriteService,\n private router: Router,\n private internalFilterService: InternalFilterService,\n private route: ActivatedRoute,\n private postingService: PostingService,\n private analyzeHelperService: AnalyzeHelperService,\n library: FaIconLibrary\n ) {\n library.addIconPacks(fas, far);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('analysisFilter' in changes) {\n this.dashSeparator(this.analyze.financialYears);\n }\n }\n\n ngOnInit(): void {\n this.routePath = this.route.snapshot.routeConfig.path;\n this.subscriptions.push(\n this.favoriteService.favoriteAnalysisDetail.subscribe(\n (favorites: FavoriteDetail[]) => {\n this.favoriteDetail = favorites;\n this.id = this.analyze.analysisId;\n this.dashSeparator(this.analyze.financialYears);\n }\n )\n );\n }\n\n public dashSeparator(values: number[]): void {\n if (this.routePath === 'dashboard') {\n this.financialYears = this.addCommaAndSpace(values);\n } else {\n if (\n this.internalFilterService.isPeriodsRangeSelected(\n this.analysisFilter.periods\n )\n ) {\n let textResult: string = '';\n values?.forEach((value, index) => {\n textResult += value?.toString();\n\n if (index + 1 !== values.length) {\n textResult += ' - ';\n }\n });\n this.financialYears = textResult;\n } else {\n this.financialYears = this.addCommaAndSpace(values);\n }\n }\n }\n\n addCommaAndSpace(values: number[]): string {\n let textResult: string = '';\n values?.forEach((v, index) => {\n if (v !== null) {\n textResult += v.toString();\n if (index + 1 !== values.length) {\n textResult += ', ';\n }\n }\n });\n return textResult;\n }\n\n public navigateToPosting(row: Analysis): void {\n if (this.isCardLoading) return;\n\n this.analyzeHelperService.addAnalyzeToLatestLooked(row.analysisId);\n\n // We need this, to get the right postingFilter from Backend.\n // When we click on latest or Favorites.\n if (this.routePath === 'dashboard') {\n this.router.navigate(['posteringer/', row.analysisId]).then(() => {\n this.subscriptions.push(\n this.postingService\n .getPostingFilterByAnalysisId(row.analysisId)\n .subscribe((postingFilter: PostingFilter) => {\n postingFilter.pageModel.take = config.PageSizeBlock;\n this.internalFilterService.updatePostingFilters(postingFilter);\n })\n );\n });\n } else {\n this.router.navigate(['posteringer/', row.analysisId]).then(() => {\n this.internalFilterService.updatePostingFilterFromAnalysisFilter(\n row.analysisId\n );\n });\n }\n }\n\n toggleFavorit(analysisId: number): void {\n this.favoriteService.toggleFavorite(analysisId);\n }\n\n checkIfFavorite(analysisId: number): boolean {\n return this.favoriteService.checkIfFavorite(\n this.favoriteDetail,\n analysisId\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","
\n
\n
\n {{financialYears}}\n
\n
\n
\n \n
\n
\n
\n {{analyze.title}}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Behandlet{{analyze.processed| number:'':'da-DK'}}
Igangværende{{analyze.ongoing | number:'':'da-DK'}}
Antal{{analyze.quantity | number:'':'da-DK'}}
Realiseret resultat\n {{analyze.realisedPotential | vatCurrency}}\n -
Rest potentiale\n {{analyze.remainingPotential | vatCurrency}}-
Samlet potentiale{{analyze.totalPotential | vatCurrency}}-
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import {\n Component,\n Input,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FilterBarService } from '@modules/filter/services/filter-bar.service';\nimport { Router } from '@angular/router';\n\nimport { Analysis, AnalysisFilter, AnalysisService } from 'src/app/api/vat';\n\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { Column } from 'src/app/global-models';\nimport { Subscription } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport config from 'src/assets/config.json';\nimport { LoadingTemplateFactoryService } from '@modules/commons/services/loading-template-factory.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { AnalyzeHelperService } from '@modules/analyzes/services/analyze-helper.service';\n\n@Component({\n selector: 'app-analyze',\n templateUrl: './analyze.component.html',\n styleUrls: ['./analyze.component.scss'],\n})\nexport class AnalyzeComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() columns: Column[];\n @Output() columnsNames = new EventEmitter();\n\n filterBarState: boolean = false;\n columnKeys: string[] = [];\n analysisFilter: AnalysisFilter;\n globalAnalysisId: number = config.GlobalAnalysisId;\n\n subscriptions: Subscription[] = [];\n\n dataSource: MatTableDataSource = new MatTableDataSource();\n @Input() view;\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: false }) sort: MatSort;\n\n constructor(\n private filterBarService: FilterBarService,\n private router: Router,\n private analysisService: AnalysisService,\n private internalFilterService: InternalFilterService,\n private loadingTemplateFactoryService: LoadingTemplateFactoryService,\n private labelGlossaryService: LabelGlossaryService,\n private analyzeHelperService: AnalyzeHelperService\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.labelGlossaryService.analyzeColumnItemDefinition$.subscribe(\n (analyzeColumnItemDefinition: Column[]) => {\n this.columnKeys = analyzeColumnItemDefinition.map((s) => s.key);\n }\n )\n );\n this.load();\n }\n\n private load() {\n this.subscriptions.push(\n this.internalFilterService.analysisFilter\n .pipe(\n filter((af) => af.periods !== null),\n debounceTime(2000)\n )\n .subscribe(\n (analysisFilter: AnalysisFilter) => {\n this.dataSource.data =\n this.loadingTemplateFactoryService.createCardAnalyzesTemplate(\n new Array(30)\n );\n this.analysisFilter = analysisFilter;\n this.subscriptions.push(\n this.analysisService\n .getByFilter(analysisFilter)\n .subscribe((analysis: Analysis[]) => {\n this.dataSource.data = analysis;\n })\n );\n },\n (error: Error) => {}\n )\n );\n\n this.subscriptions.push(\n this.filterBarService.filterBarState.subscribe((value) => {\n this.filterBarState = value;\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.columnsNames.emit(this.columns.map((s) => s.name));\n }\n\n navigateToPosting(row: Analysis) {\n this.analyzeHelperService.addAnalyzeToLatestLooked(row.analysisId);\n this.internalFilterService.updatePostingFilterFromAnalysisFilter(\n row.analysisId\n );\n this.router.navigate(['posteringer/', row.analysisId]);\n }\n}\n","
\n \n\n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n\n \n \n
{{column.name}} {{row[column.key] | number:'':'da-DK'}} {{column.name}} {{row[column.key] | vatCurrency }} {{column.name}} {{row[column.key]}}
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport {\n faArrowLeft,\n faArrowRight,\n faFileExcel,\n faSortAlphaDown,\n faSortAlphaDownAlt,\n faSortAmountDown,\n faSortAmountDownAlt,\n faTh,\n faThList,\n IconDefinition,\n} from '@fortawesome/free-solid-svg-icons';\nimport * as FileSaver from 'file-saver';\nimport { FilterBarService } from '@modules/filter/services/filter-bar.service';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport {\n AnalysisFilter,\n AnalysisService,\n ExcelColumnItem,\n ExcelExportBody,\n FileResponse,\n} from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { Column } from 'src/app/global-models';\nimport { LatestAnalyseView } from 'src/app/global-models/latest-analyse-view';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\nimport storeKeys from '@modules/store/localStorageKeys.json';\n\nexport interface SortOption {\n label: string;\n value: string;\n ascending: boolean;\n faIcon: IconDefinition;\n}\n\n@Component({\n selector: 'app-analyzes',\n templateUrl: './analyzes.component.html',\n styleUrls: ['./analyzes.component.scss'],\n})\nexport class AnalyzesComponent implements OnInit, OnDestroy {\n // Icons\n faArrowLeft = faArrowLeft;\n faArrowRight = faArrowRight;\n faTh = faTh;\n faThList = faThList;\n faSortAlphaDownAlt = faSortAlphaDownAlt;\n faSortAlphaDown = faSortAlphaDown;\n faSortAmountDownAlt = faSortAmountDownAlt;\n faSortAmountDown = faSortAmountDown;\n faFileExcel = faFileExcel;\n\n filterBarState: boolean = false;\n subscriptions: Subscription[] = [];\n toggleViewValue: string = 'table';\n sortOptions: SortOption[] = [];\n analysisFilter: AnalysisFilter;\n\n columns: Column[] = [];\n excelColumns: ExcelColumnItem[] = [];\n\n constructor(\n private filterBarService: FilterBarService,\n private internalFilterService: InternalFilterService,\n private labelGlossaryService: LabelGlossaryService,\n private analysisService: AnalysisService,\n private localStorageService: LocalStorageService\n ) {\n this.toggleViewValue = this.getLastestView();\n this.subscriptions.push(\n this.labelGlossaryService.analyzeColumnItemDefinition$.subscribe(\n (analyzeColumnItemDefinition: Column[]) => {\n this.columns = analyzeColumnItemDefinition;\n this.generateSortOptions();\n\n this.subscriptions.push(\n this.internalFilterService.analysisFilter.subscribe(\n (filter: AnalysisFilter) => {\n this.analysisFilter = filter;\n }\n )\n );\n }\n )\n );\n this.subscriptions.push(\n this.labelGlossaryService.excelAnalyseColumnItemDefinition$.subscribe(\n (excelAnalyseColumnItemDefinition: ExcelColumnItem[]) => {\n this.excelColumns = excelAnalyseColumnItemDefinition;\n }\n )\n );\n }\n\n ngOnInit() {\n this.subscriptions.push(\n this.filterBarService.filterBarState.subscribe((value) => {\n this.filterBarState = value;\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n selectSorting(option: SortOption): void {\n this.analysisFilter.sortBy = {\n propertyName: option.value,\n ascending: option.ascending,\n };\n this.internalFilterService.updateAnalysisFilters(this.analysisFilter);\n }\n\n saveLatestView(value: string): void {\n let newViewValue: LatestAnalyseView = {\n toggleViewValue: value,\n };\n\n this.toggleViewValue = value;\n this.localStorageService.addOrUpdateObject(\n storeKeys.LatestAnalyseViewStorageKey,\n newViewValue\n );\n }\n\n exportAnalysis(): void {\n const body: ExcelExportBody = {\n analysisFilter: this.analysisFilter,\n columns: this.excelColumns,\n };\n this.analysisService.exportPostings(body).subscribe((res: FileResponse) => {\n FileSaver.saveAs(res.data, `rapport_analyser.xlsx`);\n });\n }\n\n private getLastestView(): string {\n const latestToggle = this.localStorageService.getObject(\n storeKeys.LatestAnalyseViewStorageKey\n );\n if (latestToggle !== null && latestToggle !== undefined) {\n return latestToggle.toggleViewValue;\n }\n return 'card';\n }\n\n private generateSortOptions(): void {\n this.columns.forEach((col: Column) => {\n if (col.key === 'financialYear') {\n return;\n }\n\n this.sortOptions.unshift(\n {\n label: col.name === 'Analyse' ? 'Titel' : col.name,\n value: col.key,\n ascending: true,\n faIcon:\n col.type === 'number' || col.type === 'currency'\n ? this.faSortAmountDownAlt\n : this.faSortAlphaDown,\n },\n {\n label: col.name === 'Analyse' ? 'Titel' : col.name,\n value: col.key,\n ascending: false,\n faIcon:\n col.type === 'number' || col.type === 'currency'\n ? this.faSortAmountDown\n : this.faSortAlphaDownAlt,\n }\n );\n });\n }\n}\n","
\n \n
\n
\n \n
\n
\n \n Sorter\n \n \n {{option.label}} \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
","import { Injectable } from '@angular/core';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\n\nimport { Customer } from 'src/app/api/vat';\n\nimport { LatestDetail } from 'src/app/global-models';\nimport storeKeys from '@modules/store/localStorageKeys.json';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyzeHelperService {\n\n constructor(\n private localStorageService: LocalStorageService,) { }\n\n public addAnalyzeToLatestLooked(analysisId: number): void {\n const customerId = this.getCurrentCustomerId();\n if (analysisId !== null) {\n let latestAnalysis =\n (this.localStorageService.getObject(\n storeKeys.LatestAnalysisStorageKey\n ) as LatestDetail[]) ?? [];\n\n const latestCustomerAnalysisCard = latestAnalysis.filter(l => l.customerId === customerId);\n const allOtherlatestAnalysisCard = latestAnalysis.filter(l => l.customerId !== customerId);\n\n this.removeAnalyzeCard(latestCustomerAnalysisCard, analysisId);\n latestCustomerAnalysisCard.unshift({\n analysisId: analysisId,\n customerId: customerId,\n } as LatestDetail);\n latestCustomerAnalysisCard.splice(storeKeys.DashboardItems);\n\n latestAnalysis = allOtherlatestAnalysisCard.concat(latestCustomerAnalysisCard);\n this.localStorageService.addOrUpdateObject(\n storeKeys.LatestAnalysisStorageKey,\n latestAnalysis\n );\n }\n }\n\n private getCurrentCustomerId(): string {\n return (\n (this.localStorageService.getObject(\n storeKeys.CurrentSelectedCustomerStorageKey\n ) as Customer)?.customerId?.toString() ?? ''\n );\n }\n\n private removeAnalyzeCard(latestDetail: LatestDetail[], analysisId: number): void {\n const index = latestDetail.map(l => l.analysisId).indexOf(analysisId);\n if (index !== -1)\n latestDetail.splice(index, 1);\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html',\n styleUrls: ['./forbidden.component.scss']\n})\nexport class ForbiddenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
You are not authorized for this!
","import { Component, OnInit } from '@angular/core';\nimport { SidebarService } from '@modules/shell/services/sidebar.service';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html',\n styleUrls: ['./unauthorized.component.scss'],\n})\nexport class UnauthorizedComponent implements OnInit {\n constructor(private sidebarService: SidebarService) {}\n\n ngOnInit(): void {\n this.sidebarService.setSidebarOpen(false);\n }\n}\n","
You dont have access to this!
","import { C } from '@angular/cdk/keycodes';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { InformationDialogService } from '@modules/shell/services/information-dialog.service';\nimport {\n AuthConfig,\n OAuthErrorEvent,\n OAuthService,\n OAuthSuccessEvent,\n} from 'angular-oauth2-oidc';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ROUTENAMES } from 'src/app/app-routing.names';\nimport { SystemInfoDto, SystemService } from 'src/app/services/system.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenIDCService {\n private MESSAGE_SESSION_ENDED = 'Din session er udløbet. Du skal logge ind igen for at fortsætte.';\n private MESSAGE_AN_ERROR_OCCURRED = 'Der er sket en fejl ved login!';\n\n private systemInfo: SystemInfoDto;\n private isAuthenticated: BehaviorSubject =\n new BehaviorSubject(false);\n isAuthenticated$: Observable = this.isAuthenticated.asObservable();\n\n constructor(\n private systemService: SystemService,\n private oAuthService: OAuthService,\n private informationService: InformationDialogService,\n private router: Router\n ) {}\n\n init() {\n return new Observable((subscriber) => {\n // HTTP Get call\n this.systemService.systemInfo$.subscribe(\n (info) => {\n this.systemInfo = info;\n this.oAuthService.configure(this.getConfig(info));\n\n // extra debug information, if turned on in getConfig\n if (this.oAuthService.showDebugInformation) {\n this.oAuthService.events.subscribe((event) => {\n console.log(event);\n });\n }\n\n this.oAuthService\n .loadDiscoveryDocumentAndTryLogin()\n .then((loaded) => {\n subscriber.complete();\n })\n .catch((error) => console.error(error));\n\n this.oAuthService.setupAutomaticSilentRefresh();\n this.oAuthService.events.subscribe((event) => {\n this.setIsAuthenticated(this.oAuthService.hasValidAccessToken());\n\n if (event instanceof OAuthErrorEvent) {\n // to debug error message add a letter to issuer in getConfig\n var currentEvent = event as OAuthErrorEvent;\n\n switch (event.type) {\n case 'token_refresh_error':\n this.informationService.showErrorMessage({\n title: this.MESSAGE_SESSION_ENDED,\n });\n this.router.navigate([ROUTENAMES.LOGIN]);\n break;\n default:\n this.informationService.showErrorMessage({\n messages: [event.type, event.reason['message']],\n title: this.MESSAGE_AN_ERROR_OCCURRED,\n });\n break;\n }\n }\n });\n },\n (error) => {\n subscriber.error();\n }\n );\n });\n }\n\n login() {\n this.oAuthService.initCodeFlow();\n }\n\n logout() {\n this.oAuthService.logOut({\n client_id: this.systemInfo.clientId,\n });\n }\n\n // only set it if it has changed\n private setIsAuthenticated(value: boolean) {\n if (this.isAuthenticated.getValue() !== value) {\n this.isAuthenticated.next(value);\n }\n }\n\n private getConfig(info: SystemInfoDto): AuthConfig {\nconsole.log(info);\n\n return {\n issuer: info.issuer,\n skipIssuerCheck: true,\n timeoutFactor: 0.9,\n redirectUri: window.location.origin,\n clientId: info.clientId,\n customQueryParams: {\n domain_hint: this.checkOverwriteDomainHint(info),\n },\n oidc: true,\n responseType: 'code',\n scope: info.scope,\n showDebugInformation: false,\n };\n }\n\n private checkOverwriteDomainHint(info: SystemInfoDto) {\n let domain_hint = info?.domainHints['default'] || '';\n const params = new URLSearchParams(window.location.search);\n // Looping all url parameters to find the domain hint one\n params.forEach(function (value, key) {\n if (key === 'domain_hint' && info.domainHints[value]) {\n domain_hint = info.domainHints[value];\n }\n });\n return domain_hint;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BdoDashboardComponent } from './components/bdo-dashboard/bdo-dashboard.component';\n\n\n\n@NgModule({\n declarations: [BdoDashboardComponent],\n imports: [\n CommonModule\n ]\n})\nexport class BdoDashboardModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-bdo-dashboard',\n templateUrl: './bdo-dashboard.component.html',\n styleUrls: ['./bdo-dashboard.component.scss']\n})\nexport class BdoDashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

bdo-dashboard works!

\n","export abstract class RolesConstants {\n public static readonly VAT_BDOAdministrator: string = 'VAT_BDOAdministrator';\n public static readonly VAT_StandardUser: string = 'VAT_StandardUser';\n public static readonly VAT_SuperUser: string = 'VAT_SuperUser';\n public static readonly VAT_Manager: string = 'VAT_Manager';\n public static readonly VAT_Reader: string = 'VAT_Reader';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\n\n// Materials\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n// Components\nimport { YearPickerComponent } from './components/year-picker/year-picker.component';\nimport { VatCurrencyPipe } from './pipes/vat-currency.pipe';\nimport { PostingActionSelectorComponent } from './components/posting-action-selector/posting-action-selector.component';\nimport { UppercaseSpacePipe } from './pipes/uppercase-space.pipe';\nimport { StatusPipe } from './pipes/status.pipe';\nimport { FilterKeyRemovePipe } from './pipes/filter-key-remove.pipe';\nimport { CorrectedPotentialeInputBoxComponent } from '../commons/components/corrected-potentiale-input-box/corrected-potentiale-input-box.component';\nimport { AppHasRoleDirective } from '@modules/commons/directives/app-has-role.directive';\nimport { MessageTimeAuthorComponent } from './components/message-time-author/message-time-author.component';\n\n@NgModule({\n declarations: [\n YearPickerComponent,\n VatCurrencyPipe,\n PostingActionSelectorComponent,\n UppercaseSpacePipe,\n StatusPipe,\n FilterKeyRemovePipe,\n CorrectedPotentialeInputBoxComponent,\n AppHasRoleDirective,\n MessageTimeAuthorComponent\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatSelectModule,\n MatInputModule,\n RouterModule,\n FontAwesomeModule,\n FormsModule,\n MatMenuModule,\n MatFormFieldModule,\n MatListModule,\n BrowserModule,\n MatTooltipModule,\n ReactiveFormsModule\n ],\n exports: [\n YearPickerComponent,\n VatCurrencyPipe,\n PostingActionSelectorComponent,\n UppercaseSpacePipe,\n StatusPipe,\n FilterKeyRemovePipe,\n CorrectedPotentialeInputBoxComponent,\n AppHasRoleDirective,\n MessageTimeAuthorComponent\n ],\n})\nexport class CommonsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, Validators } from '@angular/forms';\nimport { VatCurrencyPipe } from '@modules/commons/pipes/vat-currency.pipe';\nimport { CorrectedPotentialService } from '@modules/commons/services/corrected-potential.service';\n\nimport { CorrectedPotential, Posting, PostingService } from 'src/app/api/vat';\n\nimport { distinctUntilChanged, filter, pairwise } from 'rxjs/operators';\n\n@Component({\n selector: 'app-corrected-potentiale-input-box',\n templateUrl: './corrected-potentiale-input-box.component.html',\n styleUrls: ['./corrected-potentiale-input-box.component.scss'],\n})\nexport class CorrectedPotentialeInputBoxComponent implements OnInit {\n private regex: RegExp = new RegExp(/^-?[-0-9.,]+$/);\n correctedPotentialForm: UntypedFormControl = new UntypedFormControl('', [\n Validators.required,\n Validators.pattern(this.regex),\n ]);\n\n constructor(\n private correctedPotentialService: CorrectedPotentialService,\n private postingService: PostingService\n ) {}\n @Input() columnKey: string;\n @Input() row: Posting;\n @Output() inputChanged: EventEmitter = new EventEmitter();\n ngOnInit(): void {\n this.updateFormField(this.row.correctedPotential);\n this.disableInputIfNeeded(this.columnKey, this.row);\n\n this.correctedPotentialService.correctedPotentialPostingRow$\n .pipe(filter((c) => c !== null))\n .subscribe((selectedPostingToCorrect) => {\n if (this.row.postingId === selectedPostingToCorrect.postingId) {\n this.updateFormField(selectedPostingToCorrect.correctedPotential);\n }\n });\n\n this.correctedPotentialForm.valueChanges\n .pipe(distinctUntilChanged(), pairwise())\n .subscribe(([prevValue, nextValue]: [string, string]) => {\n if (this.correctedPotentialForm.valid || nextValue === '') {\n this.correctedPotentialForm.setValue(nextValue);\n } else {\n this.correctedPotentialForm.setValue(prevValue);\n }\n });\n }\n\n private updateFormField(value: number): void {\n this.correctedPotentialForm.setValue(this.transformValue(value));\n }\n\n private transformValue(value: number) {\n return new VatCurrencyPipe().transform(value, '', true, true);\n }\n\n public onInputBlur(): void {\n switch (this.columnKey) {\n case 'correctedPotential': {\n let value = parseFloat(\n this.correctedPotentialForm?.value.replace('.', '').replace(',', '.')\n );\n if (isNaN(value)) {\n value = null;\n }\n\n this.correctedPotentialForm.setValue(value);\n this.row.correctedPotential = value;\n this.correctedPotentialService.updateCorrectedPotential(this.row);\n const corretedPotenail: CorrectedPotential = { potential: value };\n this.postingService\n .setCorrectedPotential(this.row.postingId, corretedPotenail)\n .subscribe();\n\n this.inputChanged.emit(this.row);\n\n break;\n }\n }\n }\n\n public disableInputIfNeeded(columnKey: string, row: Posting): void {\n switch (columnKey) {\n case 'correctedPotential': {\n switch (row.status.toLocaleLowerCase().trim()) {\n case 'intetpotentiale':\n case 'regulermoms':\n this.correctedPotentialForm.disable();\n\n default:\n this.correctedPotentialForm.enable();\n }\n }\n }\n }\n}\n","\n","import { Component, Input, OnInit } from '@angular/core';\nimport { faCalendar, faUser } from '@fortawesome/free-solid-svg-icons';\nimport { MessageHelper } from '@modules/messages/helpers/message-helper';\n\nimport { Message } from 'src/app/api/vat';\n\n@Component({\n selector: 'app-message-time-author',\n templateUrl: './message-time-author.component.html',\n styleUrls: ['./message-time-author.component.scss'],\n})\nexport class MessageTimeAuthorComponent implements OnInit {\n faCalendar = faCalendar;\n faUser = faUser;\n\n @Input() message: Message;\n publishedBy: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.publishedBy = MessageHelper.isPublishedBy(\n this.message.publishedBy,\n this.message.createdBy.userName\n );\n }\n}\n"," {{message.createDate | date: 'dd-MM-yyyy'}} -   \n\n\n {{publishedBy}}\n\n","import { EventEmitter, Input, OnDestroy } from '@angular/core';\nimport { Component, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { faFileExcel, faCheck } from '@fortawesome/free-solid-svg-icons';\nimport { SelectAnalyzeComponent } from '@modules/dialog/components/select-analyze/select-analyze.component';\n\nimport { AnalysisByPostings, AnalysisService, ColumnDefinition, Posting, PostingFilter, PostingService, PostingStatus, UpdatePosting } from 'src/app/api/vat';\n\nimport { Subscription } from 'rxjs';\nimport config from '../../../../../assets/config.json';\nimport { formatNumber } from '@angular/common';\nimport { PostingStatusChangeService } from '@modules/commons/services/posting-status-change.service';\nimport { Column, PostingAction } from 'src/app/global-models';\nimport { ActivatedRoute } from '@angular/router';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport {\n CheckBoxService,\n PostingCheckbox,\n} from '@modules/postings/services/check-box.service';\nimport { PostingColumnListComponent } from '@modules/dialog/components/posting-column-list/posting-column-list.component';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\n\n@Component({\n selector: 'app-posting-action-selector',\n templateUrl: './posting-action-selector.component.html',\n styleUrls: ['./posting-action-selector.component.scss'],\n})\nexport class PostingActionSelectorComponent implements OnInit, OnDestroy {\n constructor(\n private dialog: MatDialog,\n private postingService: PostingService,\n private analysisService: AnalysisService,\n private postingStatusChangeService: PostingStatusChangeService,\n private route: ActivatedRoute,\n private checkBoxService: CheckBoxService,\n private notifyService: NotifyService,\n private labelGlossaryService: LabelGlossaryService\n ) {}\n faFileExcel = faFileExcel;\n faCheck = faCheck;\n\n selectedAction: number;\n subscriptions: Subscription[] = [];\n private routePath: string;\n\n @Input() postingFilter: PostingFilter;\n @Input() isAllPostingsSelected: boolean = false;\n @Input() isOverlay: boolean = false;\n @Input() isDisabled: boolean = false;\n @Output() ExportPostingsEvent = new EventEmitter();\n @Input() totalPostings: number = 0;\n @Input() selectedPostingForStatusChange: Posting;\n @Input() totalSelectPostings: number = 0;\n @Input() totalDisplayedPostings: number = 0;\n private selectedPostingIdsForStatusChange: number[] = [];\n private deSelectedPostingIdsForStatusChange: number[] = [];\n private editedNoteId: number = 0;\n private postingColumnDefinitions: Column[];\n\n actionsData: PostingAction[] = [\n { value: 0, viewValue: 'Ubehandlet' },\n { value: 1, viewValue: 'Intet potentiale' },\n { value: 2, viewValue: 'Reguler moms' },\n { value: 3, viewValue: 'Igangværende' },\n { value: 4, viewValue: 'Flyt til anden analyse' },\n ];\n\n ngOnInit(): void {\n this.routePath = this.route.snapshot.routeConfig.path;\n this.checkBoxService.postingCheckboxs$.subscribe(\n (checkboxPosting: PostingCheckbox) => {\n this.selectedPostingIdsForStatusChange = checkboxPosting.selected;\n this.isAllPostingsSelected = checkboxPosting.isAllSelected;\n this.deSelectedPostingIdsForStatusChange = checkboxPosting.deSelected;\n }\n );\n if (this.isOverlay === false) this.setPostingGetUserColumnDefinitions();\n }\n\n private setPostingGetUserColumnDefinitions() {\n const analysisId = this.getAnalysisIdFromUrlRoute();\n if (analysisId !== undefined)\n this.postingService\n .getUserColumnDefinitions(analysisId)\n .subscribe((columnDefinitions: ColumnDefinition[]) => {\n if (columnDefinitions !== null) {\n this.postingColumnDefinitions =\n this.labelGlossaryService.updatesPostingColumnVisibility(\n columnDefinitions\n );\n this.labelGlossaryService.updatePostingColumns(\n this.postingColumnDefinitions\n );\n } else {\n this.labelGlossaryService.updatePostingColumns(null);\n }\n });\n }\n\n public openPostingColumnListDialog(): void {\n this.dialog.open(PostingColumnListComponent, {\n data: this.getAnalysisIdFromUrlRoute() as number,\n autoFocus: false,\n });\n }\n\n public doAction() {\n const action = this.selectedAction;\n if (this.isOverlay) {\n this.selectedPostingIdsForStatusChange = [\n this.selectedPostingForStatusChange.postingId,\n ];\n }\n\n if (\n action !== undefined &&\n this.selectedPostingIdsForStatusChange.length > 0\n ) {\n if (this.isActionMoveAnalysis(action)) {\n this.moveAnalysis(this.selectedPostingIdsForStatusChange).then(() => {\n this.postingStatusChangeService.notifyStatusOnPostings();\n });\n } else {\n this.updateStatus(\n this.selectedPostingIdsForStatusChange,\n this.deSelectedPostingIdsForStatusChange\n )\n .then((postingChanged: number) => {\n this.postingStatusChangeService.notifyStatusOnPostings();\n this.notifyService.notifySnackBarInformation(\n `${postingChanged.toLocaleString(\n 'da-DK'\n )} Posteringer har ændret status til ${\n this.actionsData[action].viewValue\n }`,\n 'green'\n );\n })\n .catch(() => {\n this.notifyService.notifySnackBarInformation(\n `Der er valgt for mange posteringer. Prøv et mindre antal valgte`,\n 'red'\n );\n });\n }\n }\n }\n\n private moveAnalysis(selectedPostingIDs: number[]): Promise {\n return new Promise((resolve, rejects) => {\n this.subscriptions.push(\n this.analysisService\n .getByPostingIds(\n selectedPostingIDs,\n this.postingFilter.periods\n )\n .subscribe((result: AnalysisByPostings) => {\n const dialogRef = this.dialog.open(SelectAnalyzeComponent, {\n width: '1100px',\n data: {\n totalPostings: this.totalPostings,\n analysisByPostings: result,\n selectedPostingIds: this.selectedPostingIdsForStatusChange,\n isAllPostingsSelected: this.isAllPostingsSelected,\n deSelectedPostingIds: this.deSelectedPostingIdsForStatusChange,\n postingFilter: this.postingFilter,\n },\n panelClass: 'select-analysis-dialog',\n });\n\n this.dialog.afterAllClosed.subscribe(() => {\n resolve();\n });\n })\n );\n });\n }\n\n private isActionMoveAnalysis = (action: number) => action === 4;\n\n private updateStatus(\n selectedPostingIDs: number[],\n deSelectedPostingIDs: number[]\n ): Promise {\n return new Promise((resolve, rejects) => {\n if (this.isAllPostingsSelected === false || this.isOverlay === true) {\n this.postingService\n .setStatusOnPostingsByIds(\n this.selectedAction as PostingStatus,\n selectedPostingIDs\n )\n .subscribe(\n (postingChanged: number) => {\n resolve(postingChanged);\n },\n (error) => {\n rejects();\n }\n );\n } else {\n this.postingFilter.pageModel.skip = 0;\n this.postingFilter.pageModel.take = this.totalPostings;\n let updatePosting: UpdatePosting;\n this.routePath = this.route.snapshot.routeConfig.path;\n if (this.routePath === 'posteringer/postingnote/:postingNoteId')\n this.route.url.subscribe((url) => {\n this.editedNoteId = Number(url[2].path);\n });\n if (this.editedNoteId == 0) {\n updatePosting = {\n postingFilter: this.postingFilter,\n deSelectedPostings: deSelectedPostingIDs,\n editedNoteId: 0,\n };\n this.postingService\n .setStatusOnPostingsByPostingFilter(\n this.selectedAction as PostingStatus,\n updatePosting\n )\n .subscribe(\n (postingChanged: number) => {\n resolve(postingChanged);\n },\n (error) => {\n rejects();\n }\n );\n } else {\n updatePosting = {\n editedNoteId: this.editedNoteId,\n deSelectedPostings: deSelectedPostingIDs,\n };\n\n this.postingService\n .setStatusOnPostingsByPostingNoteId(\n this.selectedAction as PostingStatus,\n updatePosting\n )\n .subscribe(\n (postingChanged: number) => {\n resolve(postingChanged);\n },\n (error) => {\n rejects();\n }\n );\n }\n }\n this.selectedAction = undefined;\n });\n }\n\n public exportPostings(): void {\n this.ExportPostingsEvent.emit();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe);\n }\n\n excelExportDisabled() {\n return this.totalPostings >= config.MaxRowsForExcelExport;\n }\n\n excelExportToolTip() {\n return this.excelExportDisabled()\n ? `Eksporteringsfunktionen understøtter maks ${formatNumber(\n config.MaxRowsForExcelExport,\n 'da-DK'\n )} rækker.`\n : `Eksportér ${formatNumber(this.totalPostings, 'da-DK')} rækker`;\n }\n\n private getAnalysisIdFromUrlRoute = () =>\n this.route.snapshot.params['analysisId'] as number;\n}\n","
0 || totalDisplayedPostings==0\" class=\"total-rows\">\n Posteringer i alt: {{totalDisplayedPostings | number:'':'da-DK'}} / {{totalPostings | number:'':'da-DK'}}\n
\n
\n Indlæser...\n
\n\n\n Handling\n \n \n {{action.viewValue}}\n \n \n\n\n\n\n\n\n\n \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n@Component({\n selector: 'app-year-picker',\n templateUrl: './year-picker.component.html',\n styleUrls: ['./year-picker.component.scss'],\n})\nexport class YearPickerComponent implements OnInit {\n @Input() selectedYear: number;\n @Input() options: number[] = [];\n @Output() onSelect: EventEmitter = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void { }\n\n select(event): void {\n this.onSelect.emit(this.selectedYear);\n }\n}\n","\n \n \n \n {{option}}\n \n \n\n","import { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { User } from 'src/app/api/vat';\n\nimport { InternalUserService } from '../services/internal-user.service';\n\n@Directive({\n selector: '[appHasRole]'\n})\nexport class AppHasRoleDirective implements OnInit {\n @Input() appHasRole: string[];\n @Input() force: boolean;\n isVisible = false;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private templateRef: TemplateRef,\n private internalUserService: InternalUserService\n ) {\n }\n\n ngOnInit() {\n if (this.force) {\n this.isVisible = true;\n this.viewContainerRef.createEmbeddedView(this.templateRef);\n }\n else {\n this.internalUserService.user$.subscribe((user: User) => {\n\n const currentUserRoles: string[] = user?.roles;\n if (!currentUserRoles) {\n this.viewContainerRef.clear();\n }\n\n if (currentUserRoles?.some(r => this.appHasRole.includes(r))) {\n if (!this.isVisible) {\n this.isVisible = true;\n this.viewContainerRef.createEmbeddedView(this.templateRef);\n }\n } else {\n this.isVisible = false;\n this.viewContainerRef.clear();\n }\n });\n }\n }\n}\n","export class CommonHelper {\n constructor() {\n }\n\n public static generateYears(): number[] {\n let numberOfFinancialYears: number = 6;\n if (this.isMonthJanuary())\n numberOfFinancialYears = 7;\n\n const years: number[] = [];\n const currentYear = new Date().getFullYear();\n for (let index = 0; index < numberOfFinancialYears; index++) {\n years.push(currentYear - index);\n }\n return years;\n }\n\n public static isMonthJanuary = () => new Date().getMonth() === 0;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterKeyRemove',\n})\nexport class FilterKeyRemovePipe implements PipeTransform {\n transform(value: string, type: string | number | boolean): string {\n if (\n type === true ||\n type === false ||\n type === 'analysisIds' ||\n type === 'reposted' ||\n type === 'companyCodes'\n ) {\n return '';\n }\n\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'status'\n})\nexport class StatusPipe implements PipeTransform {\n\n transform(value: string, ...args: unknown[]): string {\n switch (value) {\n case 'IntetPotentiale':\n case 'RegulerMoms':\n return 'Behandlet';\n\n case 'Ubehandlet':\n default:\n return value;\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'uppercaseSpace'\n})\nexport class UppercaseSpacePipe implements PipeTransform {\n\n transform(value: string, ...args: string[]): string {\n if (args[ 0 ] === \"status\") {\n return value.replace(/([A-Z])/g, ' $1').trim()\n .toLocaleLowerCase()\n .replace(/^\\w/, c => c.toUpperCase());\n } else {\n return value;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'vatCurrency',\n pure: true,\n})\nexport class VatCurrencyPipe implements PipeTransform {\n transform(\n value: number,\n currencyCode?: string,\n noText?: boolean,\n input?: boolean\n ): string {\n if (value === undefined || value === null) {\n return input ? '' : '-';\n } else if (noText) {\n return value.toLocaleString('da-DK', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n } else if (!noText) {\n var valueWithCurrency = value.toLocaleString('da-DK', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n if (currencyCode?.length > 0)\n valueWithCurrency = valueWithCurrency + ' ' + currencyCode;\n else valueWithCurrency = valueWithCurrency + ' DKK';\n return valueWithCurrency;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Posting } from 'src/app/api/vat';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CorrectedPotentialService {\n private correctedPotentialPostingRow: BehaviorSubject = new BehaviorSubject(\n null\n );\n public correctedPotentialPostingRow$: Observable = this.correctedPotentialPostingRow.asObservable();\n\n constructor() {}\n\n updateCorrectedPotential(row: Posting) {\n this.correctedPotentialPostingRow.next(row);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, observable } from 'rxjs';\nimport { User } from 'src/app/api/vat';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InternalUserService {\n // private user: User = null;\n private user = new BehaviorSubject(null);\n public user$ = this.user.asObservable();\n\n constructor() {\n }\n\n public updateUser(user: User): void {\n this.user.next(user);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Analysis, Posting } from 'src/app/api/vat';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingTemplateFactoryService {\n private tableTemplatePostings: Posting[] = [];\n\n constructor() {\n this.createTablePostingTemplate();\n }\n //release check\n public createCardAnalyzesTemplate(analysisIds: number[]): Analysis[] {\n const cardAnalyzesTemplate: Analysis[] = [];\n for (let index = 0; index < analysisIds.length; index++)\n cardAnalyzesTemplate.push({\n analysisId: index,\n title: null,\n ongoing: 0,\n categoryNo: 0,\n processed: 0,\n quantity: 0,\n realisedPotential: 0,\n remainingPotential: 0,\n totalPotential: null,\n financialYears: [null],\n orderNumber: null,\n });\n\n return cardAnalyzesTemplate;\n }\n\n createTablePostingTemplate() {\n const tableTemplatePostings: Posting[] = [];\n for (let index = 0; index < 30; index++) {\n tableTemplatePostings.push({\n postingId: index,\n primaryAnalysisTitle: null,\n primaryAnalysisId: null,\n potential: null,\n correctedPotential: null,\n result: null,\n financialYear: null,\n amountPostedExVat: null,\n amountPosted: null,\n amountVatToll: null,\n vatAmountPosted: null,\n vatAmount: null,\n amountTotal: null,\n date: null,\n art: null,\n artCombined: null,\n dranst: null,\n dranstText: '',\n ownership: null,\n accountNo: null,\n function: null,\n grouping: null,\n agreementText: null,\n supplier: null,\n supplierNo: null,\n supplierName: null,\n supplierType: null,\n publicDepartmentType: null,\n internalSupplierNo: null,\n text: null,\n pspValue: null,\n vatType: null,\n profitCenterNavn: null,\n reposted: null,\n sfaExemption: null,\n annexNo: null,\n expeditionNo: null,\n reference: null,\n status: '',\n changedBy: null,\n changedByUser: null,\n changeDate: null,\n invoice: null,\n costCenter: null,\n department: null,\n annex: null,\n annexType: null,\n accountableCpr: null,\n creatorInitials: null,\n allocaterInitials: null,\n originalAnalysisTitle: null,\n hasNote: false,\n reportingDuty: null,\n hasRelatedNote: false,\n isSelected: false,\n annexTotal: null,\n amountVatTollTotal: null,\n changedByUserName: null,\n });\n this.tableTemplatePostings = tableTemplatePostings;\n }\n }\n get getPostingTemplate(): Posting[] {\n return this.tableTemplatePostings;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PostingNoteChangeService {\n private notificationOnPostingNoteChanged: Subject = new Subject();\n public notificationOnPostingNoteChanged$: Observable =\n this.notificationOnPostingNoteChanged.asObservable();\n constructor() {}\n\n notifyNoteOnPostings() {\n this.notificationOnPostingNoteChanged.next();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PostingStatusChangeService {\n private notificationOnPostingStatusChanged: Subject =\n new Subject();\n public notificationOnPostingStatusChanged$: Observable =\n this.notificationOnPostingStatusChanged.asObservable();\n constructor() {}\n\n notifyStatusOnPostings() {\n this.notificationOnPostingStatusChanged.next();\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { UntypedFormControl } from '@angular/forms';\nimport { Message } from 'src/app/api/vat';\n\n@Component({\n selector: 'app-all-messages',\n templateUrl: './all-messages.component.html',\n styleUrls: ['./all-messages.component.scss'],\n})\nexport class AllMessagesComponent implements OnInit, OnDestroy {\n // Icons\n faTimes = faTimes;\n searchString: string = '';\n searchValue = new UntypedFormControl('');\n currentDialog: string;\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private internalMessagesService: MessagesService\n ) {}\n\n ngOnInit() {\n this.currentDialog = this.data.dataKey;\n this.internalMessagesService.SelectedMessage$.subscribe((o) =>\n this.close()\n );\n\n this.searchValue.valueChanges.subscribe((value) => {\n this.searchString = value;\n });\n }\n\n ngOnDestroy(): void {}\n\n close() {\n this.dialogRef.close();\n }\n}\n","
\n
\n Alle nyheder\n
\n
\n Alle noter\n
\n
\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faQuestionCircle } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-are-you-sure-dialog',\n templateUrl: './are-you-sure-dialog.component.html',\n styleUrls: ['./are-you-sure-dialog.component.scss']\n})\nexport class AreYouSureDialogComponent implements OnInit {\n\n faQuestionCircle = faQuestionCircle;\n private answer: boolean = false;\n title: string;\n bodyInformation: string = '';\n\n constructor(\n public matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA)\n public data: {\n title: string;\n bodyInformation: string\n }) {\n this.initDialog();\n }\n\n initDialog(): void {\n this.title = this.data.title;\n this.bodyInformation = this.data.bodyInformation;\n this.matDialogRef.disableClose = true;\n this.matDialogRef.beforeClosed().subscribe(result => {\n this.matDialogRef.close(this.answer);\n });\n }\n\n ngOnInit(): void {\n\n }\n\n buttonEvent(answer: boolean) {\n this.answer = answer;\n }\n\n}\n","\n
\n \n

{{title}}

\n\n
\n {{bodyInformation}}\n
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PostingFilter } from 'src/app/api/vat';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { AnalyzeHelperService } from '@modules/analyzes/services/analyze-helper.service';\nimport configJson from 'src/assets/config.json';\n\nexport interface PeriodicElement {\n analysisId: number;\n title: string;\n processedState: number;\n realisedPotential: number;\n remainingPotential: number;\n date: string;\n year: number;\n}\n\n@Component({\n selector: 'app-completed-analyzes',\n templateUrl: './completed-analyzes.component.html',\n styleUrls: ['./completed-analyzes.component.scss'],\n})\nexport class CompletedAnalyzesComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n\n displayedColumns: string[] = [\n 'title',\n 'processedState',\n 'realisedPotential',\n 'remainingPotential',\n 'date',\n 'year',\n ];\n dataSource = this.data.slice(0, -1);\n totalRow: PeriodicElement = this.data[this.dataSource.length];\n\n\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: PeriodicElement[],\n private router: Router,\n private internalFilterService: InternalFilterService,\n private analyzeHelperService: AnalyzeHelperService\n ) {\n }\n\n ngOnInit() {\n }\n\n navigateToAnalysis(row: any): void {\n const postingFilter: PostingFilter = {\n sortBy: {\n propertyName: null,\n ascending: false,\n },\n pageModel: {\n skip: 0,\n take: configJson.PageSizeBlock,\n },\n analysisId: row.analysisId,\n periods: [{\n financialYear: row.year.toString(),\n fromDate: this.internalFilterService.eraseTimeZoneOffSet(new Date(row.year, 0, 1)),\n toDate: this.internalFilterService.eraseTimeZoneOffSet(new Date(row.year, 11, 31)),\n }]\n };\n\n this.internalFilterService.updatePostingFilters(\n postingFilter\n );\n this.analyzeHelperService.addAnalyzeToLatestLooked(row.analysisId);\n this.router.navigate(['posteringer/', row.analysisId]);\n this.close();\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","
\n
\n Status på analyser\n
\n
\n \n
\n
\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n
Titel {{element.title}} Total Process Status {{element.processedState}} % {{totalRow.processedState}} % Rest Potentiale {{element.remainingPotential | vatCurrency}} {{totalRow.remainingPotential | vatCurrency}} Realiseret resultat {{element.realisedPotential | vatCurrency}} {{totalRow.realisedPotential | vatCurrency}} Dato {{element.date | date:'dd-MM-YYYY'}} Regnskabsår {{element.year}} {{totalRow.year}}
\n
\n
\n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-create-rule',\n templateUrl: './create-rule.component.html',\n styleUrls: ['./create-rule.component.scss'],\n})\nexport class CreateRuleComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n\n currentDialog: string;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n ngOnInit() {\n this.currentDialog = this.data.dataKey;\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","
\n
\n Opret regel\n
\n
\n Rediger regel\n
\n
\n \n
\n
\n
\n \n Beskrivelse\n \n \n
\n
\n \n Regel\n \n \n
\n
\n
\n \n \n
\n
","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { faTimes, faUser, faCalendar } from \"@fortawesome/free-solid-svg-icons\";\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\nimport { Message } from 'src/app/api/vat';\n\n@Component({\n selector: \"app-expanded-message\",\n templateUrl: \"./expanded-message.component.html\",\n styleUrls: [\"./expanded-message.component.scss\"],\n})\nexport class ExpandedMessageComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n faUser = faUser;\n faCalendar = faCalendar;\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public message: Message) { }\n\n ngOnInit() {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","
\n \n
\n ID{{message.postingNoteId}} - {{message.subject}}\n
\n
\n \n
\n
\n
\n \n
\n
\n {{message.text}}\n
\n
\n
\n \n
\n
\n
","import {\n Component,\n ElementRef,\n Inject,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {\n ExcelColumnItem,\n Message,\n MessageService,\n PostingService,\n User,\n VATMail,\n} from 'src/app/api/vat';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { FormGroup, UntypedFormControl } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackbarComponent } from '@modules/shell/components/snackbar/snackbar.component';\nimport { InternalUserService } from '@modules/commons/services/internal-user.service';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { readSync } from 'fs';\n\n@Component({\n selector: 'app-export-message',\n templateUrl: './export-message.component.html',\n styleUrls: ['./export-message.component.scss'],\n})\nexport class ExportMessageComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n\n subject: string = 'Besked eksporteret fra BDO Moms Tjek';\n body: string;\n visible = true;\n selectable = true;\n removable = true;\n personCtrl = new UntypedFormControl();\n separatorKeysCodes: number[] = [ENTER, COMMA];\n filteredPersons: User[] = [];\n persons: User[] = [];\n allPersons: User[] = [];\n checked: boolean = false;\n currentUser: User;\n currentCustomer: string;\n additionalEmails: string[] = [];\n emailForm: FormGroup;\n emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]/; //+\\.[dD][kK]/;\n\n @ViewChild('personInput') personInput: ElementRef;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public message: Message,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private postingService: PostingService,\n private messageService: MessageService,\n private labelGlossaryService: LabelGlossaryService,\n private internalUserService: InternalUserService,\n private snackBar: MatSnackBar,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.emailForm = this.formBuilder.group({\n email: [Validators.required, Validators.email],\n });\n\n this.loadUsers();\n this.internalCurrentCustomerService.customer.subscribe((customer) => {\n this.currentCustomer = customer.group.toLowerCase().split('-')[2] + '.dk';\n });\n this.internalUserService.user$.subscribe((user) => {\n this.currentUser = user;\n const lb = '\\r\\n';\n this.body = `ID${this.message.postingNoteId} - ${this.message.subject} ${lb}${lb}${this.message.text} ${lb}${lb}Denne e-mail er sendt med BDO Moms Tjek${lb}${lb}Venlig hilsen${lb}${user.userName}`;\n });\n }\n\n private loadUsers() {\n const customerid: number =\n +this.internalCurrentCustomerService.getCustomerId();\n this.postingService\n .getUsersForPostingNote(customerid)\n .subscribe((result) => {\n this.allPersons = result;\n this.filteredPersons = result;\n this.message.mentionUserIds.forEach((o) => {\n this.persons.push(\n this.allPersons.filter((u) => u.userId === o).pop()\n );\n this.allPersons = this.allPersons.filter((u) => u.userId !== o);\n });\n });\n }\n\n close() {\n this.dialogRef.close();\n }\n\n sendMessage() {\n const excelItemColumns: ExcelColumnItem[] =\n this.labelGlossaryService.getExcelColumns();\n const bodyExport: VATMail = {\n columns: excelItemColumns,\n subject: this.subject,\n body:\n `
` +\n this.body.replace(/\\n/g, '
') +\n `
`,\n userIds: this.persons.map((o) => o.userId),\n recipients: this.additionalEmails,\n };\n\n this.messageService\n .sendMail(this.message.postingNoteId, bodyExport)\n .subscribe((result) => {\n if (result) this.close();\n if (result == false) this.wrongDomainMessage();\n });\n }\n\n add(event: MatChipInputEvent): void {\n const input = event.input;\n const value = event.value;\n\n // Add our person\n if ((value || '').trim() && this.emailPattern.test(value)) {\n this.additionalEmails.push(value);\n } else {\n this.invalidEmailMessage(value);\n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n this.personCtrl.setValue(null);\n }\n\n invalidEmailMessage(user) {\n this.snackBar.openFromComponent(SnackbarComponent, {\n duration: 10000,\n panelClass: ['snackbar', 'red'],\n data: {\n message: `Ugyldig e-mail: ${user}`,\n action: 'Ok',\n },\n });\n }\n wrongDomainMessage() {\n this.snackBar.openFromComponent(SnackbarComponent, {\n duration: 10000,\n panelClass: ['snackbar', 'red'],\n data: {\n message: `Moms Tjek kan ikke sende mails til andre domæner end eget domæne, f.eks. navn@kunde.dk. \n Ved behov for yderligere e-mail domæner, bedes du kontakte os.`,\n action: 'Ok',\n },\n });\n }\n recipientsAreChosen(): boolean {\n return this.persons.length + this.additionalEmails.length > 0;\n }\n removeUser(person: User): void {\n const index = this.persons.indexOf(person);\n\n if (index >= 0) {\n this.persons.splice(index, 1);\n }\n this.filteredPersons = this.allPersons.filter(\n (o) => !this.persons.includes(o)\n );\n }\n removeEmail(additionalEmail: string): void {\n const index = this.additionalEmails.indexOf(additionalEmail);\n\n if (index >= 0) {\n this.additionalEmails.splice(index, 1);\n }\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n const user: User = this.allPersons.find(\n (x) => x.userId === event.option.value\n );\n this.persons.push(user);\n this.personInput.nativeElement.value = '';\n this.filteredPersons = this.allPersons.filter(\n (o) => !this.persons.includes(o)\n );\n this.personCtrl.setValue(null);\n }\n}\n","
\n
\n Eksporter med mail\n
\n
\n \n
\n
\n\n
\n {{message.createDate | date: 'dd/MM yyyy'}} - {{message.createdBy.userName}}\n
\n\n
\n \n \n \n {{person.userName}}\n \n \n \n {{additionalEmail}}\n \n \n \n \n \n \n {{person.userName}}\n \n \n \n
\n
\n \n Mail emne\n \n \n
\n\n
\n \n Mail tekst\n \n \n
\n
\n
\n
\n

OBS: Du er ved at sende en mail der kan indeholde følsomme oplysninger.

\n
\n

Ved brug af denne funktionalitet, kan det potentielt betyde at du deler CPR-oplysninger med den kollega,\n som du sender dette eksport til.

\n

I skal derfor være opmærksomme på, om I overholder jeres interne regler ved opbevaring herom.

\n

I har yderligere selv ansvar for at modtager, gerne må modtage de data I er ved at eksportere.\n Det understreges at brug af denne service strengt er for eget ansvar.

\n
\n
\n \n
Jeg har læst ovenstående og accepterer
\n
\n
\n
\n \n \n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-manuals-dialog',\n templateUrl: './manuals-dialog.component.html',\n styleUrls: ['./manuals-dialog.component.scss']\n})\nexport class ManualsDialogComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private router: Router,\n ) { }\n\n ngOnInit(): void {}\n\n goToManual() {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([`/manualer`]));\n\n sessionStorage.setItem('analysisTitle', this.data.title);\n\n window.open(url, '_blank');\n\n this.close();\n }\n\n close() {\n this.dialogRef.close();\n }\n\n}\n","
\n
\n Guide for {{data.title}}\n
\n
\n \n
\n
\n\n \n Man kan med fordel sortere på kolonnen ”Leverandør”. Betalinger til eksterne leverandører bør ikke konteres på art 9, men henholdsvis art 4.0 eller 4.9.\n \n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Under udarbejdelse\n \n\n \n Man kan med fordel sortere på kolonnen ”Moms”.
\n Interne afregninger bør som udgangspunkt ikke ske på momsbærende arter.
\n Man bør derfor undersøg modposter i relation hertil.\n
\n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Kontoudtoget kan gennemgås for at efterse om den enkelte udgift er med eller uden moms.\n \n\n \n Er der tale om et gavekort, bør det kontrolleres, om fakturaen indeholder moms, og herefter om udgiften er korrekt artskonteret.\n \n\n \n Det skal her undersøges, om fakturaen (andet bilag) indeholder moms.\n \n\n \n Er der tale om en ”rykker”, skal det undersøges, om den oprindelige faktura indeholder moms, og herefter om udgiften er artskonteret korrekt.\n \n\n \n Det skal her undersøges, om udgifterne indeholder moms.\n
\n Afhængig af momsgrundlaget bør bogføringen ske på henholdsvis art 4.0 eller 4.9.\n
\n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Man kan med fordel sorterer efter funktionen, for at efterse at udgifter bogføres ensartet på de enkelte funktioner - dette med afsæt i relevant lovgrundlag.\n \n\n \n Det bør undersøges, om udgifterne bør bogføres på en udgiftsart - eksempelvis art 2.9, 4.0 eller 4.9.\n \n\n \n Det bør undersøges, om hele fakturabeløbet er bogført, og om der er foretaget korrekt artskontering.\n \n\n \n Posteringer bør undersøges for andet bilagsmateriale, for vurdering af korrekt moms- og artskontering.\n \n\n \n Det bør derfor undersøges, om der findes indtægter, der ikke har karakter af at være kontraktmæssig husleje, eksempelvis fordeling af udgifter i organisationen - udleje fra en afdeling til en anden.\n \n\n \n Der bør undersøges, om der er tale om beboerbetalinger, opholdsbetalinger, takstbetalinger eller lign. som ikke er omfattet af art 7.1.\n \n\n \n Posteringer bør vurderes for, om der er indtægter som ikke er omfattet af bogføring på art 7.1, eksempelvis indtægter fra videreudlejning af eksterne lejemål, indtægter for leje af jord, engangslejeindtægter uden en egentlig lejekontrakt\n m.v.\n \n\n \n Man kan med fordel sortere kolonne ”IM Grp.”
\n Denne funktion indgår ikke i momsrefusionsordningen (dog undtaget gruppering 002).
\n Der bør undersøges om anvendelse af grupperinger i relation til udgiftens karakter er korrekt.\n
\n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Man kan med fordel sortere faldende på kolonne ”Potentiale” og tilvælge kolonne ”Moms bilag total”. Som et resultat heraf kan man se på de posteringer, hvor der er bogført mindre moms, end hvad fakturaen foreskriver.\n \n\n \n Man kan med fordel sortere faldende på kolonnen ”Potentiale”.\n
\n Undersøges om der er sket korrekt artskontering, ex. anvendelse af momsbærende arter.\n
\n\n \n Udsøg om poster overholder positivlistens bestemmelser, eksempelvis ingen driftsoverenskomst eller at udgifter til kommuner/regioner ikke er bogført med ejerforhold 4.\n \n\n \n Undersøg om der er tale om tilskud til eksterne, herunder om der er tale om drifts– eller anlægstilskud.\n
\n Vær opmærksom på at der gælder særlige regler for tilskud til anlæg og i forbindelse med en frivillig momsregistrering.\n
\n\n \n Det anbefales at poster i relation til de enkelte funktioner vurderes i forhold til positivlistens bestemmelser.\n \n\n \n Det anbefales at poster i relation til de enkelte funktioner vurderes i forhold til positivlistens bestemmelser.\n \n\n \n Det anbefales at poster i relation til de enkelte funktioner vurderes i forhold til positivlistens bestemmelser.\n \n\n \n Det anbefales at vurdere om der er udgifter iht. Erhvervsudvikling, som er omfattes af positivlistens bestemmelser.\n \n\n \n Analysen giver som udgangspunkt ikke mulighed for momsrefusion, men kan anvendes til kontrol af korrekt bogføring.\n
\n Indsigt i underliggende bevillinger/lovgrundlag kan med fordel buges til vurdering af om bogføringen er sket korrekt.\n
\n\n \n Det bør undersøges, om posteringer opfylder positivlistens bestemmelser, og herunder om posteringer er korrekt artskonteret.\n \n\n \n Det bør undersøges, om der findes tilskud, som burde være konteret på andre funktioner, herunder funktioner omfattet af positivlisten, typiske eksempler findes på HK 6.\n \n\n \n Posteringer bør gennemgås for at vurdere, om der reelt er tale om en erstatning, som i stedet bør bogføres på en indtægtsart - art 7.\n \n\n \n Det bør kontrolleres om analysen indeholder leverandører som umiddelbart leverer momspligtige varer og ydelser. Hvis dette er tilfældet, bør det underliggende bilagsmateriale undersøges nærmere.\n \n\n \n Bilagsmateriale til posteringer i denne analyse bør gennemgås for at afklare, om der findes dokumentation for moms. Alternativ bør der reguleres for, for meget hjemtaget momsrefusion.\n \n\n \n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n \n\n \n Kontroller at der ikke er posteringer som giver adgang til momsrefusion i relation til positivlisten.\n \n\n \n Under udarbejdelse\n \n\n \n Under udarbejdelse\n \n\n \n Under udarbejdelse\n \n\n \n Man kan med fordel sortere på kolonnen ”Leverandør”. Betalinger til eksterne leverandører bør ikke konteres på art 9, men henholdsvis art 4.0 eller 4.9.\n \n\n \n Man kan med fordel sortere på kolonnen ”Moms”.
\n Interne afregninger bør som udgangspunkt ikke ske på momsbærende arter.
\n Man bør derfor undersøg modposter i relation hertil.\n
\n\n
\n\n
\n \n \n
\n
","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { PostingService } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { Column } from 'src/app/global-models';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-posting-column-list',\n templateUrl: './posting-column-list.component.html',\n styleUrls: ['./posting-column-list.component.scss'],\n})\nexport class PostingColumnListComponent implements OnInit {\n faTimes = faTimes;\n\n subscriptions: Subscription[] = [];\n allColumnDefinitions: Column[];\n switchAbleColumnDefinitions: Column[];\n private routePath: string;\n\n constructor(\n private labelGlossaryService: LabelGlossaryService,\n private postingService: PostingService,\n public dialogRef: MatDialogRef,\n private route: ActivatedRoute,\n @Inject(MAT_DIALOG_DATA) public analysisId: number\n ) {\n dialogRef.backdropClick().subscribe(() => {\n this.cancel();\n });\n }\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.labelGlossaryService.postingTableColumnsDefinition$.subscribe(\n (result: Column[]) => {\n this.allColumnDefinitions = result;\n this.switchAbleColumnDefinitions = this.allColumnDefinitions.filter(\n (c) =>\n c.switchAble === true ||\n c.key === 'correctedPotential' ||\n c.key === 'result'\n );\n }\n )\n );\n this.routePath = this.route.snapshot['_routerState'].url;\n }\n\n isDisabled(column: Column): boolean {\n if (column.key === 'correctedPotential' || column.key === 'result')\n return true;\n\n return false;\n }\n\n dragAndDrop(event: CdkDragDrop) {\n const indexCount = this.switchAbleColumnDefinitions.length - 1;\n\n // Control that the user cant drop under the 2 lowest options in the list.\n if (\n event.currentIndex !== indexCount &&\n event.currentIndex !== indexCount - 1\n ) {\n moveItemInArray(\n this.switchAbleColumnDefinitions,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n isNotOnPostingNote(): boolean {\n return !this.routePath.includes('posteringer/postingnote/');\n }\n\n save(temperary: boolean): void {\n this.close();\n this.dialogRef.afterClosed().subscribe(() => {\n const firstLockedColumns = this.allColumnDefinitions.slice(0, 2);\n const lastLockedColumns = this.allColumnDefinitions.slice(-4);\n this.switchAbleColumnDefinitions.unshift(...firstLockedColumns);\n this.switchAbleColumnDefinitions.splice(\n this.switchAbleColumnDefinitions.length - 2,\n 0,\n lastLockedColumns[0]\n );\n this.switchAbleColumnDefinitions.push(lastLockedColumns[3]);\n\n this.allColumnDefinitions = this.switchAbleColumnDefinitions;\n if (temperary === true) {\n this.labelGlossaryService.updatePostingColumns(\n this.allColumnDefinitions\n );\n } else {\n const columnDefinitions =\n this.labelGlossaryService.mapColumnDefinitionsToColumns(\n this.allColumnDefinitions\n );\n this.subscriptions.push(\n this.postingService\n .addOrUpdateUserColumnDefinitions(\n this.analysisId,\n columnDefinitions\n )\n .subscribe(() => {\n this.labelGlossaryService.updatePostingColumns(\n this.allColumnDefinitions\n );\n })\n );\n }\n });\n }\n\n close() {\n this.dialogRef.close();\n }\n\n cancel() {\n this.close();\n }\n\n reset() {\n this.labelGlossaryService.resetPostingColumnsToDefault().then(() => {\n const columnDefinitions =\n this.labelGlossaryService.mapColumnDefinitionsToColumns(\n this.allColumnDefinitions\n );\n this.subscriptions.push(\n this.postingService\n .addOrUpdateUserColumnDefinitions(\n this.analysisId,\n columnDefinitions\n )\n .subscribe(() => {\n this.labelGlossaryService.updatePostingColumns(\n this.allColumnDefinitions\n );\n })\n );\n this.close();\n });\n }\n}\n","
\n
\n Kolonneindstillinger\n
\n

*Ændring i kolonneindstillinger er kun gældende for den valgte analyse

\n \n
\n
\n
\n
\n \n {{i}}{{column.name}}\n \n \n
\n
\n
\n
\n \n \n \n \n
\n
","import {\n AfterViewInit,\n Component,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Inject } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Analysis, AnalysisByPostings, PostingFilter, PostingService, UpdatePosting } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { HeaderService } from '@modules/shell/services/header.service';\nimport config from 'src/assets/config.json';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\n\nexport interface AnalysisData {\n analysisId: number;\n name: string;\n year: string;\n processed: number;\n amount: number;\n realisedPotential: number;\n remainingPotential: number;\n totalPotential: number;\n isRuleMatched: boolean;\n}\n@Component({\n selector: 'app-select-analyze',\n templateUrl: './select-analyze.component.html',\n styleUrls: ['./select-analyze.component.scss'],\n})\nexport class SelectAnalyzeComponent implements OnInit, AfterViewInit {\n // Icons\n faTimes = faTimes;\n\n private isAllPostingsSelected: boolean = false;\n private selectedPostingIds: number[] = [];\n private deSelectedPostingIds: number[] = [];\n private totalPostings: number = 0;\n private postingFilter: PostingFilter;\n\n displayedColumns: string[] = [\n 'name',\n 'year',\n 'processed',\n 'amount',\n 'realisedPotential',\n 'remainingPotential',\n 'totalPotential',\n ];\n dataSource: MatTableDataSource;\n selectedAnalysisData: AnalysisData;\n\n @Input() view;\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: false }) sort: MatSort;\n\n subscriptions: Subscription[] = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA)\n public data: {\n totalPostings: number;\n analysisByPostings: AnalysisByPostings;\n selectedPostingIds: number[];\n isAllPostingsSelected: boolean;\n deSelectedPostingIds: number[];\n postingFilter: PostingFilter;\n },\n private postingService: PostingService,\n private headerService: HeaderService,\n private internalFilterService: InternalFilterService\n ) {\n this.totalPostings = data.totalPostings;\n this.selectedPostingIds = data.selectedPostingIds;\n this.isAllPostingsSelected = data.isAllPostingsSelected;\n this.deSelectedPostingIds = data.deSelectedPostingIds;\n this.postingFilter = this.postingFilter;\n const mappedData: AnalysisData[] = [];\n\n this.headerService.headerTitleState.subscribe((title) => {\n const year: string = this.internalFilterService.getSelectedPeriodYears();\n\n if (data.analysisByPostings.ruleMatchedAnalysis) {\n const ruleMatchedAnalysis = this.filterAnalysis(\n data.analysisByPostings.ruleMatchedAnalysis,\n title\n ).map((analysis: Analysis) =>\n this.mapToAnalysisData(analysis, year, true)\n );\n\n mappedData.push(...ruleMatchedAnalysis);\n }\n\n if (data.analysisByPostings.nonRuleMatchedAnalysis) {\n const nonRuleMatchedAnalysis = this.filterAnalysis(\n data.analysisByPostings.nonRuleMatchedAnalysis,\n title\n ).map((analysis: Analysis) =>\n this.mapToAnalysisData(analysis, year, false)\n );\n\n mappedData.push(...nonRuleMatchedAnalysis);\n }\n this.dataSource = new MatTableDataSource(mappedData);\n\n this.internalFilterService.postingFilter.subscribe(\n (postingFilter: PostingFilter) => (this.postingFilter = postingFilter)\n );\n });\n }\n\n private filterAnalysis = (analysis: Analysis[], title: string) =>\n analysis.filter(\n (f) => f.analysisId !== config.GlobalAnalysisId && f.title !== title\n );\n\n private mapToAnalysisData(\n analysis: Analysis,\n year: string,\n isRuleMatched: boolean = false\n ): AnalysisData {\n return {\n analysisId: analysis.analysisId,\n name: analysis.title,\n year,\n processed: analysis.processed,\n amount: analysis.quantity,\n realisedPotential: analysis.realisedPotential,\n remainingPotential: analysis.remainingPotential,\n totalPotential: analysis.totalPotential,\n isRuleMatched,\n } as AnalysisData;\n }\n\n ngOnInit() {}\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n\n close() {\n this.dialogRef.close();\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n setPrimaryAnalysis() {\n if (this.isAllPostingsSelected === false) {\n this.subscriptions.push(\n this.postingService\n .setPrimaryAnalysisByPostingIds(\n this.selectedAnalysisData.analysisId,\n this.selectedPostingIds\n )\n .subscribe(() => {\n this.close();\n })\n );\n } else {\n this.postingFilter.pageModel.skip = 0;\n this.postingFilter.pageModel.take = this.totalPostings;\n const updatePosting: UpdatePosting = {\n postingFilter: this.postingFilter,\n editedNoteId: 0,\n deSelectedPostings: this.deSelectedPostingIds,\n };\n this.postingService\n .setPrimaryAnalysisByPostingFilter(\n this.selectedAnalysisData.analysisId,\n updatePosting\n )\n .subscribe(() => {\n this.close();\n });\n }\n }\n}\n","
\n
\n Flyt til anden analyse\n
\n
\n \n
\n
\n
\n \n Stikordssøgning i analyser\n \n \n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Analyse {{row.name}} År {{row.year}} Behandlet {{row.processed | number: '2.':'da-DK'}} Antal {{row.amount | number: '2.':'da-DK'}} Realiseret resultat {{row.realisedPotential | vatCurrency}} Rest potentiale {{row.remainingPotential | vatCurrency}} Samlet potentiale {{row.totalPotential | vatCurrency}}
\n
\n\n
\n *Analyser markeret med farve er forslag af Moms Tjek.\n
\n\n
\n \n \n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// Material\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\n// Custom Modules\nimport { MessagesModule } from '@modules/messages/messages.module';\nimport { CommonsModule } from '../commons/commons.module';\n\n// Components\nimport { ExpandedMessageComponent } from './components/expanded-message/expanded-message.component';\nimport { AllMessagesComponent } from './components/all-messages/all-messages.component';\nimport { CompletedAnalyzesComponent } from './components/completed-analyzes/completed-analyzes.component';\nimport { SelectAnalyzeComponent } from './components/select-analyze/select-analyze.component';\nimport { CreateRuleComponent } from './components/create-rule/create-rule.component';\nimport { ExportMessageComponent } from './components/export-message/export-message.component';\nimport { AreYouSureDialogComponent } from './components/are-you-sure-dialog/are-you-sure-dialog.component';\nimport { ManualsDialogComponent } from './components/manuals-dialog/manuals-dialog.component';\nimport { PostingColumnListComponent } from './components/posting-column-list/posting-column-list.component';\n\n@NgModule({\n declarations: [\n ExpandedMessageComponent,\n AllMessagesComponent,\n CompletedAnalyzesComponent,\n SelectAnalyzeComponent,\n CreateRuleComponent,\n ExportMessageComponent,\n AreYouSureDialogComponent,\n ManualsDialogComponent,\n PostingColumnListComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FontAwesomeModule,\n MatInputModule,\n MatButtonModule,\n MatMenuModule,\n MatDialogModule,\n MatFormFieldModule,\n MatSelectModule,\n MatRadioModule,\n RouterModule,\n MessagesModule,\n MatPaginatorModule,\n MatSortModule,\n MatAutocompleteModule,\n MatListModule,\n MatTabsModule,\n MatCheckboxModule,\n MatChipsModule,\n MatTableModule,\n CommonsModule,\n MatTooltipModule,\n DragDropModule\n ],\n exports: [CompletedAnalyzesComponent],\n})\nexport class DialogModule { }\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FaIconLibrary } from '@fortawesome/angular-fontawesome';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport { faChevronDown, faStar, fas } from '@fortawesome/free-solid-svg-icons';\nimport { FavoriteService } from '@modules/favorites/services/favorite.service';\nimport { Analysis } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { FavoriteDetail } from 'src/app/global-models';\n\n@Component({\n selector: 'app-favorite-list',\n templateUrl: './favorite-list.component.html',\n styleUrls: ['./favorite-list.component.scss'],\n})\nexport class FavoriteListComponent implements OnInit, OnDestroy {\n // Icons\n faChevronDown = faChevronDown;\n faStar = faStar;\n\n isExpanded: boolean = false;\n\n favoriteAnalysis: Analysis[];\n favoriteDetails: FavoriteDetail[];\n subscriptions: Subscription[] = [];\n\n amountOfFavorites: number;\n\n constructor(\n private router: Router,\n private favoriteService: FavoriteService,\n library: FaIconLibrary\n ) {\n library.addIconPacks(fas, far);\n }\n\n ngOnInit() {\n this.subscriptions.push(\n this.favoriteService.favoriteAnalysisDetail\n .pipe(filter((favorites) => favorites !== undefined))\n .subscribe((favorites: FavoriteDetail[]) => {\n this.favoriteDetails = favorites;\n this.amountOfFavorites = favorites.length;\n })\n );\n\n this.subscriptions.push(\n this.favoriteService.favoriteAnalysis.subscribe(\n (favoriteAnalysis: Analysis[]) => {\n this.favoriteAnalysis = favoriteAnalysis;\n }\n )\n );\n }\n\n expandFavoriteList(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n navigateToPostings(analysisId: number): void {\n this.router.navigate(['posteringer/', analysisId]);\n }\n\n toggleFavorit(analysisId: number): void {\n this.favoriteService.toggleFavorite(analysisId);\n }\n\n checkIfFavorite(analysisId: number): boolean {\n return this.favoriteService.checkIfFavorite(\n this.favoriteDetails,\n analysisId\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","
\n \n
\n \n \n {{favorite.title}}\n \n \n \n \n \n
\n
\n
3\" class=\"favorites__expand\" (click)=\"expandFavoriteList()\" [ngClass]=\"isExpanded ? 'is-expanded' : ''\">\n \n Udvid\n Luk\n \n
\n
\n\n
\n Ingen favoritter\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n// Material\nimport { MatListModule } from '@angular/material/list';\nimport { MatButtonModule } from '@angular/material/button';\n\n// Components\nimport { FavoriteListComponent } from './components/favorite-list/favorite-list.component';\n\n@NgModule({\n declarations: [FavoriteListComponent],\n imports: [CommonModule, FontAwesomeModule, MatListModule, MatButtonModule],\n exports: [FavoriteListComponent],\n})\nexport class FavoritesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { LoadingTemplateFactoryService } from '@modules/commons/services/loading-template-factory.service';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\nimport storeKeys from '@modules/store/localStorageKeys.json';\nimport { Analysis, AnalysisFilter, AnalysisService } from 'src/app/api/vat';\nimport { Observable, Subscription, BehaviorSubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { FavoriteDetail } from 'src/app/global-models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FavoriteService implements OnDestroy {\n private favoriteAnalysisDetailSource: BehaviorSubject =\n new BehaviorSubject(null);\n private favoriteAnalysisSource: BehaviorSubject =\n new BehaviorSubject([]);\n\n public favoriteAnalysisDetail: Observable =\n this.favoriteAnalysisDetailSource.asObservable();\n public favoriteAnalysis: Observable =\n this.favoriteAnalysisSource.asObservable();\n\n private analysisFilter: AnalysisFilter;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private analysisService: AnalysisService,\n private internalFilterService: InternalFilterService,\n private localStorageService: LocalStorageService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private loadingTemplateFactoryService: LoadingTemplateFactoryService\n ) {\n this.init();\n }\n\n private init() {\n this.subscriptions.push(\n this.internalFilterService.analysisFilter.subscribe(\n (analysisFilter) => (this.analysisFilter = analysisFilter)\n )\n );\n\n this.internalCurrentCustomerService.customer.subscribe((customer) => {\n let favoriteDetails =\n this.localStorageService.getObject(\n storeKeys.FavoriteAnalysisStorageKey\n ) ?? [];\n\n if (this.isFavoriteAnalysisDetailsNotEmpty(favoriteDetails)) {\n favoriteDetails = favoriteDetails.filter(\n (f) => f.customerId === customer.customerId.toString()\n );\n const tempAnalysis =\n this.loadingTemplateFactoryService.createCardAnalyzesTemplate(\n favoriteDetails.map((k) => k.analysisId)\n );\n this.favoriteAnalysisSource.next(tempAnalysis);\n }\n\n this.favoriteAnalysisDetailSource.next(favoriteDetails);\n });\n this.setAnalysisInformation();\n }\n\n private setAnalysisInformation() {\n this.subscriptions.push(\n this.favoriteAnalysisDetail\n .pipe(filter((s) => s !== null))\n .subscribe((favoriteAnalysisDetails: FavoriteDetail[]) => {\n if (this.isFavoriteAnalysisDetailsNotEmpty(favoriteAnalysisDetails)) {\n const favoritsAnalysisIds = favoriteAnalysisDetails.map(\n (f) => f.analysisId\n );\n this.subscriptions.push(\n this.analysisService\n .getByIds(favoritsAnalysisIds)\n .subscribe((result: Analysis[]) => {\n let correctResult: Analysis[] = [];\n result.forEach((analysis) => {\n if (\n favoritsAnalysisIds.includes(analysis.analysisId) &&\n correctResult\n .map((el) => el.analysisId)\n .indexOf(analysis.analysisId) == -1\n )\n correctResult.push(analysis);\n });\n this.favoriteAnalysisSource.next(correctResult);\n })\n );\n } else {\n this.favoriteAnalysisSource.next([]);\n }\n })\n );\n }\n\n private isFavoriteAnalysisDetailsNotEmpty = (\n favoriteAnalysisDetails: FavoriteDetail[]\n ) =>\n favoriteAnalysisDetails !== undefined && favoriteAnalysisDetails.length > 0;\n\n toggleFavorite(analysisId: number): void {\n const favoriteDetails = this.favoriteAnalysisDetailSource.getValue();\n\n const existsIndex = favoriteDetails?.findIndex(\n (f) => f.analysisId === analysisId\n );\n if (existsIndex > -1) {\n favoriteDetails.splice(existsIndex, 1);\n } else {\n if (this.analysisFilter.periods === null) {\n this.analysisFilter.periods = [];\n }\n this.subscriptions.push(\n this.analysisService\n .saveFilter(analysisId, this.analysisFilter)\n .subscribe(() => {})\n );\n favoriteDetails.unshift({\n analysisId,\n customerId: this.internalCurrentCustomerService.getCustomerId(),\n } as FavoriteDetail);\n }\n\n this.favoriteAnalysisDetailSource.next(favoriteDetails);\n this.persistToLocalStorage();\n }\n\n private persistToLocalStorage(): void {\n this.localStorageService.addOrUpdateObject(\n storeKeys.FavoriteAnalysisStorageKey,\n this.favoriteAnalysisDetailSource.getValue()\n );\n }\n\n public checkIfFavorite(\n favoriteDetail: FavoriteDetail[],\n analysisId: number\n ): boolean {\n return (\n favoriteDetail !== undefined &&\n favoriteDetail.map((s) => s.analysisId).includes(analysisId)\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","export enum ComponentFilterType {\n period = 'period',\n checkboxlist = 'checkbox-list',\n hierarchy = 'hierarchy',\n keyword = 'keyword',\n list = 'list'\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { faTimes, faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport {\n AnalysisFilter,\n KeyValuePairOfIntegerAndString,\n PostingFilter,\n} from 'src/app/api/vat';\nimport { Observable, Subscription } from 'rxjs';\nimport filterTypes from 'src/assets/filterTypes.json';\n\n@Component({\n selector: 'app-checkbox-list',\n templateUrl: './checkbox-list.component.html',\n styleUrls: ['./checkbox-list.component.scss'],\n})\nexport class CheckboxListComponent implements OnInit, OnDestroy {\n faTimes = faTimes;\n faTrash = faTrash;\n\n selectedNodes: KeyValuePairOfIntegerAndString[] = [];\n subscriptions: Subscription[] = [];\n\n constructor(private internalFilterService: InternalFilterService) {}\n\n @Input() type: string;\n @Input() data: KeyValuePairOfIntegerAndString[] = [];\n @Input() selectedFilters: Observable;\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.selectedFilters.subscribe((selected) => {\n this.selectedNodes = [];\n if (this.isSelectedFilterEmpty(selected[this.type])) {\n selected[this.type] = [];\n } else {\n this.getSelected(selected[this.type]);\n }\n })\n );\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n getSelected(selectedData: Array) {\n selectedData.forEach((sd) => {\n if (this.type === 'vatTypes') {\n const selected = this.data.find((s) => s.key.toString() === sd);\n if (selected !== undefined) {\n this.selectedNodes.push(selected);\n }\n } else {\n const selected = this.data.find((s) => s.key === sd);\n if (selected !== undefined) {\n this.selectedNodes.push(selected);\n }\n }\n });\n }\n\n private isSelectedFilterEmpty(selectedFilter): boolean {\n return selectedFilter === undefined || selectedFilter === null;\n }\n\n public toggleNode(node: KeyValuePairOfIntegerAndString): void {\n const index = this.selectedNodes.map((n) => n.key).indexOf(node.key);\n if (index > -1) {\n this.selectedNodes.splice(index, 1);\n } else {\n this.selectedNodes.push(node);\n }\n\n if (this.type === filterTypes.vatTypes.key) {\n const selected = this.selectedNodes.map((sn) => sn.key.toString());\n this.internalFilterService.updateSideFilter(this.type, selected);\n } else {\n const selected = this.selectedNodes.map((sn) => sn.key);\n this.internalFilterService.updateSideFilter(this.type, selected);\n }\n }\n\n public isNodeSelected(node: KeyValuePairOfIntegerAndString): boolean {\n const index = this.selectedNodes?.findIndex((x) => x.key === node.key);\n return index === -1 ? false : true;\n }\n}\n","\n \n
\n \n \n {{ node.key | filterKeyRemove:node.key | filterKeyRemove:type}} {{ node.value }}\n \n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { faTimes, faTrash, faCalendar } from '@fortawesome/free-solid-svg-icons';\nimport { FilterChip } from '@modules/filter/models/filterChip';\nimport { FilterDefinition } from '@modules/filter/models/filterDefinition';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { FilterBarService, headerChip } from '@modules/filter/services/filter-bar.service';\nimport { AnalysisFilter, Period, PostingFilter } from 'src/app/api/vat';\nimport { filter } from 'rxjs/operators';\nimport { FilterDataService } from '@modules/filter/services/filter-data.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-chosen-filters-bar',\n templateUrl: './chosen-filters-bar.component.html',\n styleUrls: ['./chosen-filters-bar.component.scss'],\n})\nexport class ChosenFiltersBarComponent implements OnInit, OnDestroy {\n // icons\n faTimes = faTimes;\n faTrash = faTrash;\n faCalendar = faCalendar;\n\n removable = true;\n filterChips: FilterChip[] = [];\n subscriptions: Subscription[] = [];\n\n constructor(\n private internalFilterService: InternalFilterService,\n private activatedRoute: ActivatedRoute,\n private labelGlossaryService: LabelGlossaryService,\n private filterBarService: FilterBarService,\n private filterDataService: FilterDataService\n ) { }\n\n ngOnInit(): void {\n if (this.isPathAnalysisOverview()) {\n this.subscriptions.push(this.internalFilterService.analysisFilter\n .pipe(filter((a) => a.periods !== undefined && a.periods !== null))\n .subscribe((analysisFilter: AnalysisFilter) => {\n const filterDefinitions: FilterDefinition[] = this.labelGlossaryService.getAnalysisFilterDefinitions();\n this.addSelectedFiltersAsChips(filterDefinitions, analysisFilter);\n }));\n } else {\n this.subscriptions.push(this.internalFilterService.postingFilter\n .pipe(filter((a) => a.periods !== undefined && a.periods !== null))\n .subscribe((postingFilter: PostingFilter) => {\n const filterDefinitions: FilterDefinition[] = this.labelGlossaryService.getPostingFilterDefinitions();\n this.addSelectedFiltersAsChips(filterDefinitions, postingFilter);\n }));\n }\n this.subscriptions.push(this.filterBarService.headerChip.subscribe((chip: headerChip) => {\n this.filterChips = [];\n this.filterChips.push(chip);\n }));\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n private addSelectedFiltersAsChips(\n filterDefinitions: FilterDefinition[],\n filter: AnalysisFilter | PostingFilter\n ): void {\n this.filterChips = [];\n\n filterDefinitions.forEach((filterDefinition) => {\n if (filterDefinition.filterType === 'periods') {\n const periods = filter[filterDefinition.filterType] as Period[];\n if (this.internalFilterService.isPeriodsRangeSelected(periods) === false) {\n let selectedYears = '';\n this.getYearsFromPeriod(periods)\n .sort()\n .forEach((year, index) => {\n selectedYears += year;\n\n if (index + 1 !== periods.length) {\n selectedYears += ', ';\n }\n\n if (index + 1 === periods.length) {\n selectedYears += ' - ';\n }\n\n });\n let periodMonths: string = '';\n periodMonths += ` Fra: ${new Date(\n periods[0].fromDate\n ).toLocaleString('da-DK', { month: 'short', day: 'numeric' })}`;\n periodMonths += ` Til: ${new Date(\n periods[0].toDate\n ).toLocaleString('da-DK', { month: 'short', day: 'numeric' })}`;\n\n this.filterChips.push({\n type: filterDefinition.filterType,\n headline: filterDefinition.label + ':',\n removable: true,\n selectedData: selectedYears + '!' + periodMonths,\n });\n }\n } else {\n this.addChip(\n filter,\n filterDefinition.filterType,\n filterDefinition.label,\n true\n );\n }\n });\n }\n\n private getYearsFromPeriod(periods: Period[]): number[] {\n const fromYears = periods.map((s) => new Date(s.fromDate).getFullYear());\n const toYears = periods.map((s) => new Date(s.toDate).getFullYear());\n const concatArray = [...fromYears, ...toYears];\n return [...new Set(concatArray)];\n }\n\n private addChip(\n filter: any,\n type: string,\n headline: string,\n removable: boolean\n ): void {\n if (this.isNotEmpty(filter[type])) {\n this.filterChips.push({\n type,\n headline,\n removable,\n });\n }\n }\n\n private isNotEmpty(arrayFilter: any) {\n return (\n arrayFilter !== undefined &&\n arrayFilter?.length !== 0 &&\n arrayFilter !== null\n );\n }\n\n private isPathAnalysisOverview(): boolean {\n const routePath = this.activatedRoute.snapshot.routeConfig.path;\n return routePath === 'analyser';\n }\n\n public removeFromFilter(filterChip: FilterChip): void {\n if (filterChip.type === 'periods') {\n const rangedPerid = this.internalFilterService.getRangedPeriod();\n if (this.isPathAnalysisOverview()) {\n this.filterDataService.updatePrimaryFilterDate(rangedPerid);\n }\n this.internalFilterService.updatePeriodFilter(rangedPerid);\n } else {\n this.internalFilterService.updateTypeFilter(filterChip.type, null);\n }\n }\n\n public removeAllFilters(): void {\n this.internalFilterService.removeAllFilters();\n }\n}\n","
\n \n \n {{filterChip.headline}}\n\n \n {{filterChip.selectedData.split('!')[0]}}\n \n {{filterChip.selectedData.split('!')[1]}}\n \n\n \n \n \n 1\" (click)=\"removeAllFilters()\"> Fjern alle\n
\n","import { Component } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { MatCalendar } from '@angular/material/datepicker';\n\n@Component({\n selector: 'app-datepicker-custom-header',\n templateUrl: './datepicker-custom-header.component.html',\n styleUrls: ['./datepicker-custom-header.component.scss'],\n})\nexport class DatepickerCustomHeaderComponent {\n constructor(\n private calendar: MatCalendar,\n private dateAdapter: DateAdapter\n ) {}\n\n get periodLabel() {\n return this.dateAdapter\n .format(this.calendar.activeDate, 'MMM')\n .toLocaleUpperCase();\n }\n}\n","
\n {{periodLabel}}\n
\n","import {\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n AfterViewInit,\n} from '@angular/core';\nimport { MatAccordion } from '@angular/material/expansion';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n faUser,\n faChevronRight,\n faChevronLeft,\n} from '@fortawesome/free-solid-svg-icons';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { FilterBarService } from '@modules/filter/services/filter-bar.service';\nimport {\n AnalysisFilter,\n PostingFilter,\n Period,\n PrimaryFilter,\n} from 'src/app/api/vat';\nimport { FilterDefinition } from '@modules/filter/models/filterDefinition';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { FilterDataService } from '@modules/filter/services/filter-data.service';\nimport { ComponentFilterType } from '@modules/filter/classes/component-filter-types';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { filter, take } from 'rxjs/operators';\n\n@Component({\n selector: 'app-filter',\n templateUrl: './filter.component.html',\n styleUrls: ['./filter.component.scss'],\n})\nexport class FilterComponent implements OnInit, OnDestroy {\n private filtersData: BehaviorSubject;\n filterDefinitions: FilterDefinition[];\n subscriptions: Subscription[] = [];\n\n public componentFilterType = ComponentFilterType;\n public currentSelectedFiltersStream: Observable<\n AnalysisFilter | PostingFilter\n >;\n public filtersDataStream$: Observable;\n private analysis: string = 'analyser';\n // icons\n faUser = faUser;\n faChevronRight = faChevronRight;\n faChevronLeft = faChevronLeft;\n noChanges: boolean = true;\n filterBarState: boolean = true;\n filterBarExpanded: boolean = false;\n\n isAnalysisSite: boolean = true;\n @ViewChild(MatAccordion, { static: true }) accordion: MatAccordion;\n\n constructor(\n private filterBarService: FilterBarService,\n private internalFilterService: InternalFilterService,\n private route: ActivatedRoute,\n private labelGlossaryService: LabelGlossaryService,\n private filterDataService: FilterDataService\n ) {}\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n this.filtersData.unsubscribe();\n }\n\n ngOnInit() {\n this.subscriptions.push(\n this.filterBarService.filterBarState.subscribe((state) => {\n this.filterBarState = state;\n })\n );\n this.internalFilterService.sideFilterChanged$.subscribe((changes) => {\n if (changes) this.noChanges = false;\n else this.noChanges = true;\n });\n\n const routePath = this.route.snapshot.routeConfig.path;\n this.loadFilters(routePath);\n }\n\n private loadFilters(routePath: string): void {\n this.filterDefinitions =\n routePath === this.analysis\n ? this.labelGlossaryService.getAnalysisFilterDefinitions()\n : this.labelGlossaryService.getPostingFilterDefinitions();\n\n this.subscriptions.push(\n this.filterDataService.primaryFilter\n .pipe(filter((p) => p.periods !== null))\n .subscribe((primaryFilter: PrimaryFilter) => {\n if (\n this.filtersData === undefined &&\n this.filtersDataStream$ === undefined\n ) {\n this.filtersData = new BehaviorSubject(\n primaryFilter\n );\n this.filtersDataStream$ = this.filtersData.asObservable();\n\n if (routePath === this.analysis) {\n this.subscriptions.push(\n this.internalFilterService.analysisFilter\n .pipe(take(1))\n .subscribe((analysisFilter: AnalysisFilter) => {\n const periods =\n analysisFilter.periods === null\n ? primaryFilter.periods\n : analysisFilter.periods;\n if (\n !this.isPeriodsEqual(\n analysisFilter.periods,\n primaryFilter.periods\n )\n ) {\n this.internalFilterService.updatePeriodFilter(periods);\n }\n })\n );\n }\n } else {\n this.filtersData.next(primaryFilter);\n }\n })\n );\n\n if (routePath === this.analysis) {\n this.currentSelectedFiltersStream =\n this.internalFilterService.analysisFilter;\n\n this.subscriptions.push(\n this.internalFilterService.analysisFilter.subscribe(\n (analysisFilter: AnalysisFilter) => {\n this.expandFilterIfDataIsSelected(analysisFilter);\n }\n )\n );\n } else {\n this.currentSelectedFiltersStream =\n this.internalFilterService.postingFilter;\n\n this.subscriptions.push(\n this.internalFilterService.postingFilter.subscribe(\n (postingFilter: PostingFilter) => {\n this.expandFilterIfDataIsSelected(postingFilter);\n }\n )\n );\n }\n }\n searchOnFilter() {\n this.internalFilterService.searchOnSideFilter();\n }\n private isPeriodsEqual(\n firstPeriods: Period[],\n secondPeriods: Period[]\n ): boolean {\n if (\n firstPeriods?.map((s) => s.fromDate).sort() ===\n secondPeriods?.map((p) => p.fromDate).sort()\n )\n return true;\n if (\n firstPeriods?.map((s) => s.toDate).sort() ===\n secondPeriods?.map((p) => p.toDate).sort()\n )\n return true;\n if (\n firstPeriods?.map((s) => s.financialYear).sort() ===\n secondPeriods?.map((p) => p.financialYear).sort()\n )\n return true;\n\n return false;\n }\n\n private expandFilterIfDataIsSelected(filter): void {\n this.filterDefinitions.forEach((fd) => {\n if (filter[fd.filterType] !== undefined) {\n if (\n filter[fd.filterType] !== null &&\n filter[fd.filterType].length > 0\n ) {\n fd.expanded = true;\n }\n }\n });\n }\n\n public expandFilterbar() {\n this.filterBarExpanded = !this.filterBarExpanded;\n }\n\n public toggleFilterBar(): void {\n this.filterBarService.toggleFilterBar();\n this.filterBarExpanded = false;\n }\n}\n","
\n
\n
\n \n \n
\n\n \n\n \n\n \n\n \n\n \n \n {{filterDefinition.label}}\n \n \n\n
\n\n \n \n \n\n \n
\n \n
\n\n \n \n \n \n
\n\n \n
\n \n \n
\n
\n\n \n
\n \n \n
\n
\n\n \n \n \n\n
\n\n
\n\n
\n
\n\n
\n
\n\n \n
\n \n \n
\n\n
\n \n \n Filtre\n \n \n
\n
","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\nimport {\n faCaretRight,\n faCaretDown,\n faPlus,\n faMinus,\n faTimes,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { HierarchyViewNode } from 'src/app/api/vat';\nimport { AnalysisFilter, PostingFilter } from 'src/app/api/vat';\nimport { Observable, Subscription } from 'rxjs';\nimport filterTypes from 'src/assets/filterTypes.json';\n\n@Component({\n selector: 'app-hierarchy',\n templateUrl: './hierarchy.component.html',\n styleUrls: ['./hierarchy.component.scss'],\n})\nexport class HierarchyComponent implements OnInit, OnDestroy {\n @Input() type: string;\n @Input() data: Array = [];\n @Input() selectedFilters: Observable;\n @Output() selected: EventEmitter;\n @Input() settingsMode: boolean = false;\n\n subscriptions: Subscription[] = [];\n visibleChildren: boolean = true;\n selectedList: Set = new Set();\n treeControl = new NestedTreeControl(\n (node) => node.children\n );\n expandToggle: boolean = true;\n dataSource = new MatTreeNestedDataSource();\n bigDataNumber: number = 100;\n bigData: boolean = false;\n\n // icons\n faCaretRight = faCaretRight;\n faCaretDown = faCaretDown;\n faPlus = faPlus;\n faMinus = faMinus;\n faTimes = faTimes;\n faSearch = faSearch;\n\n internalPropertyName = () => {\n return this.type === filterTypes.functions.key ||\n this.type === filterTypes.admorgs.key\n ? 'key'\n : 'id';\n };\n\n constructor(private internalFilterService: InternalFilterService) {\n if (this.settingsMode) {\n this.selected = new EventEmitter();\n } else {\n this.selected = new EventEmitter();\n }\n }\n\n ngOnInit(): void {\n this.selectedList = new Set();\n this.dataSource.data = this.data;\n if (\n this.type === filterTypes.admorgs.key &&\n this.data[0].children[0].key !==\n this.data[0].children[0].children[0].key.trim()\n )\n this.data.forEach((node) => {\n node.children.forEach((child: HierarchyViewNode) => {\n this.addSelfToChildren(child);\n });\n });\n this.selectedFilters.subscribe((filters) => {\n if (this.iscurrentFilterTypeEmpty(filters[this.type])) {\n filters[this.type] = [];\n this.selectedList = new Set();\n } else {\n if (\n this.type == filterTypes.admorgs.key &&\n filters.admorgs !== undefined &&\n filters.admorgs.length > 0\n ) {\n filters.admorgs.forEach((id) => {\n this.data.forEach((parentNode) => {\n let selectedNode = this.findNodeByKey(id.toString(), parentNode);\n if (selectedNode !== undefined) {\n if (selectedNode.children) {\n this.selectChildren(selectedNode.children[0]);\n } else this.selectChildren(selectedNode);\n }\n });\n });\n }\n if (\n this.type == 'functions' &&\n filters.functions !== undefined &&\n filters.functions.length > 0\n ) {\n filters.functions.forEach((id) => {\n this.data.forEach((parentNode) => {\n let selectedNode = this.findNodeByKey(id.toString(), parentNode);\n if (selectedNode !== undefined) {\n this.selectChildren(selectedNode);\n }\n });\n });\n }\n if (\n this.type == 'costTypes' &&\n filters.costTypes !== undefined &&\n filters.costTypes.length > 0\n ) {\n filters.costTypes.forEach((id) => {\n this.data.forEach((parentNode) => {\n let selectedNode = this.findNodeById(id, parentNode);\n if (selectedNode !== undefined && selectedNode.id === id) {\n this.selectChildren(selectedNode);\n }\n });\n });\n }\n }\n });\n this.dataSource.data.forEach((node) => {\n this.expandToSelectedNodes(node);\n });\n }\n private findNodeByKey(\n key: string,\n node: HierarchyViewNode\n ): HierarchyViewNode {\n if (node.key.trim() === key) {\n return node;\n } else if (node.children) {\n let oldNode: HierarchyViewNode = node;\n node = undefined;\n oldNode.children.forEach((child) => {\n if (node === undefined) {\n node = this.findNodeByKey(key, child);\n }\n });\n return node;\n }\n return undefined;\n }\n\n private findNodeById(id: number, node: HierarchyViewNode): HierarchyViewNode {\n if (node.id === id) {\n return node;\n } else if (node.children) {\n let oldNode: HierarchyViewNode = node;\n node = undefined;\n oldNode.children.forEach((child) => {\n if (node === undefined) {\n node = this.findNodeById(id, child);\n }\n });\n return node;\n }\n return undefined;\n }\n toggleNode(node: HierarchyViewNode) {\n if (this.isNodeSelected(node)) {\n if (node.children && node.children.length > 0) {\n node.children.map((c) => this.unSelectChildren(c));\n } else {\n this.selectedList.delete(node.key);\n }\n } else {\n if (node.children && node.children.length > 0) {\n this.expand(node);\n node.children.map((c) => this.selectChildren(c));\n } else {\n this.selectedList.add(node.key);\n }\n }\n this.update();\n }\n selectChildren(node: HierarchyViewNode) {\n if (node.children && node.children.length > 0) {\n node.children.map((c) => {\n this.selectChildren(c);\n });\n } else {\n if (!this.selectedList.has(node.key)) {\n this.selectedList.add(node.key);\n }\n }\n }\n\n unSelectChildren(node: HierarchyViewNode) {\n if (node.children && node.children.length > 0) {\n node.children.map((c) => this.unSelectChildren(c));\n } else {\n if (this.selectedList.has(node.key)) {\n this.selectedList.delete(node.key);\n }\n }\n }\n expand(node: HierarchyViewNode) {\n if (this.expandToggle) {\n this.treeControl.expand(node);\n if (node.children !== null)\n node.children.forEach((child) => this.expand(child));\n }\n }\n checkNumberofNodes(): boolean {\n let count: number = 0;\n this.data.forEach((node) => {\n count = count + 1;\n if (node.children !== null)\n node.children.forEach((child) => {\n count = count + 1;\n if (child.children !== null)\n child.children.forEach((grandchild) => {\n count = count + 1;\n });\n });\n console.log(count);\n if (count > this.bigDataNumber) return true;\n });\n\n return false;\n }\n\n isNodeSelected(node: HierarchyViewNode): boolean {\n return this.selectedList.has(node.key) || this.areAllChildrenSelected(node);\n }\n\n public areAllChildrenSelected(node: HierarchyViewNode, mode?: string) {\n return (\n this.isAnyChildChecked(false, node) &&\n !this.isAnyChildUnchecked(false, node)\n );\n }\n private isAnyChildChecked(\n anyCheckedSoFar: boolean,\n node: HierarchyViewNode\n ): boolean {\n if (node.children && node.children.length > 0 && !anyCheckedSoFar) {\n node.children.forEach((child) => {\n if (this.isNodeSelected(child)) anyCheckedSoFar = true;\n if (!anyCheckedSoFar)\n anyCheckedSoFar = this.isAnyChildChecked(anyCheckedSoFar, child);\n });\n return anyCheckedSoFar;\n }\n }\n private isAnyChildUnchecked(\n anyUncheckedSoFar: boolean,\n node: HierarchyViewNode\n ): boolean {\n if (node.children && node.children.length > 0 && !anyUncheckedSoFar) {\n node.children.forEach((child) => {\n if (!this.isNodeSelected(child)) anyUncheckedSoFar = true;\n if (!anyUncheckedSoFar)\n anyUncheckedSoFar = this.isAnyChildUnchecked(\n anyUncheckedSoFar,\n child\n );\n });\n return anyUncheckedSoFar;\n }\n }\n isNodeIndeterminate(node: HierarchyViewNode): boolean {\n return (\n this.isAnyChildChecked(false, node) &&\n this.isAnyChildUnchecked(false, node)\n );\n }\n private addSelfToChildren(node: HierarchyViewNode): void {\n if (node.children !== null && node.children.length > 0) {\n let newNode: HierarchyViewNode = {\n customerId: node.customerId,\n id: node.id,\n key: node.key + ' ',\n name: node.name,\n children: null,\n };\n node.children.unshift(newNode);\n node.children.forEach((child) => {\n if (child.children) {\n node.children[\n node.children.findIndex((x) => x.key === child.key)\n ].key = child.key + ' ';\n }\n this.addSelfToChildren(child);\n });\n }\n }\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n private update(): void {\n const list = [];\n if (this.type == 'costTypes') {\n this.selectedList.forEach((key) =>\n this.data.forEach((node) => {\n let selectedNode = this.findNodeByKey(key, node);\n if (selectedNode !== undefined && !list.includes(selectedNode.id)) {\n list.push(selectedNode.id);\n }\n })\n );\n } else {\n this.selectedList.forEach((key) => list.push(key.trim()));\n }\n this.internalFilterService.updateSideFilter(this.type, list);\n }\n\n private iscurrentFilterTypeEmpty(selectedFilter): boolean {\n return (\n selectedFilter?.length === 0 ||\n selectedFilter === null ||\n selectedFilter === undefined\n );\n }\n\n private expandToSelectedNodes(node: HierarchyViewNode): void {\n if (node.children !== null && this.isAnyChildChecked(false, node)) {\n this.expand(node);\n node.children.forEach((child) => this.expandToSelectedNodes(child));\n }\n }\n\n public hasChild = (_: number, node: HierarchyViewNode) => {\n return !!node.children && node.children.length > 0;\n };\n}\n","
\n \n Fold ud\n \n
\n\n\n \n
  • \n \n \n \n \n \n {{node.key}} {{node.name}}\n \n
  • \n
    \n \n
  • \n
    \n \n \n \n {{node.key}}\n {{node.name}}\n \n
    \n
      \n \n
    \n
  • \n
    \n\n
    ","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { AnalysisFilter, PostingFilter } from 'src/app/api/vat';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-keyword',\n templateUrl: './keyword.component.html',\n styleUrls: ['./keyword.component.scss'],\n})\nexport class KeywordComponent implements OnInit, OnDestroy {\n faTrash = faTrash;\n searchWord: string;\n @Input() type: string;\n @Input() selectedFilters: Observable;\n public selectedNodes: string[] = [];\n subscriptions: Subscription[] = [];\n constructor(private internalFilterService: InternalFilterService) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.selectedFilters.subscribe((filters) => {\n if (this.isSelectedFilterEmpty(filters[this.type])) {\n filters[this.type] = [];\n }\n\n this.updateInternalFilterSelection(filters[this.type]);\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n AddSearchWordToSelectedNodes(): void {\n const exists = this.selectedNodes.includes(this.searchWord);\n if (!exists && this.searchWord !== '') {\n this.selectedNodes.push(this.searchWord);\n }\n this.updateFilter();\n this.searchWord = '';\n }\n\n private updateInternalFilterSelection(selectedData: string[]) {\n this.selectedNodes = selectedData as string[];\n }\n\n public deleteSelectedNode(node: string): void {\n const index = this.selectedNodes.indexOf(node as string);\n\n if (index > -1) {\n this.selectedNodes.splice(index, 1);\n }\n\n this.updateFilter();\n }\n\n private updateFilter() {\n this.internalFilterService.updateSideFilter(this.type, this.selectedNodes);\n }\n\n private isSelectedFilterEmpty(selectedFilter): boolean {\n return selectedFilter === undefined || selectedFilter === null;\n }\n}\n","\n Søg her...\n \n\n\n\n \n
    \n {{ selectedNode }}\n
    \n
    \n \n
    \n
    \n
    \n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormControl, Validators } from '@angular/forms';\nimport { faTrash } from '@fortawesome/free-solid-svg-icons';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { FilterService } from '@vat/vat-webapi';\nimport { AnalysisFilter, KeyValuePairOfStringAndString, Period, PostingFilter, TextFilter } from 'src/app/api/vat';\nimport { Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport config from 'src/assets/config.json';\nimport filterTypes from 'src/assets/filterTypes.json';\n\nexport interface ListData {\n key: string;\n dataValue: string;\n checkboxSelected: boolean;\n}\n\nenum ListTypes {\n SUPPLIERS = 'suppliers',\n ANNEXNOS = 'annexNos',\n ACCOUNTNOS = 'accountNos',\n PROFITCENTERS = 'profitCenter',\n VATTYPES = 'vatTypes',\n}\n@Component({\n selector: 'app-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n})\nexport class ListComponent implements OnInit, OnDestroy {\n faTrash = faTrash;\n @Input() type: string;\n filterPeriods: Period[] = [];\n @Input() selectedFilters: Observable;\n\n public selectedNodes: string[] | KeyValuePairOfStringAndString[] = [];\n public searchValues: ListData[] = [];\n searchControl: UntypedFormControl;\n subscriptions: Subscription[] = [];\n\n private analysisIds: number[] = [];\n private minLength = () => {\n switch (this.type) {\n case ListTypes.VATTYPES:\n return 1;\n\n case ListTypes.SUPPLIERS:\n return 2;\n\n default:\n return 3;\n }\n };\n\n constructor(\n private filterService: FilterService,\n private internalFilterService: InternalFilterService\n ) {}\n\n ngOnInit(): void {\n this.searchControl = new UntypedFormControl(\n '',\n Validators.minLength(this.minLength())\n );\n this.searchControl.updateValueAndValidity();\n\n this.subscriptions.push(\n this.selectedFilters.subscribe((filters) => {\n this.initFilterType();\n this.filterPeriods = filters.periods;\n this.analysisIds = filters[filterTypes.analysisIds.key] ?? [];\n\n if (this.analysisIds.length === 0 && filters['analysisId'])\n this.analysisIds.push(filters['analysisId']);\n\n this.filterPeriods = filters.periods;\n if (this.isSelectedFilterEmpty(filters[this.type])) {\n filters[this.type] = [];\n }\n\n this.updateInternalFilterSelection(filters[this.type]);\n })\n );\n\n this.loadSubscribtion();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n clearCheckBoxSelection() {\n this.searchValues.forEach((value) => {\n value.checkboxSelected = false;\n });\n }\n\n initFilterType() {\n if (this.isKeyValuePairType()) {\n (this.selectedNodes as KeyValuePairOfStringAndString[]) =\n new Array();\n } else {\n (this.selectedNodes as string[]) = [];\n }\n }\n\n private isSelectedFilterEmpty(selectedFilter): boolean {\n return selectedFilter === undefined || selectedFilter === null;\n }\n\n private updateInternalFilterSelection(\n selectedData: KeyValuePairOfStringAndString[] | string[]\n ) {\n if (this.isKeyValuePairType()) {\n this.selectedNodes = selectedData as KeyValuePairOfStringAndString[];\n } else {\n this.selectedNodes = selectedData as string[];\n }\n }\n\n public isKeyValuePairType = () =>\n this.type === ListTypes.SUPPLIERS || this.type === ListTypes.PROFITCENTERS;\n\n private updateFilter(): void {\n this.internalFilterService.updateSideFilter(this.type, this.selectedNodes);\n }\n\n private loadSubscribtion(): void {\n this.subscriptions.push(\n this.searchControl.valueChanges\n .pipe(distinctUntilChanged(), debounceTime(config.DebounceTime))\n .subscribe((searchValue) => {\n if (this.searchControl.valid && this.searchControl.value !== '') {\n switch (this.type) {\n case ListTypes.SUPPLIERS:\n this.getSuppliers(searchValue);\n break;\n case ListTypes.ANNEXNOS:\n this.getAnnexNos(searchValue);\n break;\n case ListTypes.ACCOUNTNOS:\n this.getAccountNos(searchValue);\n break;\n case ListTypes.PROFITCENTERS:\n this.getProfitCenters(searchValue);\n break;\n case ListTypes.VATTYPES:\n this.getVatTypes(searchValue);\n break;\n default:\n break;\n }\n } else {\n this.searchValues = [];\n }\n })\n );\n }\n\n private getSuppliers(searchValue: string): void {\n if (searchValue && searchValue.length > 0) {\n this.subscriptions.push(\n this.filterService\n .filterGetSuppliers(null, null, this.convertToTextFilter(searchValue))\n .subscribe((suppliers: Array) => {\n this.searchValues = this.convertToListData(suppliers);\n })\n );\n }\n }\n\n private getAnnexNos(searchValue: string): void {\n if (searchValue && searchValue.length > 0) {\n this.subscriptions.push(\n this.filterService\n .filterGetAnnexNos(null, null, this.convertToTextFilter(searchValue))\n .subscribe((annexNos: string[]) => {\n this.searchValues = this.convertToListData(annexNos);\n })\n );\n }\n }\n\n private getAccountNos(searchValue: string): void {\n if (searchValue && searchValue.length > 0) {\n this.subscriptions.push(\n this.filterService\n .filterGetAccounts(null, null, this.convertToTextFilter(searchValue))\n .subscribe((accountNos: string[]) => {\n this.searchValues = this.convertToListData(accountNos);\n })\n );\n }\n }\n\n private getVatTypes(searchValue: string): void {\n if (searchValue && searchValue.length > 0) {\n this.subscriptions.push(\n this.filterService\n .filterGetVatTypes(null, null, this.convertToTextFilter(searchValue))\n .subscribe((vattypes: string[]) => {\n this.searchValues = this.convertToListData(vattypes);\n })\n );\n }\n }\n\n private getProfitCenters(searchValue: string): void {\n this.subscriptions.push(\n this.filterService\n .filterGetProfitCenters(\n null,\n null,\n this.convertToTextFilter(searchValue)\n )\n .subscribe((result: Array) => {\n this.searchValues = this.convertToListData(result);\n })\n );\n }\n\n private convertToTextFilter(search: string): TextFilter {\n return {\n analysisIds: this.analysisIds,\n text: search,\n periods: this.filterPeriods,\n } as TextFilter;\n }\n\n private convertToListData(\n values: string[] | KeyValuePairOfStringAndString[]\n ): Array {\n const newArray = new Array();\n let isCheckboxSelected: boolean = false;\n if (this.isKeyValuePairType()) {\n (values as KeyValuePairOfStringAndString[]).forEach((value) => {\n isCheckboxSelected = (\n this.selectedNodes as KeyValuePairOfStringAndString[]\n )\n .map((sn) => sn.value)\n .includes(value.value);\n newArray.push({\n key: value.key,\n dataValue: value.value,\n checkboxSelected: isCheckboxSelected,\n });\n });\n } else {\n let key: number = 0;\n (values as string[]).forEach((value: string) => {\n isCheckboxSelected = (this.selectedNodes as string[]).includes(value);\n newArray.push({\n key: key.toString(),\n dataValue: value,\n checkboxSelected: isCheckboxSelected,\n });\n key++;\n });\n }\n return newArray;\n }\n\n public deleteSelectedNode(\n node: KeyValuePairOfStringAndString | string\n ): void {\n let index;\n if (this.isKeyValuePairType()) {\n index = (this.selectedNodes as KeyValuePairOfStringAndString[])\n .map((sn) => sn.key)\n .indexOf((node as KeyValuePairOfStringAndString).key);\n } else {\n index = (this.selectedNodes as string[]).indexOf(node as string);\n }\n if (index > -1) {\n this.selectedNodes.splice(index, 1);\n }\n\n this.updateFilter();\n }\n\n toggleCheckboxSelection(checkBoxOption: ListData) {\n checkBoxOption.checkboxSelected = !checkBoxOption.checkboxSelected;\n }\n\n private AddSelectedOptionToSelectedNodes(option: ListData): void {\n let index: number = -1;\n if (this.isKeyValuePairType()) {\n index = this.getIndex(option);\n if (index === -1)\n (this.selectedNodes as KeyValuePairOfStringAndString[]).push({\n key: option.key,\n value: option.dataValue,\n });\n } else {\n index = this.getIndex(option);\n if (index === -1) (this.selectedNodes as string[]).push(option.dataValue);\n }\n }\n\n private removeSelectedOptionToSelectedNodes(option: ListData): void {\n let index: number = -1;\n if (this.isKeyValuePairType()) {\n index = this.getIndex(option);\n if (index !== -1)\n (this.selectedNodes as KeyValuePairOfStringAndString[]).splice(\n index,\n 1\n );\n } else {\n index = this.getIndex(option);\n if (index !== -1) (this.selectedNodes as string[]).splice(index, 1);\n }\n }\n\n private getIndex(option: ListData): number {\n if (this.isKeyValuePairType()) {\n return (this.selectedNodes as KeyValuePairOfStringAndString[]).findIndex(\n (value) => value.key === option.key\n );\n } else {\n return (this.selectedNodes as string[]).findIndex(\n (value) => value === option.dataValue\n );\n }\n }\n\n isAnyCheckBoxSelected = () =>\n this.searchValues.map((k) => k.checkboxSelected).includes(true);\n\n handleCheckboxSelected() {\n this.searchValues.forEach((searchValue) => {\n if (searchValue.checkboxSelected === true) {\n this.AddSelectedOptionToSelectedNodes(searchValue);\n } else {\n this.removeSelectedOptionToSelectedNodes(searchValue);\n }\n });\n this.searchValues = [];\n this.searchControl.reset();\n this.updateFilter();\n }\n}\n","\n Søg her...\n \n \n
    \n \n \n {{ value.dataValue }}\n \n \n
    \n \n Ingen Resultat\n \n
    \n
    \n\n
    = 3\">\n \n \n
    \n\n\n \n
    \n {{ selectedNode.value }}\n
    \n \n
    \n {{ selectedNode }}\n
    \n
    \n
    \n \n
    \n
    \n
    \n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { DatepickerCustomHeaderComponent } from '../datepicker-custom-header/datepicker-custom-header.component';\nimport { Moment } from 'moment';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\n\nexport const MY_FORMATS = {\n display: {\n dateInput: 'DD MMM',\n },\n};\n\n@Component({\n selector: 'app-month-picker',\n templateUrl: './month-picker.component.html',\n styleUrls: ['./month-picker.component.scss'],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }],\n})\nexport class MonthPickerComponent implements OnInit, OnChanges {\n @Input() selectedDate: Moment;\n @Input() label: Date;\n @Input() min: Date;\n @Input() max: Date;\n @Output() selection = new EventEmitter();\n customHeader = DatepickerCustomHeaderComponent;\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('selectedDate' in changes) {\n // For getting all dates in Year, we use 2020, because it has leap year.\n const staticYear: number = 2020;\n this.selectedDate = this.selectedDate.year(staticYear);\n }\n }\n chosenMonthHandler(normalizedDate: Moment): void {\n this.selection.emit(normalizedDate);\n }\n}\n","\n\n {{label}}\n \n \n \n \n\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { Moment } from 'moment';\nimport moment from 'moment';\nimport { AnalysisFilter, FinancialYear, Period, PostingFilter } from 'src/app/api/vat';\nimport { Observable, Subscription } from 'rxjs';\nimport { FilterDataService } from '@modules/filter/services/filter-data.service';\nimport { CommonHelper } from '@modules/commons/helpers/common-helpers';\n\n@Component({\n selector: 'app-period',\n templateUrl: './period.component.html',\n styleUrls: ['./period.component.scss'],\n})\nexport class PeriodComponent implements OnInit, OnDestroy {\n from: Moment;\n to: Moment;\n\n @Input() selectedFilters: Observable;\n @Input() financialYears: FinancialYear[] = [];\n selectedPeriods: Period[] = [];\n isUpdateButtonDisable: boolean = true;\n private selectedYears: number[] = [];\n\n subscriptions: Subscription[] = [];\n\n public isMonthJanuary: boolean = CommonHelper.isMonthJanuary();\n\n constructor(\n private internalFilterService: InternalFilterService,\n private filterDataService: FilterDataService\n ) {}\n\n ngOnInit() {\n this.subscriptions.push(\n this.selectedFilters.subscribe((filters) => {\n if (this.hasAnyFinancialYearData()) {\n if (filters.periods !== null) {\n this.from = moment(filters.periods[0].fromDate);\n this.to = moment(filters.periods[0].toDate);\n this.selectedPeriods = filters.periods;\n if (\n this.internalFilterService.isPeriodsRangeSelected(filters.periods)\n ) {\n this.selectedYears = [];\n } else {\n this.selectedYears = this.getYearsFromPeriod(filters.periods);\n }\n }\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n public selectionYearChange(\n event: MatCheckbox,\n financialYear: FinancialYear\n ): void {\n this.selectedPeriods = [];\n const index = this.selectedYears.indexOf(financialYear.year);\n if (index > -1) {\n this.selectedYears.splice(index, 1);\n } else {\n this.selectedYears.push(financialYear.year);\n }\n\n this.selectedPeriods = this.buildPeriods();\n\n this.isUpdateButtonDisable = false;\n }\n\n hasAnyFinancialYearData() {\n return (\n this.financialYears\n ?.map((s) => s.yearExists)\n .findIndex((k) => k === true) !== -1\n );\n }\n\n private buildPeriods(): Period[] {\n let periods: Period[] = [];\n if (this.selectedYears.length === 0) {\n periods = this.internalFilterService.getRangedPeriod(\n this.financialYears.length\n );\n } else {\n this.selectedYears.forEach((year) => {\n periods.push({\n financialYear: year,\n fromDate: this.eraseTimeZoneOffSet(\n new Date(year, this.from.get('month'), this.from.get('date'))\n ),\n toDate: this.eraseTimeZoneOffSet(\n new Date(year, this.to.get('month'), this.to.get('date'))\n ),\n });\n });\n }\n\n return periods;\n }\n\n private getYearsFromPeriod(periods: Period[]): number[] {\n const years = periods.map((s) => s.financialYear);\n if (years.includes(NaN)) return [];\n\n return years;\n }\n\n public getFromDate(date: Moment): void {\n this.from = date;\n const periods: Period[] = [];\n this.selectedPeriods.forEach((period) => {\n periods.push({\n financialYear: period.financialYear,\n fromDate: this.changeMonthInPeriod(period.fromDate, date),\n toDate: period.toDate,\n });\n });\n this.selectedPeriods = periods;\n }\n\n public getToDate(date: Moment): void {\n this.to = date;\n const periods: Period[] = [];\n this.selectedPeriods.forEach((period) => {\n periods.push({\n financialYear: period.financialYear,\n fromDate: period.fromDate,\n toDate: this.changeMonthInPeriod(period.toDate, date),\n });\n });\n this.selectedPeriods = periods;\n }\n\n private changeMonthInPeriod(periodDate: string, date: Moment): string {\n const formatedDate = new Date(\n new Date(periodDate).getFullYear(),\n date.get('month'),\n date.get('date')\n );\n this.isUpdateButtonDisable = false;\n return this.eraseTimeZoneOffSet(formatedDate);\n }\n\n public isYearSelected(financialYear: FinancialYear): boolean {\n const index = this.selectedYears.indexOf(financialYear.year);\n return index === -1 ? false : true;\n }\n\n public updateFilter(): void {\n this.filterDataService.updatePrimaryFilterDate(this.selectedPeriods);\n this.internalFilterService.updatePeriodFilter(this.selectedPeriods);\n this.isUpdateButtonDisable = true;\n }\n\n private eraseTimeZoneOffSet(periodDate: Date): string {\n const UTCDate =\n Date.UTC(\n periodDate.getFullYear(),\n periodDate.getMonth(),\n periodDate.getDate()\n ) - periodDate.getTimezoneOffset();\n return new Date(UTCDate)?.toISOString();\n }\n}\n","
    \n
    \n \n {{ financialYear.year }}\n \n
    \n
    \n
    \n \n \n \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n// Material\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport {\n DateAdapter,\n MatNativeDateModule,\n MatRippleModule,\n MAT_DATE_LOCALE,\n} from '@angular/material/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSelectModule } from '@angular/material/select';\n// Custom modules\nimport { FavoritesModule } from '@modules/favorites/favorites.module';\nimport { CommonsModule } from '@modules/commons/commons.module';\n\n// Components\nimport { FilterComponent } from './components/filter/filter.component';\nimport { ChosenFiltersBarComponent } from './components/chosen-filters-bar/chosen-filters-bar.component';\nimport { HierarchyComponent } from './components/hierarchy/hierarchy.component';\nimport { ListComponent } from './components/list/list.component';\nimport { PeriodComponent } from './components/period/period.component';\nimport { CheckboxListComponent } from './components/checkbox-list/checkbox-list.component';\nimport { MonthPickerComponent } from './components/month-picker/month-picker.component';\nimport { DatepickerCustomHeaderComponent } from './components/datepicker-custom-header/datepicker-custom-header.component';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { KeywordComponent } from './components/keyword/keyword.component';\n\n@NgModule({\n declarations: [\n FilterComponent,\n ChosenFiltersBarComponent,\n HierarchyComponent,\n ListComponent,\n PeriodComponent,\n CheckboxListComponent,\n MonthPickerComponent,\n DatepickerCustomHeaderComponent,\n KeywordComponent,\n ],\n imports: [\n CommonModule,\n MatExpansionModule,\n MatCheckboxModule,\n MatIconModule,\n MatButtonModule,\n FontAwesomeModule,\n MatInputModule,\n MatChipsModule,\n FavoritesModule,\n MatTreeModule,\n FormsModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatRippleModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatListModule,\n MatTooltipModule,\n MatSelectModule,\n CommonsModule,\n MatSlideToggleModule,\n ],\n exports: [FilterComponent, ChosenFiltersBarComponent, HierarchyComponent],\n providers: [\n { provide: MAT_DATE_LOCALE, useValue: 'da-DK' },\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n ],\n})\nexport class FilterModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject, Subscribable } from 'rxjs';\n\nexport interface headerChip {\n filter: any;\n type: string;\n headline: string;\n removable: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FilterBarService {\n public filterBarState: BehaviorSubject = new BehaviorSubject(\n true\n );\n\n private _headerChip: Subject = new Subject();\n public headerChip: Observable = this._headerChip.asObservable();\n\n constructor() {}\n\n setHeaderChip(chip: headerChip) {\n this._headerChip.next(chip);\n }\n\n toggleFilterBar(show: boolean = null) {\n if (show === null) {\n this.filterBarState.next(!this.filterBarState.value);\n } else {\n this.filterBarState.next(show);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport {\n FilterService,\n PrimaryFilter,\n Period,\n Customer,\n} from 'src/app/api/vat';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FilterDataService {\n private primaryFilter$: BehaviorSubject =\n new BehaviorSubject({ periods: null });\n public primaryFilter: Observable =\n this.primaryFilter$.asObservable();\n\n constructor(\n private filterService: FilterService,\n private internalCurrentCustomerService: InternalCurrentCustomerService\n ) {\n this.internalCurrentCustomerService.customer.subscribe(\n (customer: Customer) => {\n this.primaryFilter$.next({ periods: null });\n this.updatePrimaryFilterDate();\n }\n );\n }\n\n public updatePrimaryFilterDate(periods: Period[] = []) {\n if (this.isPeriodChanged(periods)) {\n this.resetForLoading(this.primaryFilter$.getValue());\n this.filterService\n .getPrimaryFilter(periods)\n .subscribe((primaryFilter: PrimaryFilter) => {\n this.primaryFilter$.next(primaryFilter);\n });\n }\n }\n\n private resetForLoading(primaryFilter: PrimaryFilter) {\n primaryFilter.functions = [];\n primaryFilter.costTypes = [];\n primaryFilter.admorgs = [];\n primaryFilter.analyzes = [];\n }\n\n private isPeriodChanged = (periods: Period[]) =>\n this.primaryFilter$.getValue().periods?.sort() !== periods?.sort();\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\nimport storeKeys from '@modules/store/localStorageKeys.json';\nimport {\n AnalysisFilter,\n Customer,\n PagingModel,\n Period,\n PostingFilter,\n PostingService,\n} from 'src/app/api/vat';\n//import { AnalysisFilter, Customer, PagingModel, Period, PostingFilter, PostingService } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { LatestDetail } from 'src/app/global-models';\nimport configJson from 'src/assets/config.json';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InternalFilterService {\n postingFilterChanged: boolean = true;\n\n private analysisFilter$: BehaviorSubject =\n new BehaviorSubject(this.setDefaultAnalysisFilter());\n private sideFilter;\n private postingFilter$: BehaviorSubject =\n new BehaviorSubject(this.setDefaultPostingFilter());\n public sideFilterChanged$: BehaviorSubject =\n new BehaviorSubject(false);\n\n public analysisFilter: Observable =\n this.analysisFilter$.asObservable();\n public postingFilter: Observable =\n this.postingFilter$.asObservable();\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private postingService: PostingService,\n private localStorageService: LocalStorageService\n ) {\n const path = this.activatedRoute.children[0].routeConfig.path;\n if (path === 'posteringer/:analysisId') {\n this.getlatestBackendPostingFilter();\n }\n }\n\n public updateTypeFilter(type: string, selectedNodes) {\n this.postingFilterChanged = true;\n const filter = this.getCurrentFilter();\n if (selectedNodes === null || selectedNodes.length < 0) filter[type] = [];\n else filter[type] = selectedNodes;\n this.updateBehaviorSubjectFilter(filter);\n }\n\n public updateSideFilter(type: string, selectedNodes) {\n this.sideFilter = this.getCurrentFilter();\n this.postingFilterChanged = true;\n this.sideFilterChanged$.next(true);\n if (selectedNodes === null || selectedNodes.length < 0)\n this.sideFilter[type] = [];\n else this.sideFilter[type] = selectedNodes;\n }\n public searchOnSideFilter() {\n this.sideFilterChanged$.next(false);\n this.updateBehaviorSubjectFilter(this.sideFilter);\n }\n\n public updatePagingModelOnPostingFilter(\n pagingModel: PagingModel,\n analysisId: number\n ): void {\n const filter = this.postingFilter$.getValue();\n this.postingFilterChanged = this.pageModelHasChanged(pagingModel);\n filter.pageModel = pagingModel;\n filter.analysisId = analysisId;\n this.requestPostingFilterUpdate(filter);\n }\n\n public updatePostingFilters(postingFilter: PostingFilter): void {\n this.requestPostingFilterUpdate(postingFilter);\n }\n\n updatePostingFilterFromAnalysisFilter(analysisId: number): void {\n const analysisFilter = this.analysisFilter$.getValue();\n const postingFilter: PostingFilter = {\n analysisId: analysisId,\n periods: analysisFilter.periods,\n };\n postingFilter.sortBy = {\n propertyName: null,\n ascending: analysisFilter.sortBy.ascending,\n };\n postingFilter.pageModel = null;\n\n Object.getOwnPropertyNames(analysisFilter).forEach((property) => {\n if (property !== 'sortBy' && property !== 'period') {\n postingFilter[property] = analysisFilter[property];\n }\n });\n this.requestPostingFilterUpdate(postingFilter);\n }\n\n updateAnalysisFilterFromPostingFilter(postingFilter: PostingFilter): void {\n const analysisFilter: AnalysisFilter = {\n periods: postingFilter.periods,\n };\n\n analysisFilter.sortBy = {\n propertyName: null,\n ascending: postingFilter.sortBy.ascending,\n };\n\n Object.getOwnPropertyNames(postingFilter).forEach((property) => {\n if (\n property !== 'sortBy' &&\n property !== 'period' &&\n property &&\n property !== 'analysisIds' &&\n property !== 'analysisId'\n ) {\n analysisFilter[property] = postingFilter[property];\n }\n });\n this.analysisFilter$.next(analysisFilter);\n }\n\n private getlatestBackendPostingFilter(): void {\n const customerId = this.getCurrentCustomerId();\n const analysisId = this.localStorageService\n .getObject(storeKeys.LatestAnalysisStorageKey)\n .filter((l) => l.customerId === customerId)[0].analysisId;\n if (analysisId > -1) {\n this.postingService\n .getPostingFilterByAnalysisId(analysisId)\n .subscribe((postingFilter: PostingFilter) => {\n this.requestPostingFilterUpdate(postingFilter);\n });\n }\n }\n\n private getCurrentCustomerId(): string {\n return (\n (\n this.localStorageService.getObject(\n storeKeys.CurrentSelectedCustomerStorageKey\n ) as Customer\n )?.customerId?.toString() ?? ''\n );\n }\n\n public resetAllFiltersToDefault(): void {\n let filter = this.getCurrentFilter();\n filter = this.setDefaultAnalysisFilter();\n this.analysisFilter$.next(filter);\n filter = this.setDefaultPostingFilter((filter as PostingFilter).analysisId);\n this.requestPostingFilterUpdate(filter);\n }\n\n public removeAllFilters() {\n let filter = this.getCurrentFilter();\n if (this.activatedRoute.children[0].routeConfig.path === 'analyser') {\n filter = this.setDefaultAnalysisFilter();\n filter.periods = this.getRangedPeriod();\n this.analysisFilter$.next(filter);\n } else {\n filter = this.setDefaultPostingFilter(\n (filter as PostingFilter).analysisId\n );\n filter.periods = this.getRangedPeriod();\n this.requestPostingFilterUpdate(filter);\n }\n }\n\n public updateAnalysisFilters(analysisFilter: AnalysisFilter): void {\n this.analysisFilter$.next(analysisFilter);\n }\n\n public updatePeriodFilter(periods: Period[]): void {\n this.postingFilterChanged = true;\n const filter = this.getCurrentFilter();\n filter.periods = periods;\n this.updateBehaviorSubjectFilter(filter);\n }\n\n private updateBehaviorSubjectFilter(filter): void {\n switch (this.activatedRoute.children[0].routeConfig.path) {\n case 'analyser':\n this.analysisFilter$.next(filter as AnalysisFilter);\n break;\n\n case 'posteringer/:analysisId':\n this.requestPostingFilterUpdate(filter as PostingFilter);\n break;\n\n default:\n break;\n }\n }\n\n public eraseTimeZoneOffSet(periodDateFrom: Date): string {\n const UTCDate =\n Date.UTC(\n periodDateFrom.getFullYear(),\n periodDateFrom.getMonth(),\n periodDateFrom.getDate()\n ) - periodDateFrom.getTimezoneOffset();\n\n return new Date(UTCDate).toISOString();\n }\n\n private getCurrentFilter(): any {\n if (this.activatedRoute.children[0].routeConfig.path === 'analyser') {\n return this.analysisFilter$.getValue();\n } else {\n return this.postingFilter$.getValue();\n }\n }\n\n public isPeriodsRangeSelected(currentPeriods: Period[]): boolean {\n if (currentPeriods.length === 0) {\n return false;\n }\n\n const rangePeriod: Period[] = this.getRangedPeriod();\n return (\n new Date(currentPeriods[0].fromDate).getFullYear() ===\n new Date(rangePeriod[0].fromDate).getFullYear() &&\n new Date(currentPeriods[0].toDate).getFullYear() ===\n new Date(rangePeriod[0].toDate).getFullYear()\n );\n }\n\n public getSelectedPeriodYears(): string {\n const fromYears: number[] = [];\n const toYears: number[] = [];\n this.postingFilter$.getValue().periods.forEach((period) => {\n fromYears.push(parseInt(period.fromDate.substring(0, 4), 0));\n toYears.push(parseInt(period.toDate.substring(0, 4), 0));\n });\n const union: number[] = [...new Set([...fromYears, ...toYears])];\n if (this.isPeriodsRangeSelected(this.postingFilter$.getValue().periods)) {\n return `${union[0]}-${union[1]}`;\n } else {\n let selectedYears = '';\n union.sort().forEach((year, index) => {\n selectedYears += year;\n\n if (index + 1 !== union.length) {\n selectedYears += ', ';\n }\n });\n return selectedYears;\n }\n }\n\n public getRangedPeriod(financialYearsLength = 6): Period[] {\n const currentYear = new Date().getFullYear();\n\n return [\n {\n fromDate: this.eraseTimeZoneOffSet(\n new Date(currentYear - (financialYearsLength - 1), 0, 1)\n ),\n toDate: this.eraseTimeZoneOffSet(new Date(currentYear, 11, 31)),\n } as Period,\n ];\n }\n\n private setDefaultPostingFilter(analysisId = null): PostingFilter {\n this.postingFilterChanged = true;\n return {\n periods: null,\n analysisId: analysisId,\n sortBy: {\n propertyName: null,\n ascending: false,\n },\n pageModel: {\n skip: 0,\n take: configJson.PageSizeBlock,\n },\n };\n }\n\n private setDefaultAnalysisFilter(): AnalysisFilter {\n return {\n periods: null,\n sortBy: {\n propertyName: 'title',\n ascending: true,\n },\n };\n }\n oldFilter: PostingFilter = undefined;\n\n private pageModelHasChanged(pageModel: PagingModel): boolean {\n if (this.oldFilter === undefined) return true;\n if (pageModel === undefined || pageModel === null) return true;\n if (this.oldFilter.pageModel === undefined) return true;\n if (this.oldFilter.pageModel?.skip ?? -1 !== pageModel.skip ?? -1)\n return true;\n if (this.oldFilter.pageModel?.take ?? -1 !== pageModel.take ?? -1)\n return true;\n if (this.oldFilter.pageModel?.sortBy !== pageModel.sortBy ?? '')\n return true;\n if (\n JSON.stringify(this.oldFilter.pageModel.columnFilters) !==\n JSON.stringify(pageModel.columnFilters)\n )\n return true;\n return false;\n }\n\n private filterHasChanged(filter: PostingFilter): boolean {\n if (this.oldFilter === undefined) return true;\n if (this.pageModelHasChanged(filter.pageModel)) return true;\n if (this.oldFilter.analysisId !== filter.analysisId) return true;\n if (this.oldFilter.texts !== filter.texts) return true;\n if (this.oldFilter.annexNos.sort() !== filter.annexNos.sort()) return true;\n if (this.oldFilter.costTypes.sort() !== filter.costTypes.sort())\n return true;\n if (this.oldFilter.dransts.sort() !== filter.dransts.sort()) return true;\n if (this.oldFilter.functions.sort() !== filter.functions.sort())\n return true;\n if (\n this.oldFilter.invoiceAttachments.sort() !==\n filter.invoiceAttachments.sort()\n )\n return true;\n if (this.oldFilter.invoiceTypes.sort() !== filter.invoiceTypes.sort())\n return true;\n if (this.oldFilter.ownerships.sort() !== filter.ownerships.sort())\n return true;\n if (this.oldFilter.periods.sort() !== filter.periods.sort()) return true;\n if (this.oldFilter.reposted.sort() !== filter.reposted.sort()) return true;\n if (this.oldFilter.admorgs.sort() !== filter.admorgs.sort()) return true;\n if (this.oldFilter.companyCodes.sort() !== filter.companyCodes.sort())\n return true;\n return false;\n }\n\n private requestPostingFilterUpdate(filter: PostingFilter): void {\n //has filter changed!\n if (this.postingFilterChanged || this.filterHasChanged(filter)) {\n this.postingFilterChanged = false;\n this.oldFilter = filter;\n this.updateAnalysisFilterFromPostingFilter(filter);\n this.postingFilter$.next(filter);\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FavoriteService } from '@modules/favorites/services/favorite.service';\nimport { Analysis } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-favorites',\n templateUrl: './favorites.component.html',\n styleUrls: ['./favorites.component.scss'],\n})\nexport class FavoritesComponent implements OnInit, OnDestroy {\n favoriteAnalysis: Analysis[];\n subscriptions: Subscription[] = [];\n\n constructor(private favoriteService: FavoriteService) {}\n\n ngOnInit() {\n this.subscriptions.push(\n this.favoriteService.favoriteAnalysis.subscribe((res: Analysis[]) => {\n this.favoriteAnalysis = res;\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","
    \n
    \n
    \n
    Favoritter
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    Du har ingen favoritter
    \n

    Klik på stjernen i hjørnet af en analyse for at tilføje den til dine favoritter.

    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { FaIconLibrary } from '@fortawesome/angular-fontawesome';\nimport { faStar as farStar } from '@fortawesome/free-regular-svg-icons';\nimport { faStar as fasStar } from '@fortawesome/free-solid-svg-icons';\nimport { FavoriteService } from '@modules/favorites/services/favorite.service';\nimport { Analysis } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { FavoriteDetail } from 'src/app/global-models';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent implements OnInit {\n farStar = farStar;\n fasStar = fasStar;\n favoriteAnalysis: Analysis[];\n favoriteDetail: FavoriteDetail[];\n subscriptions: Subscription[] = [];\n mySubscription: Subscription;\n\n constructor(\n library: FaIconLibrary,\n private favoriteService: FavoriteService\n ) {\n // Add multiple icons to the library\n library.addIcons(fasStar, farStar);\n }\n\n ngOnInit() {\n this.subscriptions.push(\n this.favoriteService.favoriteAnalysis.subscribe((res: Analysis[]) => {\n this.favoriteAnalysis = res;\n })\n );\n }\n}\n","
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    ","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Analysis, AnalysisService } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\nimport storeKeys from '@modules/store/localStorageKeys.json';\nimport { LatestDetail } from 'src/app/global-models';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { LoadingTemplateFactoryService } from '@modules/commons/services/loading-template-factory.service';\n\n@Component({\n selector: 'app-latest',\n templateUrl: './latest.component.html',\n styleUrls: ['./latest.component.scss'],\n})\nexport class LatestComponent implements OnInit, OnDestroy {\n\n latestAnalysis: Analysis[] = [];\n subscriptions: Subscription[] = [];\n\n constructor(\n private analysisService: AnalysisService,\n private localStorageService: LocalStorageService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private loadingTemplateFactoryService: LoadingTemplateFactoryService\n ) { }\n\n ngOnInit() {\n this.loadLatest();\n }\n\n private loadLatest(): void {\n const latestAnalysis: LatestDetail[] = this.getLastestByCustomerId();\n if (latestAnalysis.length > 0) {\n const analysisIds = latestAnalysis.map((l) => l.analysisId);\n this.latestAnalysis = this.loadingTemplateFactoryService.createCardAnalyzesTemplate(analysisIds);\n this.subscriptions.push(\n this.analysisService\n .getByIds(analysisIds)\n .subscribe((result: Analysis[]) => {\n const ana: Analysis[] = [];\n const ids = result.map(p => p.analysisId);\n analysisIds.forEach(id => {\n const index = ids.indexOf(id);\n if (index > -1)\n ana.push(result[index]);\n });\n this.latestAnalysis = ana;\n })\n );\n }\n }\n\n private getLastestByCustomerId(): LatestDetail[] {\n const latestDetails =\n this.localStorageService.getObject(\n storeKeys.LatestAnalysisStorageKey\n ) ?? [];\n\n if (latestDetails.length > 0) {\n return latestDetails.filter((f) => f.customerId === this.internalCurrentCustomerService.getCustomerId());\n }\n return latestDetails;\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","
    \n
    \n
    \n
    Senest anvendte
    \n
    \n 0\" [ngIfElse]=\"emptyState\">\n
    \n \n
    \n
    \n \n
    \n
    \n
    Du har ingen senest anvendte analyser
    \n

    Gå til analyse overblikket for at se dine tilgængelige analyser\n

    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { CommonHelper } from '@modules/commons/helpers/common-helpers';\nimport {\n CompletedAnalyzesComponent,\n PeriodicElement,\n} from '@modules/dialog/components/completed-analyzes/completed-analyzes.component';\nimport { SnackbarComponent } from '@modules/shell/components/snackbar/snackbar.component';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport { AnalysisService, AnalysisStatistics, PostingService } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-top-info',\n templateUrl: './top-info.component.html',\n styleUrls: ['./top-info.component.scss'],\n})\nexport class TopInfoComponent implements OnInit, OnDestroy {\n faExternalLinkAlt = faExternalLinkAlt;\n\n yearPickerOptions: number[] = [];\n statistics: AnalysisStatistics = {\n financialYear: null,\n realisedPotential: null,\n remainingPotential: null,\n totalPotential: null,\n latestPostingDate: null,\n reviewStatus: null,\n processedAnalysis: null,\n originalPotential: null,\n lastDataRead: null,\n };\n subscriptions: Subscription[] = [];\n dialogData: PeriodicElement[];\n financialYear: number;\n\n constructor(\n public dialog: MatDialog,\n private analysisService: AnalysisService,\n private postingService: PostingService,\n private notifyService: NotifyService\n ) {\n this.generateArrayOfYears()\n .then((years) => {\n this.yearPickerOptions = years;\n this.postingService.getLatestPostingFinancialYear()\n .subscribe((year: string) => {\n\n if (!this.yearPickerOptions.includes(parseInt(year, 0)))\n this.yearPickerOptions.unshift(parseInt(year, 0));\n\n if (year === null) {\n this.notifyService.notifySnackBarInformation('Der eksisterer ingen data, for den valgte kunde.', 'yellow');\n } else {\n this.financialYear = parseInt(year, 0);\n this.loadData(parseInt(year, 0));\n }\n });\n });\n }\n\n ngOnInit() { }\n\n openCompletedAnalyzesDialog(): void {\n this.dialog.open(CompletedAnalyzesComponent, {\n width: '1100px',\n data: this.dialogData,\n });\n }\n\n loadData(financialYear: number): void {\n this.subscriptions.push(\n this.analysisService\n .getStatistics(financialYear)\n .subscribe((res: AnalysisStatistics) => {\n this.statistics = res;\n\n this.dialogData = [];\n\n this.statistics.processedAnalysis?.forEach((item) => {\n this.dialogData.push({\n analysisId: item.analysis.analysisId,\n title: item.analysis.title,\n processedState: item.processedState,\n realisedPotential: item.analysis.realisedPotential,\n remainingPotential: item.analysis.remainingPotential,\n date: item.processedDate,\n year: item.analysis.financialYears[0],\n });\n });\n this.dialogData.push({\n analysisId: 0,\n title: 'Total',\n processedState: res.reviewStatus,\n realisedPotential: res.realisedPotential,\n remainingPotential: res.remainingPotential,\n date: res.latestPostingDate,\n year: res.financialYear,\n });\n })\n );\n }\n\n private generateArrayOfYears(): Promise {\n return new Promise((resolve, rejects) => {\n const years: number[] = CommonHelper.generateYears();\n resolve(years);\n });\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n}\n","
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n {{statistics.realisedPotential | vatCurrency}}\n
    \n
    \n Realiseret resultat\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.remainingPotential | vatCurrency}}\n
    \n
    \n Rest potentiale\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.originalPotential | vatCurrency}}\n
    \n
    \n Originalt potentiale\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.totalPotential | vatCurrency}}\n
    \n
    \n Samlet potentiale\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.reviewStatus }} %\n
    \n
    \n Status på gennemgang\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.processedAnalysis?.length }} 0\" [icon]=\"faExternalLinkAlt\">\n
    \n
    \n Status på analyser\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.latestPostingDate | date:'dd-MM-YYYY'}}\n
    \n
    \n Data til dato\n
    \n
    \n
    \n
    \n
    \n
    \n {{statistics.lastDataRead | date:'dd-MM-YYYY'}}\n
    \n
    \n Data indlæst\n
    \n
    \n
    \n\n\n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule } from '@angular/forms';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\n\n// Custom modules\nimport { CommonsModule } from '@modules/commons/commons.module';\nimport { AnalyzesModule } from '@modules/analyzes/analyzes.module';\n\n// Components\nimport { HomeComponent } from './components/home/home.component';\nimport { FavoritesComponent } from './components/favorites/favorites.component';\nimport { LatestComponent } from './components/latest/latest.component';\nimport { TopInfoComponent } from './components/top-info/top-info.component';\n\n@NgModule({\n declarations: [\n HomeComponent,\n FavoritesComponent,\n LatestComponent,\n TopInfoComponent,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n FontAwesomeModule,\n RouterModule,\n MatInputModule,\n MatSelectModule,\n FormsModule,\n CommonsModule,\n AnalyzesModule,\n ],\n exports: [HomeComponent],\n})\nexport class HomeModule {}\n","export * from '@modules/label-glossary/Customer-glossary-definitions/opus-definitions';\nexport * from '@modules/label-glossary/Customer-glossary-definitions/prisme-definitions';\nexport * from '@modules/label-glossary/Customer-glossary-definitions/prisme-NY-definition';\nexport * from '@modules/label-glossary/Customer-glossary-definitions/øs-definitions';\n","import {\n faCalendar,\n faFileInvoice,\n faList,\n faUserCog,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ComponentFilterType } from '@modules/filter/classes/component-filter-types';\nimport { Column } from 'src/app/global-models';\nimport filterTypes from 'src/assets/filterTypes.json';\nimport labelVariables from 'src/assets/label-variables.json';\nimport { GlossaryDefinitionHelper } from '../label-helper/glossary-definition-helper';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nexport class OpusDefinition extends GlossaryDefinitionHelper {\n private label;\n constructor(\n private internalCurrentCustomerService: InternalCurrentCustomerService\n ) {\n super();\n this.label = JSON.parse(JSON.stringify(labelVariables));\n this.generateFilterDefinitions();\n this.generateAnalyzeItemDefinitions();\n\n // We are updating the reference of the JSON object, so the method call order is important!\n this.generatePostingTableDefinitions();\n this.generateOverlayDefinitions();\n this.generateReleatedPostingDefinitions();\n this.generatePostingExcelDefinitions();\n this.generateAnalyseExcelDefinitions();\n }\n\n public generateFilterDefinitions(): void {\n this.addFilterDefinition(\n true,\n filterTypes.periods,\n null,\n ComponentFilterType.period,\n faCalendar\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceTypes,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceAttachments,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.costTypes,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.dransts,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.functions,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.ownerships,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.vatTypes,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n let customer = this.internalCurrentCustomerService.getCustomer().customerId;\n if (customer == 107)\n this.addFilterDefinition(\n false,\n filterTypes.companyCodes,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.reposted,\n null,\n ComponentFilterType.checkboxlist,\n faUserCog\n );\n this.addFilterDefinition(\n false,\n filterTypes.texts,\n null,\n ComponentFilterType.keyword,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.annexNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.accountNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.suppliers,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.profitCenter,\n null,\n ComponentFilterType.list,\n faSearch\n );\n }\n\n public generateAnalyzeItemDefinitions() {\n this.addAnalyzeDefinition(this.label.analyzeTitle);\n this.addAnalyzeDefinition(this.label.analyzeFinancialYear);\n this.addAnalyzeDefinition(this.label.analyzeProcessed);\n this.addAnalyzeDefinition(this.label.analyzeOngoing);\n this.addAnalyzeDefinition(this.label.analyzeQuantity);\n this.addAnalyzeDefinition(this.label.analyzeRealisedPotential);\n this.addAnalyzeDefinition(this.label.analyzeRemainingPotential);\n this.addAnalyzeDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingTableDefinitions(): void {\n this.addPostingColumnDefinition(\n this.label.hasNote,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.select,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.bdoAudit,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: null, viewValue: 'Tom' },\n { value: 1, viewValue: '1' },\n { value: 2, viewValue: '2' },\n { value: 3, viewValue: '3' },\n { value: 4, viewValue: '4' },\n { value: 5, viewValue: '5' },\n { value: 6, viewValue: '6' },\n { value: 7, viewValue: '7' },\n { value: 8, viewValue: '8' },\n { value: 9, viewValue: '9' },\n { value: 10, viewValue: '10' },\n { value: 11, viewValue: '11' },\n { value: 12, viewValue: '12' },\n { value: 13, viewValue: '13' },\n { value: 14, viewValue: '14' },\n { value: 15, viewValue: '15' },\n { value: 16, viewValue: '16' },\n { value: 17, viewValue: '17' },\n { value: 18, viewValue: '18' },\n { value: 19, viewValue: '19' },\n { value: 20, viewValue: '20' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.accountNo,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplier,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplierType,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.text,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.function,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.shortArt,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.dranstText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Drift' },\n { value: 2, viewValue: 'Statsrefusion' },\n { value: 3, viewValue: 'Anlæg' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.grouping,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.annexNo,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceNo,\n 'Fakturanr.',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changeDate,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changedByUserName,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountPosted,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatToll,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.vatAmount,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatTollTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.agreementText,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.profitCenterNavn,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountPostedExVat,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.annexTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.financialYear,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.date,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.publicDepartmentType,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 245, viewValue: 'Region' },\n { value: 250, viewValue: 'Primærkommune' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.primaryAnalysisTitle,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountableCpr,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.allocaterInitials,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.annexType,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.costCenter,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.creatorInitials,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.expeditionNo,\n undefined,\n false,\n false,\n false,\n false\n ); // We dont get data this property for now, hidded for futher notice.\n this.addPostingColumnDefinition(\n this.label.ownership,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.pspValue,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reposted,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.companyCode,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.sfaExemption,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.vatType,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceTypeText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Elektronisk Faktura (PIE)' },\n { value: 2, viewValue: 'Elektronisk Kreditnote (PCM)' },\n { value: 3, viewValue: 'Papirbaseret Faktura (PIP)' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.potential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.correctedPotential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.result,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.status,\n undefined,\n false,\n true,\n false,\n true,\n [\n { value: 0, viewValue: 'Ubehandlet' },\n { value: 1, viewValue: 'Behandlet' },\n { value: 3, viewValue: 'Igangværende' },\n ]\n );\n }\n\n public generateOverlayDefinitions(): void {\n this.addPostingOverlayDefinition(this.label.potential);\n this.addPostingOverlayDefinition(this.label.correctedPotential);\n this.addPostingOverlayDefinition(this.label.result);\n this.addPostingOverlayDefinition(this.label.status);\n this.addPostingOverlayDefinition(this.label.amountPosted);\n this.addPostingOverlayDefinition(this.label.amountPostedExVat);\n this.addPostingOverlayDefinition(this.label.amountVatToll);\n this.addPostingOverlayDefinition(this.label.reposted);\n this.addPostingOverlayDefinition(this.label.profitCenterNavn);\n this.addPostingOverlayDefinition(this.label.agreementText);\n this.addPostingOverlayDefinition(this.label.supplier);\n this.addPostingOverlayDefinition(this.label.supplierType);\n this.addPostingOverlayDefinition(this.label.publicDepartmentType);\n this.addPostingOverlayDefinition(this.label.text);\n this.addPostingOverlayDefinition(this.label.costCenter);\n this.addPostingOverlayDefinition(this.label.pspValue);\n this.addPostingOverlayDefinition(this.label.accountNo);\n this.addPostingOverlayDefinition(this.label.ownership);\n this.addPostingOverlayDefinition(this.label.dranstText);\n this.addPostingOverlayDefinition(this.label.shortArt);\n this.addPostingOverlayDefinition(this.label.grouping);\n this.addPostingOverlayDefinition(this.label.function);\n this.addPostingOverlayDefinition(this.label.date);\n this.addPostingOverlayDefinition(this.label.annexNo);\n this.addPostingOverlayDefinition(this.label.annexType);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceTypeText);\n this.addPostingOverlayDefinition(this.label.vatType);\n this.addPostingOverlayDefinition(this.label.sfaExemption);\n this.addPostingOverlayDefinition(this.label.reportingDuty);\n this.addPostingOverlayDefinition(this.label.originalAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.primaryAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.creatorInitials);\n this.addPostingOverlayDefinition(this.label.allocaterInitials);\n this.addPostingOverlayDefinition(this.label.changedByUserName);\n this.addPostingOverlayDefinition(this.label.changeDate);\n this.addPostingOverlayDefinition(this.label.annexTotal);\n this.addPostingOverlayDefinition(this.label.amountVatTollTotal);\n }\n\n public generateReleatedPostingDefinitions(): void {\n this.addReleatedPostingDefinitions(this.label.accountNo);\n this.addReleatedPostingDefinitions(this.label.supplierName);\n this.addReleatedPostingDefinitions(this.label.text);\n this.addReleatedPostingDefinitions(this.label.amountPosted);\n this.addReleatedPostingDefinitions(this.label.amountVatToll);\n this.addReleatedPostingDefinitions(this.label.potential);\n this.addReleatedPostingDefinitions(this.label.status);\n this.addReleatedPostingDefinitions(this.label.profitCenterNavn);\n }\n\n public generateAnalyseExcelDefinitions(): void {\n this.addAnalysisExcelItemDefinition(this.label.analyzeTitle);\n this.addAnalysisExcelItemDefinition(this.label.analyzeFinancialYear);\n this.addAnalysisExcelItemDefinition(this.label.processedAnalyses);\n this.addAnalysisExcelItemDefinition(this.label.analyzeProcessed);\n this.addAnalysisExcelItemDefinition(this.label.analyzeOngoing);\n this.addAnalysisExcelItemDefinition(this.label.analyzeQuantity);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRealisedPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRemainingPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingExcelDefinitions(): void {\n this.postingColumnDefinitions.forEach((column: Column) => {\n if (this.isColumnNotExclude(column.key)) {\n if (column.key !== this.label.grouping['key']) {\n if (this.label[column.key] !== undefined)\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined\n );\n } else {\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined,\n 3\n );\n }\n }\n });\n\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceTypeText,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierNo,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierName,\n undefined\n );\n this.addPostingExcelItemDefinition(this.label.invoice.buyer, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.invoiceNo, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.date, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.ean, undefined);\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountExVat,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.standardRatedAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceVatAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountTotal,\n undefined\n );\n }\n\n private isColumnNotExclude(columnName: string): boolean {\n switch (columnName) {\n case 'hasNote':\n case 'select':\n case 'invoice.invoiceNo':\n return false;\n\n default:\n return true;\n }\n }\n}\n","import {\n faCalendar,\n faFileInvoice,\n faList,\n faUserCog,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ComponentFilterType } from '@modules/filter/classes/component-filter-types';\nimport { Column } from 'src/app/global-models';\nimport filterTypes from 'src/assets/filterTypes.json';\nimport labelVariables from 'src/assets/label-variables.json';\nimport { GlossaryDefinitionHelper } from '../label-helper/glossary-definition-helper';\n\nexport class PrismeNYDefinition extends GlossaryDefinitionHelper {\n private label;\n constructor() {\n super();\n this.label = JSON.parse(JSON.stringify(labelVariables));\n this.generateFilterDefinitions();\n this.generateAnalyzeItemDefinitions();\n\n // We are updating the reference of the JSON object, so the method call order is important!\n this.generatePostingTableDefinitions();\n this.generateOverlayDefinitions();\n this.generateReleatedPostingDefinitions();\n this.generatePostingExcelDefinitions();\n this.generateAnalyseExcelDefinitions();\n }\n\n public generateFilterDefinitions() {\n this.addFilterDefinition(\n true,\n filterTypes.periods,\n null,\n ComponentFilterType.period,\n faCalendar\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceTypes,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceAttachments,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.costTypes,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.dransts,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.functions,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.ownerships,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.reposted,\n null,\n ComponentFilterType.checkboxlist,\n faUserCog\n );\n this.addFilterDefinition(\n false,\n filterTypes.texts,\n null,\n ComponentFilterType.keyword,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.vatTypes,\n 'Momskode',\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.annexNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.accountNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.suppliers,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.profitCenter,\n 'Stednavn',\n ComponentFilterType.list,\n faSearch\n );\n }\n\n public generateAnalyzeItemDefinitions() {\n this.addAnalyzeDefinition(this.label.analyzeTitle);\n this.addAnalyzeDefinition(this.label.analyzeFinancialYear);\n this.addAnalyzeDefinition(this.label.analyzeProcessed);\n this.addAnalyzeDefinition(this.label.analyzeOngoing);\n this.addAnalyzeDefinition(this.label.analyzeQuantity);\n this.addAnalyzeDefinition(this.label.analyzeRealisedPotential);\n this.addAnalyzeDefinition(this.label.analyzeRemainingPotential);\n this.addAnalyzeDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingTableDefinitions(): void {\n this.addPostingColumnDefinition(\n this.label.hasNote,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.select,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.bdoAudit,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: null, viewValue: 'Tom' },\n { value: 1, viewValue: '1' },\n { value: 2, viewValue: '2' },\n { value: 3, viewValue: '3' },\n { value: 4, viewValue: '4' },\n { value: 5, viewValue: '5' },\n { value: 6, viewValue: '6' },\n { value: 7, viewValue: '7' },\n { value: 8, viewValue: '8' },\n { value: 9, viewValue: '9' },\n { value: 10, viewValue: '10' },\n { value: 11, viewValue: '11' },\n { value: 12, viewValue: '12' },\n { value: 13, viewValue: '13' },\n { value: 14, viewValue: '14' },\n { value: 15, viewValue: '15' },\n { value: 16, viewValue: '16' },\n { value: 17, viewValue: '17' },\n { value: 18, viewValue: '18' },\n { value: 19, viewValue: '19' },\n { value: 20, viewValue: '20' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.accountNo,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplier,\n undefined,\n false,\n false,\n true,\n true\n );\n\n this.addPostingColumnDefinition(\n this.label.supplierType,\n 'Leverandør Type',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.internalSupplierNo,\n 'Kreditorkonto',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.text,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.function,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.shortArt,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.dranstText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Drift' },\n { value: 2, viewValue: 'Statsrefusion' },\n { value: 3, viewValue: 'Anlæg' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.grouping,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.annexNo,\n 'Bilag',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceNo,\n 'Fakturanr.',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountPosted,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatToll,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.vatAmount,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatTollTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.agreementText,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.department,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.costCenterName,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.profitCenterNavn,\n 'Stednavn',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountPostedExVat,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.annexTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.financialYear,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.date,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.publicDepartmentType,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 245, viewValue: 'Region' },\n { value: 250, viewValue: 'Primærkommune' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.primaryAnalysisTitle,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountableCpr,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.allocaterInitials,\n 'Kontrolleret af',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changeDate,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changedByUserName,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.costCenter,\n 'Omk. Type',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.creatorInitials,\n 'Konteret af',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.expeditionNo,\n undefined,\n false,\n false,\n false,\n false\n ); // We dont get data this property for now, hidded for futher notice.\n this.addPostingColumnDefinition(\n this.label.ownership,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.pspValue,\n 'Formål',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reference,\n 'Filnavn',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reposted,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.sfaExemption,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.vatType,\n 'Momskode',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceTypeText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Elektronisk Faktura (PIE)' },\n { value: 2, viewValue: 'Elektronisk Kreditnote (PCM)' },\n { value: 3, viewValue: 'Papirbaseret Faktura (PIP)' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber1,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber2,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber3,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber4,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber5,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountRegNumber6,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.var1,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.var2,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.var3,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.var4,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.var5,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.potential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.correctedPotential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.result,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.status,\n undefined,\n false,\n true,\n false,\n true,\n [\n { value: 0, viewValue: 'Ubehandlet' },\n { value: 1, viewValue: 'Behandlet' },\n { value: 3, viewValue: 'Igangværende' },\n ]\n );\n }\n\n public generateOverlayDefinitions(): void {\n this.addPostingOverlayDefinition(this.label.potential);\n this.addPostingOverlayDefinition(this.label.correctedPotential);\n this.addPostingOverlayDefinition(this.label.result);\n this.addPostingOverlayDefinition(this.label.status);\n this.addPostingOverlayDefinition(this.label.amountPosted);\n this.addPostingOverlayDefinition(this.label.amountPostedExVat);\n this.addPostingOverlayDefinition(this.label.amountVatToll);\n this.addPostingOverlayDefinition(this.label.reposted);\n this.addPostingOverlayDefinition(this.label.profitCenterNavn);\n this.addPostingOverlayDefinition(this.label.agreementText);\n this.addPostingOverlayDefinition(this.label.supplier);\n this.addPostingOverlayDefinition(this.label.supplierNo);\n this.addPostingOverlayDefinition(this.label.supplierType);\n this.addPostingOverlayDefinition(this.label.publicDepartmentType);\n this.addPostingOverlayDefinition(this.label.text);\n this.addPostingOverlayDefinition(this.label.costCenter);\n this.addPostingOverlayDefinition(this.label.pspValue);\n this.addPostingOverlayDefinition(this.label.accountNo);\n this.addPostingOverlayDefinition(this.label.ownership);\n this.addPostingOverlayDefinition(this.label.dranstText);\n this.addPostingOverlayDefinition(this.label.shortArt);\n this.addPostingOverlayDefinition(this.label.grouping);\n this.addPostingOverlayDefinition(this.label.function);\n this.addPostingOverlayDefinition(this.label.date);\n this.addPostingOverlayDefinition(this.label.annexNo);\n this.addPostingOverlayDefinition(this.label.annexType);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceType);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceAttachment);\n this.addPostingOverlayDefinition(this.label.vatType);\n this.addPostingOverlayDefinition(this.label.reference);\n this.addPostingOverlayDefinition(this.label.expeditionNo);\n this.addPostingOverlayDefinition(this.label.sfaExemption);\n this.addPostingOverlayDefinition(this.label.reportingDuty);\n this.addPostingOverlayDefinition(this.label.originalAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.primaryAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.creatorInitials);\n this.addPostingOverlayDefinition(this.label.allocaterInitials);\n this.addPostingOverlayDefinition(this.label.changedByUserName);\n this.addPostingOverlayDefinition(this.label.changeDate);\n this.addPostingOverlayDefinition(this.label.annexTotal);\n this.addPostingOverlayDefinition(this.label.amountVatTollTotal);\n }\n\n public generateReleatedPostingDefinitions(): void {\n this.addReleatedPostingDefinitions(this.label.accountNo);\n this.addReleatedPostingDefinitions(this.label.supplierName);\n this.addReleatedPostingDefinitions(this.label.text);\n this.addReleatedPostingDefinitions(this.label.amountPosted);\n this.addReleatedPostingDefinitions(this.label.amountVatToll);\n this.addReleatedPostingDefinitions(this.label.potential);\n this.addReleatedPostingDefinitions(this.label.status);\n this.addReleatedPostingDefinitions(this.label.profitCenterNavn);\n this.addReleatedPostingDefinitions(this.label.reference);\n }\n\n public generateAnalyseExcelDefinitions(): void {\n this.addAnalysisExcelItemDefinition(this.label.analyzeTitle);\n this.addAnalysisExcelItemDefinition(this.label.analyzeFinancialYear);\n this.addAnalysisExcelItemDefinition(this.label.processedAnalyses);\n this.addAnalysisExcelItemDefinition(this.label.analyzeProcessed);\n this.addAnalysisExcelItemDefinition(this.label.analyzeOngoing);\n this.addAnalysisExcelItemDefinition(this.label.analyzeQuantity);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRealisedPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRemainingPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingExcelDefinitions(): void {\n this.postingColumnDefinitions.forEach((column: Column) => {\n if (this.isColumnNotExclude(column.key)) {\n if (column.key !== this.label.grouping['key']) {\n if (this.label[column.key] !== undefined)\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined\n );\n } else {\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined,\n 3\n );\n }\n }\n });\n\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceTypeText,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierNo,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierName,\n undefined\n );\n this.addPostingExcelItemDefinition(this.label.invoice.buyer, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.invoiceNo, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.date, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.ean, undefined);\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountExVat,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.standardRatedAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceVatAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountTotal,\n undefined\n );\n }\n\n private isColumnNotExclude(columnName: string): boolean {\n switch (columnName) {\n case 'hasNote':\n case 'select':\n case 'invoice.invoiceNo':\n return false;\n\n default:\n return true;\n }\n }\n}\n","import {\n faCalendar,\n faFileInvoice,\n faList,\n faUserCog,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ComponentFilterType } from '@modules/filter/classes/component-filter-types';\nimport { Column } from 'src/app/global-models';\nimport filterTypes from 'src/assets/filterTypes.json';\nimport labelVariables from 'src/assets/label-variables.json';\nimport { GlossaryDefinitionHelper } from '../label-helper/glossary-definition-helper';\n\nexport class PrismeDefinition extends GlossaryDefinitionHelper {\n private label;\n constructor() {\n super();\n this.label = JSON.parse(JSON.stringify(labelVariables));\n this.generateFilterDefinitions();\n this.generateAnalyzeItemDefinitions();\n\n // We are updating the reference of the JSON object, so the method call order is important!\n this.generatePostingTableDefinitions();\n this.generateOverlayDefinitions();\n this.generateReleatedPostingDefinitions();\n this.generatePostingExcelDefinitions();\n this.generateAnalyseExcelDefinitions();\n }\n\n public generateFilterDefinitions() {\n this.addFilterDefinition(\n true,\n filterTypes.periods,\n null,\n ComponentFilterType.period,\n faCalendar\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceTypes,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceAttachments,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.costTypes,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.dransts,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.functions,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.ownerships,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.reposted,\n null,\n ComponentFilterType.checkboxlist,\n faUserCog\n );\n this.addFilterDefinition(\n false,\n filterTypes.texts,\n null,\n ComponentFilterType.keyword,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.vatTypes,\n 'Momskode',\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.annexNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.accountNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.suppliers,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.profitCenter,\n 'Sted',\n ComponentFilterType.list,\n faSearch\n );\n }\n\n public generateAnalyzeItemDefinitions() {\n this.addAnalyzeDefinition(this.label.analyzeTitle);\n this.addAnalyzeDefinition(this.label.analyzeFinancialYear);\n this.addAnalyzeDefinition(this.label.analyzeProcessed);\n this.addAnalyzeDefinition(this.label.analyzeOngoing);\n this.addAnalyzeDefinition(this.label.analyzeQuantity);\n this.addAnalyzeDefinition(this.label.analyzeRealisedPotential);\n this.addAnalyzeDefinition(this.label.analyzeRemainingPotential);\n this.addAnalyzeDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingTableDefinitions(): void {\n this.addPostingColumnDefinition(\n this.label.hasNote,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.select,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.bdoAudit,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: null, viewValue: 'Tom' },\n { value: 1, viewValue: '1' },\n { value: 2, viewValue: '2' },\n { value: 3, viewValue: '3' },\n { value: 4, viewValue: '4' },\n { value: 5, viewValue: '5' },\n { value: 6, viewValue: '6' },\n { value: 7, viewValue: '7' },\n { value: 8, viewValue: '8' },\n { value: 9, viewValue: '9' },\n { value: 10, viewValue: '10' },\n { value: 11, viewValue: '11' },\n { value: 12, viewValue: '12' },\n { value: 13, viewValue: '13' },\n { value: 14, viewValue: '14' },\n { value: 15, viewValue: '15' },\n { value: 16, viewValue: '16' },\n { value: 17, viewValue: '17' },\n { value: 18, viewValue: '18' },\n { value: 19, viewValue: '19' },\n { value: 20, viewValue: '20' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.accountNo,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplier,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplierType,\n 'Leverandør Type',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.internalSupplierNo,\n 'Kreditorkonto',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.text,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.function,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.shortArt,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.dranstText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Drift' },\n { value: 2, viewValue: 'Statsrefusion' },\n { value: 3, viewValue: 'Anlæg' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.grouping,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.annexNo,\n 'Bilag',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceNo,\n 'Fakturanr.',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountPosted,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatToll,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.vatAmount,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatTollTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.agreementText,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.changeDate,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changedByUserName,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.profitCenterNavn,\n 'Sted',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountPostedExVat,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.annexTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.financialYear,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.date,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.publicDepartmentType,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 245, viewValue: 'Region' },\n { value: 250, viewValue: 'Primærkommune' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.primaryAnalysisTitle,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountableCpr,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.allocaterInitials,\n 'Kontrolleret af',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.creatorInitials,\n 'Konteret af',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.department,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.costCenterName,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.expeditionNo,\n undefined,\n false,\n false,\n false,\n false\n ); // We dont get data this property for now, hidded for futher notice.\n this.addPostingColumnDefinition(\n this.label.ownership,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reference,\n 'Filnavn',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reposted,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.sfaExemption,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.vatType,\n 'Momskode',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceTypeText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Elektronisk Faktura (PIE)' },\n { value: 2, viewValue: 'Elektronisk Kreditnote (PCM)' },\n { value: 3, viewValue: 'Papirbaseret Faktura (PIP)' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.potential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.correctedPotential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.result,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.status,\n undefined,\n false,\n true,\n false,\n true,\n [\n { value: 0, viewValue: 'Ubehandlet' },\n { value: 1, viewValue: 'Behandlet' },\n { value: 3, viewValue: 'Igangværende' },\n ]\n );\n }\n\n public generateOverlayDefinitions(): void {\n this.addPostingOverlayDefinition(this.label.potential);\n this.addPostingOverlayDefinition(this.label.correctedPotential);\n this.addPostingOverlayDefinition(this.label.result);\n this.addPostingOverlayDefinition(this.label.status);\n this.addPostingOverlayDefinition(this.label.amountPosted);\n this.addPostingOverlayDefinition(this.label.amountPostedExVat);\n this.addPostingOverlayDefinition(this.label.amountVatToll);\n this.addPostingOverlayDefinition(this.label.reposted);\n this.addPostingOverlayDefinition(this.label.agreementText);\n this.addPostingOverlayDefinition(this.label.supplier);\n this.addPostingOverlayDefinition(this.label.supplierNo);\n this.addPostingOverlayDefinition(this.label.supplierType);\n this.addPostingOverlayDefinition(this.label.publicDepartmentType);\n this.addPostingOverlayDefinition(this.label.text);\n this.addPostingOverlayDefinition(this.label.pspValue);\n this.addPostingOverlayDefinition(this.label.accountNo);\n this.addPostingOverlayDefinition(this.label.ownership);\n this.addPostingOverlayDefinition(this.label.dranstText);\n this.addPostingOverlayDefinition(this.label.shortArt);\n this.addPostingOverlayDefinition(this.label.grouping);\n this.addPostingOverlayDefinition(this.label.function);\n this.addPostingOverlayDefinition(this.label.date);\n this.addPostingOverlayDefinition(this.label.annexNo);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceTypeText);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceAttachment);\n this.addPostingOverlayDefinition(this.label.vatType);\n this.addPostingOverlayDefinition(this.label.reference);\n this.addPostingOverlayDefinition(this.label.sfaExemption);\n this.addPostingOverlayDefinition(this.label.reportingDuty);\n this.addPostingOverlayDefinition(this.label.originalAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.primaryAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.creatorInitials);\n this.addPostingOverlayDefinition(this.label.allocaterInitials);\n this.addPostingOverlayDefinition(this.label.changedByUserName);\n this.addPostingOverlayDefinition(this.label.changeDate);\n this.addPostingOverlayDefinition(this.label.annexTotal);\n this.addPostingOverlayDefinition(this.label.amountVatTollTotal);\n }\n\n public generateReleatedPostingDefinitions(): void {\n this.addReleatedPostingDefinitions(this.label.accountNo);\n this.addReleatedPostingDefinitions(this.label.supplierName);\n this.addReleatedPostingDefinitions(this.label.text);\n this.addReleatedPostingDefinitions(this.label.amountPosted);\n this.addReleatedPostingDefinitions(this.label.amountVatToll);\n this.addReleatedPostingDefinitions(this.label.potential);\n this.addReleatedPostingDefinitions(this.label.status);\n this.addReleatedPostingDefinitions(this.label.profitCenterNavn);\n this.addReleatedPostingDefinitions(this.label.reference);\n }\n\n public generateAnalyseExcelDefinitions(): void {\n this.addAnalysisExcelItemDefinition(this.label.analyzeTitle);\n this.addAnalysisExcelItemDefinition(this.label.analyzeFinancialYear);\n this.addAnalysisExcelItemDefinition(this.label.processedAnalyses);\n this.addAnalysisExcelItemDefinition(this.label.analyzeProcessed);\n this.addAnalysisExcelItemDefinition(this.label.analyzeOngoing);\n this.addAnalysisExcelItemDefinition(this.label.analyzeQuantity);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRealisedPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRemainingPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingExcelDefinitions(): void {\n this.postingColumnDefinitions.forEach((column: Column) => {\n if (this.isColumnNotExclude(column.key)) {\n if (column.key !== this.label.grouping['key']) {\n if (this.label[column.key] !== undefined)\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined\n );\n } else {\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined,\n 3\n );\n }\n }\n });\n\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceTypeText,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierNo,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierName,\n undefined\n );\n this.addPostingExcelItemDefinition(this.label.invoice.buyer, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.invoiceNo, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.date, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.ean, undefined);\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountExVat,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.standardRatedAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceVatAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountTotal,\n undefined\n );\n }\n\n private isColumnNotExclude(columnName: string): boolean {\n switch (columnName) {\n case 'hasNote':\n case 'select':\n case 'invoice.invoiceNo':\n return false;\n\n default:\n return true;\n }\n }\n}\n","import {\n faCalendar,\n faFileInvoice,\n faList,\n faUserCog,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ComponentFilterType } from '@modules/filter/classes/component-filter-types';\nimport { Column } from 'src/app/global-models';\nimport filterTypes from 'src/assets/filterTypes.json';\nimport labelVariables from 'src/assets/label-variables.json';\nimport { GlossaryDefinitionHelper } from '../label-helper/glossary-definition-helper';\n\nexport class ØSDefinition extends GlossaryDefinitionHelper {\n private label;\n constructor() {\n super();\n this.label = JSON.parse(JSON.stringify(labelVariables));\n this.generateFilterDefinitions();\n this.generateAnalyzeItemDefinitions();\n\n // We are updating the reference of the JSON object, so the method call order is important!\n this.generatePostingTableDefinitions();\n this.generateOverlayDefinitions();\n this.generateReleatedPostingDefinitions();\n this.generatePostingExcelDefinitions();\n this.generateAnalyseExcelDefinitions();\n }\n\n public generateFilterDefinitions() {\n this.addFilterDefinition(\n true,\n filterTypes.periods,\n null,\n ComponentFilterType.period,\n faCalendar\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceTypes,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n );\n this.addFilterDefinition(\n false,\n filterTypes.invoiceAttachments,\n null,\n ComponentFilterType.checkboxlist,\n faFileInvoice\n ); // TASK:84460 Hidded for now, until further notice .\n this.addFilterDefinition(\n false,\n filterTypes.costTypes,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.dransts,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.functions,\n null,\n ComponentFilterType.hierarchy,\n faList\n );\n\n this.addFilterDefinition(\n false,\n filterTypes.ownerships,\n null,\n ComponentFilterType.checkboxlist,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.admorgs,\n 'Adm. org.',\n ComponentFilterType.hierarchy,\n faList\n );\n this.addFilterDefinition(\n false,\n filterTypes.reposted,\n null,\n ComponentFilterType.checkboxlist,\n faUserCog\n );\n this.addFilterDefinition(\n false,\n filterTypes.texts,\n null,\n ComponentFilterType.keyword,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.vatTypes,\n 'Momskode',\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.annexNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.accountNos,\n null,\n ComponentFilterType.list,\n faSearch\n );\n this.addFilterDefinition(\n false,\n filterTypes.suppliers,\n null,\n ComponentFilterType.list,\n faSearch\n );\n }\n\n public generateAnalyzeItemDefinitions() {\n this.addAnalyzeDefinition(this.label.analyzeTitle);\n this.addAnalyzeDefinition(this.label.analyzeFinancialYear);\n this.addAnalyzeDefinition(this.label.analyzeProcessed);\n this.addAnalyzeDefinition(this.label.analyzeOngoing);\n this.addAnalyzeDefinition(this.label.analyzeQuantity);\n this.addAnalyzeDefinition(this.label.analyzeRealisedPotential);\n this.addAnalyzeDefinition(this.label.analyzeRemainingPotential);\n this.addAnalyzeDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingTableDefinitions(): void {\n this.addPostingColumnDefinition(\n this.label.hasNote,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.select,\n undefined,\n true,\n false,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.bdoAudit,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: null, viewValue: 'Tom' },\n { value: 1, viewValue: '1' },\n { value: 2, viewValue: '2' },\n { value: 3, viewValue: '3' },\n { value: 4, viewValue: '4' },\n { value: 5, viewValue: '5' },\n { value: 6, viewValue: '6' },\n { value: 7, viewValue: '7' },\n { value: 8, viewValue: '8' },\n { value: 9, viewValue: '9' },\n { value: 10, viewValue: '10' },\n { value: 11, viewValue: '11' },\n { value: 12, viewValue: '12' },\n { value: 13, viewValue: '13' },\n { value: 14, viewValue: '14' },\n { value: 15, viewValue: '15' },\n { value: 16, viewValue: '16' },\n { value: 17, viewValue: '17' },\n { value: 18, viewValue: '18' },\n { value: 19, viewValue: '19' },\n { value: 20, viewValue: '20' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.accountNo,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplier,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.supplierType,\n 'Leverandør Type',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changeDate,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.changedByUserName,\n undefined,\n false,\n false,\n false,\n false\n );\n this.addPostingColumnDefinition(\n this.label.internalSupplierNo,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.text,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.function,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.shortArt,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.art,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.dranstText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Drift' },\n { value: 2, viewValue: 'Statsrefusion' },\n { value: 3, viewValue: 'Anlæg' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.grouping,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.accountGrouping,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reference,\n 'Bilagsident',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.annexNo,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceNo,\n 'Fakturanr.',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountPosted,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatToll,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.vatAmount,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountVatTollTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.amountTotal,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.agreementText,\n undefined,\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.profitCenterNavn,\n 'Admorg',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.creatorInitials,\n 'Konteret af',\n false,\n false,\n true,\n true\n );\n this.addPostingColumnDefinition(\n this.label.amountPostedExVat,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.financialYear,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.date,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.publicDepartmentType,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 245, viewValue: 'Region' },\n { value: 250, viewValue: 'Primærkommune' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.primaryAnalysisTitle,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.accountableCpr,\n 'B-skat kode',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.allocaterInitials,\n 'Anviser',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.costCenter,\n 'Afdelingsnummer',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.department,\n 'Kontoens stedniveau',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.expeditionNo,\n undefined,\n false,\n false,\n false,\n false\n ); // We dont get data this property for now, hidded for futher notice.\n this.addPostingColumnDefinition(\n this.label.ownership,\n undefined,\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.pspValue,\n 'Polorg',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.reposted,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.sfaExemption,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 0, viewValue: 'Nej' },\n { value: 1, viewValue: 'Ja' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.vatType,\n 'Momskode',\n false,\n false,\n true,\n false\n );\n this.addPostingColumnDefinition(\n this.label.invoice.invoiceTypeText,\n undefined,\n false,\n false,\n true,\n false,\n [\n { value: 1, viewValue: 'Elektronisk Faktura (PIE)' },\n { value: 2, viewValue: 'Elektronisk Kreditnote (PCM)' },\n { value: 3, viewValue: 'Papirbaseret Faktura (PIP)' },\n ]\n );\n this.addPostingColumnDefinition(\n this.label.potential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.correctedPotential,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.result,\n undefined,\n false,\n true,\n false,\n true\n );\n this.addPostingColumnDefinition(\n this.label.status,\n undefined,\n false,\n true,\n false,\n true,\n [\n { value: 0, viewValue: 'Ubehandlet' },\n { value: 1, viewValue: 'Behandlet' },\n { value: 3, viewValue: 'Igangværende' },\n ]\n );\n }\n\n public generateOverlayDefinitions(): void {\n this.addPostingOverlayDefinition(this.label.potential);\n this.addPostingOverlayDefinition(this.label.correctedPotential);\n this.addPostingOverlayDefinition(this.label.result);\n this.addPostingOverlayDefinition(this.label.status);\n this.addPostingOverlayDefinition(this.label.amountPosted);\n this.addPostingOverlayDefinition(this.label.amountPostedExVat);\n this.addPostingOverlayDefinition(this.label.amountVatToll);\n this.addPostingOverlayDefinition(this.label.reposted);\n this.addPostingOverlayDefinition(this.label.profitCenterNavn);\n this.addPostingOverlayDefinition(this.label.agreementText);\n this.addPostingOverlayDefinition(this.label.supplier);\n this.addPostingOverlayDefinition(this.label.supplierNo);\n this.addPostingOverlayDefinition(this.label.supplierType);\n this.addPostingOverlayDefinition(this.label.publicDepartmentType);\n this.addPostingOverlayDefinition(this.label.text);\n this.addPostingOverlayDefinition(this.label.costCenter);\n this.addPostingOverlayDefinition(this.label.department);\n this.addPostingOverlayDefinition(this.label.pspValue);\n this.addPostingOverlayDefinition(this.label.accountNo);\n this.addPostingOverlayDefinition(this.label.ownership);\n this.addPostingOverlayDefinition(this.label.dranstText);\n this.addPostingOverlayDefinition(this.label.art);\n this.addPostingOverlayDefinition(this.label.shortArt);\n this.addPostingOverlayDefinition(this.label.grouping);\n this.addPostingOverlayDefinition(this.label.accountGrouping);\n this.addPostingOverlayDefinition(this.label.function);\n this.addPostingOverlayDefinition(this.label.date);\n this.addPostingOverlayDefinition(this.label.annexNo);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceTypeText);\n this.addPostingOverlayDefinition(this.label.invoice.invoiceAttachment);\n this.addPostingOverlayDefinition(this.label.vatType);\n this.addPostingOverlayDefinition(this.label.reference);\n this.addPostingOverlayDefinition(this.label.sfaExemption);\n this.addPostingOverlayDefinition(this.label.reportingDuty);\n this.addPostingOverlayDefinition(this.label.originalAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.primaryAnalysisTitle);\n this.addPostingOverlayDefinition(this.label.creatorInitials);\n this.addPostingOverlayDefinition(this.label.allocaterInitials);\n this.addPostingOverlayDefinition(this.label.changedByUserName);\n this.addPostingOverlayDefinition(this.label.changeDate);\n this.addPostingOverlayDefinition(this.label.annexTotal);\n this.addPostingOverlayDefinition(this.label.amountVatTollTotal);\n }\n\n public generateReleatedPostingDefinitions(): void {\n this.addReleatedPostingDefinitions(this.label.accountNo);\n this.addReleatedPostingDefinitions(this.label.supplierName);\n this.addReleatedPostingDefinitions(this.label.text);\n this.addReleatedPostingDefinitions(this.label.amountPosted);\n this.addReleatedPostingDefinitions(this.label.amountVatToll);\n this.addReleatedPostingDefinitions(this.label.potential);\n this.addReleatedPostingDefinitions(this.label.status);\n this.addReleatedPostingDefinitions(this.label.profitCenterNavn);\n this.addReleatedPostingDefinitions(this.label.reference);\n }\n\n public generateAnalyseExcelDefinitions(): void {\n this.addAnalysisExcelItemDefinition(this.label.analyzeTitle);\n this.addAnalysisExcelItemDefinition(this.label.analyzeFinancialYear);\n this.addAnalysisExcelItemDefinition(this.label.processedAnalyses);\n this.addAnalysisExcelItemDefinition(this.label.analyzeProcessed);\n this.addAnalysisExcelItemDefinition(this.label.analyzeOngoing);\n this.addAnalysisExcelItemDefinition(this.label.analyzeQuantity);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRealisedPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeRemainingPotential);\n this.addAnalysisExcelItemDefinition(this.label.analyzeTotalPotential);\n }\n\n public generatePostingExcelDefinitions(): void {\n this.postingColumnDefinitions.forEach((column: Column) => {\n if (this.isColumnNotExclude(column.key)) {\n if (column.key !== this.label.grouping['key']) {\n if (this.label[column.key] !== undefined)\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined\n );\n } else {\n this.addPostingExcelItemDefinition(\n this.label[column.key],\n undefined,\n 3\n );\n }\n }\n });\n\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceTypeText,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierNo,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.supplierName,\n undefined\n );\n this.addPostingExcelItemDefinition(this.label.invoice.buyer, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.invoiceNo, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.date, undefined);\n this.addPostingExcelItemDefinition(this.label.invoice.ean, undefined);\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountExVat,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.standardRatedAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.invoiceVatAmount,\n undefined\n );\n this.addPostingExcelItemDefinition(\n this.label.invoice.amountTotal,\n undefined\n );\n }\n\n private isColumnNotExclude(columnName: string): boolean {\n switch (columnName) {\n case 'hasNote':\n case 'select':\n case 'invoice.invoiceNo':\n return false;\n\n default:\n return true;\n }\n }\n}\n","import { IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { FilterDefinition } from '@modules/filter/models/filterDefinition';\nimport { ExcelColumnItem } from 'src/app/api/vat';\nimport { Column, Row, viewValue } from 'src/app/global-models';\n\n\nexport abstract class GlossaryDefinitionHelper {\n public filterDefinitions: FilterDefinition[] = [];\n public postingColumnDefinitions: Column[] = [];\n public postingOverlayDefinitions: Row[] = [];\n public releatedPostingDefinitions: Row[] = [];\n public postingExcelColumnItemDefinitions: ExcelColumnItem[] = [];\n public analyzeExcelColumnItemDefinitions: ExcelColumnItem[] = [];\n public analyzeItemDefinitions: Column[] = [];\n\n\n // Properties for variables in label file.\n private readonly key: string = 'key';\n private readonly text: string = 'text';\n private readonly type: string = 'type';\n private readonly overlayText: string = 'overlayText';\n\n constructor() {\n }\n\n abstract generateFilterDefinitions(): void;\n abstract generatePostingTableDefinitions(): void;\n abstract generateOverlayDefinitions(): void;\n abstract generateReleatedPostingDefinitions(): void;\n abstract generateAnalyzeItemDefinitions(): void;\n abstract generatePostingExcelDefinitions(): void;\n abstract generateAnalyseExcelDefinitions(): void;\n\n protected addFilterDefinition(\n expanded: boolean,\n definition: object,\n refinedLabel: string,\n componentFilterType,\n iconDefinition: IconDefinition\n ): void {\n\n if (this.isLabelRedefined(refinedLabel))\n definition[this.text] = refinedLabel;\n\n this.filterDefinitions.push({\n expanded,\n label: definition[this.text],\n filterType: definition[this.key],\n componentFilterType,\n iconDefinition,\n });\n }\n\n private isLabelRedefined(refinedLabel: string): boolean {\n return refinedLabel !== null && refinedLabel !== undefined;\n }\n\n protected addPostingColumnDefinition(\n definition: object,\n newLabelText: string = null,\n isStickyStart: boolean,\n isStickyEnd: boolean,\n switchAble: boolean,\n visible: boolean,\n filterSelect?: viewValue[],\n tooltip?: string\n ): void {\n\n if (this.isLabelRedefined(newLabelText))\n definition[this.text] = newLabelText;\n\n if (newLabelText === 'Momskode')\n definition[this.type] = 'string';\n\n this.postingColumnDefinitions.push({\n key: definition[this.key],\n name: definition[this.text],\n type: definition[this.type],\n isStickyStart,\n isStickyEnd,\n filterSelect,\n switchAble,\n visible,\n tooltip\n });\n }\n\n protected addAnalyzeDefinition(\n definition: object,\n ): void {\n this.analyzeItemDefinitions.push({\n key: definition[this.key],\n name: definition[this.text],\n type: definition[this.type],\n isStickyStart: false,\n isStickyEnd: false,\n switchAble: false,\n visible: true\n });\n }\n\n protected addReleatedPostingDefinitions(\n definition: object,\n ): void {\n this.releatedPostingDefinitions.push({\n key: definition[this.key],\n text: definition[this.text],\n type: definition[this.type],\n overlayText: definition[this.overlayText],\n });\n }\n\n\n protected addPostingOverlayDefinition(\n definition: object,\n ): void {\n this.postingOverlayDefinitions.push({\n key: definition[this.key],\n text: definition[this.text],\n type: definition[this.type],\n overlayText: definition[this.overlayText],\n });\n }\n\n\n protected addPostingExcelItemDefinition(\n definition: object,\n newLabelText: string = null,\n padZeros: number = null,\n isFunktion: boolean = false\n ): void {\n const isCurrency: boolean = definition[this.type] === 'currency' && 'inputCurrency' ? true : false;\n\n if (this.isLabelRedefined(newLabelText))\n definition[this.text] = newLabelText;\n\n this.postingExcelColumnItemDefinitions.push({\n valuePropertyName: definition[this.key],\n header: definition[this.text],\n isCurrency,\n padZeros,\n isFunktion\n });\n }\n\n protected addAnalysisExcelItemDefinition(\n definition: object,\n newLabelText: string = null,\n padZeros: number = null,\n isFunktion: boolean = false\n ): void {\n const isCurrency: boolean = definition[this.type] === 'currency' ? true : false;\n\n if (this.isLabelRedefined(newLabelText))\n definition[this.text] = newLabelText;\n\n this.analyzeExcelColumnItemDefinitions.push({\n valuePropertyName: definition[this.key],\n header: definition[this.text],\n isCurrency,\n padZeros,\n isFunktion\n });\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FilterDefinition } from '@modules/filter/models/filterDefinition';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { ColumnDefinition, Customer, ExcelColumnItem } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Column, Row } from 'src/app/global-models';\nimport {\n OpusDefinition,\n PrismeDefinition,\n PrismeNYDefinition,\n ØSDefinition,\n} from '../Customer-glossary-definitions';\nimport { GlossaryDefinitionHelper } from '../label-helper/glossary-definition-helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelGlossaryService {\n private filterDefinitions: FilterDefinition[] = [];\n private internalCustomerFinancialTypeId: number;\n\n private postingTableColumnsDefinition: BehaviorSubject =\n new BehaviorSubject([]);\n public postingTableColumnsDefinition$: Observable =\n this.postingTableColumnsDefinition.asObservable();\n\n private overlayDefinition: BehaviorSubject = new BehaviorSubject<\n Row[]\n >([]);\n public overlayDefinition$: Observable =\n this.overlayDefinition.asObservable();\n\n private releatedPostingDefinitions: BehaviorSubject =\n new BehaviorSubject([]);\n public releatedPostingDefinitions$: Observable =\n this.releatedPostingDefinitions.asObservable();\n\n private excelPostingColumnItemDefinition: BehaviorSubject =\n new BehaviorSubject([]);\n public excelPostingColumnItemDefinition$: Observable =\n this.excelPostingColumnItemDefinition.asObservable();\n\n private excelAnalyseColumnItemDefinition: BehaviorSubject =\n new BehaviorSubject([]);\n public excelAnalyseColumnItemDefinition$: Observable =\n this.excelAnalyseColumnItemDefinition.asObservable();\n\n private analyzeColumnItemDefinition: BehaviorSubject =\n new BehaviorSubject([]);\n public analyzeColumnItemDefinition$: Observable =\n this.analyzeColumnItemDefinition.asObservable();\n\n constructor(\n private internalCurrentCustomerService: InternalCurrentCustomerService\n ) {\n this.internalCurrentCustomerService.customer.subscribe(\n (customer: Customer) => {\n if (\n this.internalCustomerFinancialTypeId !==\n customer.customerFinancialTypeId\n ) {\n this.internalCustomerFinancialTypeId =\n customer.customerFinancialTypeId;\n this.setGlossaryDefinitionByCustomerFinancialType(\n customer.customerFinancialTypeId\n );\n }\n }\n );\n }\n\n private setGlossaryDefinitionByCustomerFinancialType(\n customerFinancialType: number\n ): void {\n let labelDefinitions: GlossaryDefinitionHelper;\n switch (customerFinancialType) {\n case 1:\n labelDefinitions = new OpusDefinition(\n this.internalCurrentCustomerService\n );\n break;\n case 2:\n labelDefinitions = new PrismeDefinition();\n break;\n case 3:\n labelDefinitions = new PrismeNYDefinition();\n break;\n case 4:\n labelDefinitions = new ØSDefinition();\n break;\n default:\n throw new Error('Need Definition for current Customer Financial Type.');\n }\n\n if (labelDefinitions === undefined)\n throw new Error('labelDefinition is undefined, control label service');\n\n this.filterDefinitions = labelDefinitions.filterDefinitions;\n\n this.updatePostingColumns(labelDefinitions.postingColumnDefinitions);\n this.updateOverlayRows(labelDefinitions.postingOverlayDefinitions);\n this.updateReleatedPostingDefinitions(\n labelDefinitions.releatedPostingDefinitions\n );\n this.updatePostingExcelColumns(\n labelDefinitions.postingExcelColumnItemDefinitions\n );\n this.updateAnalyzeColumnItemDefinition(\n labelDefinitions.analyzeItemDefinitions\n );\n this.updateAnalyseExcelColumns(\n labelDefinitions.analyzeExcelColumnItemDefinitions\n );\n }\n\n public getAnalysisFilterDefinitions(): FilterDefinition[] {\n return this.filterDefinitions;\n }\n\n public getPostingFilterDefinitions(): FilterDefinition[] {\n return this.filterDefinitions.filter((f) => f.filterType !== 'analysisIds');\n }\n\n public getExcelColumns(): ExcelColumnItem[] {\n return this.excelPostingColumnItemDefinition.getValue();\n }\n\n public updatePostingColumns(columns: Column[]): void {\n if (columns === null) {\n this.resetPostingColumnsToDefault().then(() => {});\n } else {\n this.postingTableColumnsDefinition.next(columns);\n }\n }\n\n public resetPostingColumnsToDefault(): Promise {\n return new Promise((resolve, rejcet) => {\n this.setGlossaryDefinitionByCustomerFinancialType(\n this.internalCustomerFinancialTypeId\n );\n resolve();\n });\n }\n\n private updateReleatedPostingDefinitions(rows: Row[]): void {\n this.releatedPostingDefinitions.next(rows);\n }\n\n private updateAnalyzeColumnItemDefinition(columns: Column[]): void {\n this.analyzeColumnItemDefinition.next(columns);\n }\n\n private updateOverlayRows(rows: Row[]): void {\n this.overlayDefinition.next(rows);\n }\n\n private updatePostingExcelColumns(excelColumnItem: ExcelColumnItem[]): void {\n this.excelPostingColumnItemDefinition.next(excelColumnItem);\n }\n\n private updateAnalyseExcelColumns(excelColumnItem: ExcelColumnItem[]): void {\n this.excelAnalyseColumnItemDefinition.next(excelColumnItem);\n }\n\n public mapColumnDefinitionsToColumns(columns: Column[]): ColumnDefinition[] {\n return columns.map((column: Column) => {\n return {\n columnKey: column.key,\n visible: column.visible,\n orderNumber: columns.indexOf(column),\n } as ColumnDefinition;\n });\n }\n\n public updatesPostingColumnVisibility(\n columnDefinition: ColumnDefinition[]\n ): Column[] {\n return columnDefinition.map((column: ColumnDefinition) => {\n const c = this.postingTableColumnsDefinition.value.find(\n (p) => p.key === column.columnKey\n );\n c.visible = column.visible;\n return c;\n });\n }\n}\n","import { AnalysisStatus, UserInformation } from 'src/app/api/vat';\n\nexport interface TableDesign {\n propertyName: string;\n title: string;\n columnType?: string;\n}\n\nexport interface TableInformation {\n tableDesigns: TableDesign[];\n data: any[];\n}\n\nexport class LeaderDashBoardHelper {\n constructor() {\n }\n\n private static userInformationTableColumns: TableDesign[] = [\n { propertyName: 'userName', title: 'Navn' },\n { propertyName: 'lastLoginDate', title: 'Sidst anvendt', columnType: 'date' },\n {\n propertyName: 'postingsChangedByUser',\n title: 'Behandlet posteringer',\n columnType: 'number'\n },\n {\n propertyName: 'postingsOngoingByUser',\n title: 'Igangværende posteringer',\n columnType: 'number'\n },\n {\n propertyName: 'postingsRealisedByUser',\n title: 'Realiseret potentiale',\n columnType: 'currency'\n }\n ];\n\n private static potentialTableColumns: TableDesign[] = [\n { propertyName: 'analysisTitle', title: 'Navn' },\n { propertyName: 'financialYear', title: 'År' },\n {\n propertyName: 'realisedPotential',\n title: 'Realiseret',\n columnType: 'currency'\n },\n {\n propertyName: 'remainingPotential',\n title: 'Resterende',\n columnType: 'currency'\n },\n { propertyName: 'processedStatus', title: 'Status', columnType: 'procent' },\n { propertyName: 'lastProcessedPostingDate', title: 'Sidst anvendt', columnType: 'date' },\n ];\n\n public static mapToTableInformation(type: string, data: UserInformation[] | AnalysisStatus[]): TableInformation {\n switch (type.toLocaleLowerCase()) {\n case 'userinformation':\n return {\n tableDesigns: this.userInformationTableColumns,\n data\n };\n case 'analysisstatus':\n return {\n tableDesigns: this.potentialTableColumns,\n data\n };\n default:\n return;\n }\n\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { faTimes, faList, faUser, faExpand, faCompressAlt } from '@fortawesome/free-solid-svg-icons';\nimport { YearSelectService } from '@modules/leader-dashboard/services/year-select.service';\nimport { Chart, registerables } from 'chart.js';\nimport { CardDiagramData } from '../leader-dashboard/leader-dashboard.component';\n\n@Component({\n selector: 'app-card-diagram',\n templateUrl: './card-diagram.component.html',\n styleUrls: ['./card-diagram.component.scss'],\n})\nexport class CardDiagramComponent implements OnInit, AfterViewInit, OnChanges {\n // Icons\n faTimes = faTimes;\n faList = faList;\n faUser = faUser;\n faExpand = faExpand;\n faCompressAlt = faCompressAlt;\n\n cardExpanded: boolean = false;\n\n myChart: Chart;\n datasetOneTotal: number = 0;\n datasetTwoTotal: number = 0;\n loadedData: string;\n\n @Input() chartId: string;\n @Input() leftYUnit: string = null;\n @Input() rightYUnit: string = null;\n @Input() labels: string[] = [];\n @Input() hasTopInfo: boolean = false;\n @Input() cardDiagramDataSet: CardDiagramData[] = [];\n @Input() selectionList: any[] = [];\n @Output() selectionChange = new EventEmitter();\n\n selectedListItem: any;\n private selectedYear: number;\n\n constructor(private yearSelectService: YearSelectService) {\n Chart.register(...registerables);\n }\n\n ngAfterViewInit(): void {\n this.initiateChart(this.leftYUnit, this.rightYUnit);\n }\n\n ngOnInit(): void {\n }\n\n expandCard() {\n this.cardExpanded = !this.cardExpanded;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('cardDiagramDataSet' in changes) {\n if (this.myChart !== undefined) {\n this.updateChartDiagramData();\n }\n }\n\n if ('selectionList' in changes && this.selectionList.length > 0) {\n this.selectedListItem = this.selectionList[0];\n }\n }\n\n public yearSelectChange(year: number): void {\n this.selectedYear = year;\n this.selectionChange.emit({\n year,\n item: this.selectedListItem?.userId,\n });\n }\n\n public listSelection(selection: any): void {\n this.selectedListItem = selection;\n this.selectionChange.emit({\n year: this.selectedYear,\n item: this.selectedListItem.userId,\n });\n this.yearSelectService.setResetButton(true);\n }\n\n private updateChartDiagramData(): void {\n (this.myChart.data.datasets[0].data as number[]) = [];\n (this.myChart.data.datasets[1].data as number[]) = [];\n\n for (let index = 0; index <= 11; index++) {\n this.myChart.data.datasets[0].data.push(0);\n this.myChart.data.datasets[1].data.push(0);\n }\n this.cardDiagramDataSet.forEach((value) => {\n this.myChart.data.datasets[0].data[value.monthKey - 1] = value.dataSetOne;\n this.myChart.data.datasets[1].data[value.monthKey - 1] = value.dataSetTwo;\n });\n this.loadedData = this.cardDiagramDataSet[0]?.menuInfo;\n this.calculateSumOfDataSet();\n this.myChart.update();\n }\n\n private calculateSumOfDataSet(): void {\n this.datasetOneTotal =\n this.myChart.data.datasets[0].data.length > 0\n ? (this.myChart.data.datasets[0].data.reduce(\n (sum: number, current: number) => sum + current\n ) as number)\n : 0;\n this.datasetTwoTotal =\n this.myChart.data.datasets[1].data.length > 0\n ? (this.myChart.data.datasets[1].data.reduce(\n (sum: number, current: number) => sum + current\n ) as number)\n : 0;\n }\n\n private initiateChart(leftYUnit: string, rightYUnit: string): void {\n const canvas = document.getElementById(this.chartId) as HTMLCanvasElement;\n const ctx = canvas.getContext('2d');\n this.myChart = new Chart(ctx, {\n type: 'bar',\n data: {\n datasets: [\n {\n label: this.labels[0],\n yAxisID: 'left',\n data: [],\n order: 1,\n backgroundColor: ['#69b2f7'],\n },\n {\n label: this.labels[1],\n yAxisID: 'right',\n data: [],\n type: 'bar',\n order: 2,\n backgroundColor: ['#164b6d'],\n },\n ],\n labels: [\n 'Januar',\n 'Februar',\n 'Marts',\n 'April',\n 'Maj',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n ],\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: {\n display: true,\n ticks: {\n major: {\n enabled: false,\n },\n },\n grid: {\n display: false,\n },\n },\n left: {\n position: 'left',\n grid: {\n display: true,\n },\n ticks: {\n callback(label: number, index, labels) {\n return `${label.toLocaleString('da-DK')} ${leftYUnit ?? ''}`;\n },\n },\n },\n right: {\n position: 'right',\n display: true,\n grid: {\n display: false,\n },\n ticks: {\n callback(label: number, index, labels) {\n return `${label.toLocaleString('da-DK')} ${rightYUnit ?? ''}`;\n },\n },\n },\n },\n },\n });\n }\n}\n","
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n

    Opdateret: 14/09 2021

    \n

    Data indlæst: {{loadedData}}

    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n\n
    \n
    \n {{labels[0]}}: {{datasetOneTotal | number:'':'da-DK' }}\n \n {{datasetOneTotal | vatCurrency }}\n \n
    \n
    \n {{labels[1]}}: {{datasetTwoTotal | number:'':'da-DK' }}\n \n {{datasetTwoTotal | vatCurrency }}\n \n
    \n
    \n
    \n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { faCalendar, faExpand, faCompressAlt } from '@fortawesome/free-solid-svg-icons';\nimport { TableDesign, TableInformation } from '@modules/leader-dashboard/Helpers/LeaderDashBoardHelper';\n@Component({\n selector: 'app-card-table',\n templateUrl: './card-table.component.html',\n styleUrls: ['./card-table.component.scss'],\n})\nexport class CardTableComponent implements OnInit, AfterViewInit, OnChanges {\n // Icons\n faCalendar = faCalendar;\n faExpand = faExpand;\n faCompressAlt = faCompressAlt;\n\n cardExpanded: boolean = false;\n\n displayedColumnsNames: string[] = [];\n @Input() footerinfo: string;\n @Input() tableInformation: TableInformation;\n @Input() yearSelector: boolean = false;\n @Output() selectedYearChange = new EventEmitter();\n tableDesigns: TableDesign[] = [];\n periods: number[] = [];\n\n @Input() matSortActive: MatSort;\n\n @ViewChild('sort') sort: MatSort;\n\n dataSource = new MatTableDataSource();\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('tableInformation' in changes && this.tableInformation !== undefined) {\n this.tableDesigns = this.tableInformation.tableDesigns;\n this.displayedColumnsNames = this.tableDesigns.map(t => t.propertyName);\n this.dataSource.data = this.tableInformation.data;\n }\n }\n\n ngOnInit(): void {\n this.dataSource = new MatTableDataSource(this.tableInformation?.data);\n }\n\n isDateNull = (data: Date) => new Date(data).getFullYear() !== 1970;\n\n expandCard() {\n this.cardExpanded = !this.cardExpanded;\n }\n\n public yearSelectChange(year: number): void {\n this.selectedYearChange.emit(year);\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort;\n }\n}\n","
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n\n \n\n \n\n \n \n \n \n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n\n \n \n\n \n \n
    {{tableDesign.title}} {{row[tableDesign.propertyName] | number:'':'da-DK'}} {{tableDesign.title}} {{row[tableDesign.propertyName] | vatCurrency }} {{tableDesign.title}} \n \n {{row[tableDesign.propertyName] | date:'dd-MM-YYYY'}}\n \n {{tableDesign.title}} {{row[tableDesign.propertyName]}}% {{tableDesign.title}} {{row[tableDesign.propertyName]}}
    \n\n
    \n
    \n

    {{footerinfo}}

    \n
    \n
    \n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { faTimes, faList, faUser, faExpand, faCompressAlt } from '@fortawesome/free-solid-svg-icons';\nimport { YearSelectService } from '@modules/leader-dashboard/services/year-select.service';\nimport { FunctionsStatistic } from 'src/app/api/vat';\nimport { Chart, registerables } from 'chart.js';\nimport { SelectedFunction } from '../leader-dashboard/leader-dashboard.component';\n\n@Component({\n selector: 'app-function-diagram',\n templateUrl: './function-diagram.component.html',\n styleUrls: ['./function-diagram.component.scss'],\n})\nexport class FunctionDiagramComponent\n implements OnInit, AfterViewInit, OnChanges {\n // Icons\n faTimes = faTimes;\n faList = faList;\n faUser = faUser;\n faExpand = faExpand;\n faCompressAlt = faCompressAlt;\n\n myChart: Chart;\n\n cardExpanded: boolean = false;\n\n private touchtime = 0;\n\n @Input() labels: string[] = [];\n datasetOneTotal: number = 0;\n datasetTwoTotal: number = 0;\n\n @Input() chartId: string = '';\n @Input() functionsStatistics: SelectedFunction[] = [];\n @Output() doubleClickBarChart = new EventEmitter();\n functionTitle: string = 'Alle';\n @Output() selectedYearChange = new EventEmitter();\n public selectedYear: number;\n public previousFunctionNo: string = ' ';\n\n constructor(\n private yearSelectService: YearSelectService,\n ) {\n Chart.register(...registerables);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('functionsStatistics' in changes) {\n if (this.myChart !== undefined) {\n this.updateChartDiagramData();\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.initiateChart();\n this.myChart.update();\n }\n\n ngOnInit(): void { }\n\n expandCard() {\n this.cardExpanded = !this.cardExpanded;\n }\n\n private updateChartDiagramData(): void {\n const selectedFunctions = this.functionsStatistics.filter(\n (f) => f.checkboxToggle === true\n );\n\n if (selectedFunctions.length !== 0) {\n this.myChart.data.datasets[0].data = selectedFunctions.map(\n (f) => f.dataSetOne\n );\n this.myChart.data.datasets[1].data = selectedFunctions.map(\n (f) => f.dataSetTwo\n );\n this.myChart.data.labels = selectedFunctions.map((f) => f.functionNo);\n } else {\n this.myChart.data.datasets[0].data = this.functionsStatistics.map(\n (f) => f.dataSetOne\n );\n this.myChart.data.datasets[1].data = this.functionsStatistics.map(\n (f) => f.dataSetTwo\n );\n this.myChart.data.labels = this.functionsStatistics.map(\n (f) => f.functionNo\n );\n }\n\n this.calculateSumOfDataSet();\n\n this.myChart.update();\n }\n\n private calculateSumOfDataSet(): void {\n this.datasetOneTotal =\n this.myChart.data.datasets[0].data.length > 0\n ? (this.myChart.data.datasets[0].data.reduce(\n (sum: number, current: number) => sum + current\n ) as number)\n : 0;\n this.datasetTwoTotal =\n this.myChart.data.datasets[1].data.length > 0\n ? (this.myChart.data.datasets[1].data.reduce(\n (sum: number, current: number) => sum + current\n ) as number)\n : 0;\n }\n\n public yearSelectChange(year: number): void {\n this.selectedYear = year;\n this.previousFunctionNo = ' ';\n this.selectedYearChange.emit(year);\n\n }\n\n public checkboxToggle(\n event: MatCheckboxChange,\n functionsStatistic: FunctionsStatistic\n ): void {\n const index: number = this.functionsStatistics.findIndex(\n (sf: SelectedFunction) => sf.functionNo === functionsStatistic.functionNo\n );\n this.functionsStatistics[index].checkboxToggle = event.checked;\n\n this.updateChartDiagramData();\n this.yearSelectService.setResetButton(true);\n }\n\n public doubleClickChartElement(evt, item: any[]): void {\n if (this.touchtime === 0) {\n this.touchtime = new Date().getTime();\n } else {\n if (new Date().getTime() - this.touchtime < 400) {\n const selectedItemBarValue = evt.chart.tooltip.title[0];\n this.previousFunctionNo = selectedItemBarValue;\n this.doubleClickBarChart.emit({\n functionNo: selectedItemBarValue,\n year: this.selectedYear,\n });\n } else {\n this.touchtime = new Date().getTime();\n }\n this.yearSelectService.setResetButton(true);\n\n }\n }\n\n goBackToPreviousChartView(): void {\n if (this.previousFunctionNo.length === 2) {\n this.previousFunctionNo = ' ';\n } else {\n this.previousFunctionNo = this.previousFunctionNo.substring(0, 2);\n }\n this.doubleClickBarChart.emit({\n functionNo: this.previousFunctionNo,\n year: this.selectedYear,\n });\n }\n\n private initiateChart(): void {\n const canvas = document.getElementById(this.chartId) as HTMLCanvasElement;\n const ctx = canvas.getContext('2d');\n this.myChart = new Chart(ctx, {\n type: 'bar',\n data: {\n datasets: [\n {\n label: this.labels[0],\n data: [],\n order: 1,\n backgroundColor: ['#69b2f7'],\n },\n {\n label: this.labels[1],\n data: [],\n type: 'bar',\n order: 2,\n backgroundColor: ['#164b6d'],\n },\n ],\n labels: [],\n },\n options: {\n onClick: (event, item) => {\n this.doubleClickChartElement(event, item);\n },\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n x: {\n display: true,\n ticks: {\n major: {\n enabled: false,\n },\n },\n grid: {\n display: false,\n },\n },\n y: {\n display: true,\n grid: {\n display: true,\n },\n ticks: {\n callback(label: number, index, labels) {\n return `${label.toLocaleString('da-DK')} kr`;\n },\n },\n },\n },\n },\n });\n }\n}\n","
    \n
    \n
    \n \n \n \n \n \n {{ functions.functionNo}} - {{functions.functionName}}\n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{labels[0]}}: {{datasetOneTotal | vatCurrency}}\n
    \n
    \n {{labels[1]}}: {{datasetTwoTotal | vatCurrency}}\n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { LeaderDashBoardHelper, TableInformation } from '@modules/leader-dashboard/Helpers/LeaderDashBoardHelper';\nimport { YearSelectService } from '@modules/leader-dashboard/services/year-select.service';\nimport { AnalysisStatus, FunctionsStatistic, LeaderDashboardService, PostingPoll, User, UserInformation, UserManagementPoll } from 'src/app/api/vat';\n\nexport interface SelectedFunction {\n functionNo: string;\n functionName: string;\n dataSetOne: number;\n dataSetTwo: number;\n checkboxToggle: boolean;\n}\n\nexport interface CardDiagramData {\n monthKey: number;\n dataSetOne: number;\n dataSetTwo: number;\n menuInfo: string;\n}\n@Component({\n selector: 'app-leader-dashboard',\n templateUrl: './leader-dashboard.component.html',\n styleUrls: ['./leader-dashboard.component.scss'],\n providers: [YearSelectService]\n})\nexport class LeaderDashboardComponent implements OnInit {\n // componentIdNames\n readonly realisedPotentialFunctionChart: string =\n 'realisedPotentialFunctionChart';\n readonly remainingPotentialFunctionChart: string =\n 'remainingPotentialFunctionChart';\n readonly postingAndInvoicePollsChart: string = 'postingAndInvoicePollsChart';\n readonly userManagementsPollsChart: string = 'userManagementsPollsChart';\n\n private componentloaded: boolean = false;\n\n postingAndInvoicePollsData: CardDiagramData[] = [];\n userManagementsPollsData: CardDiagramData[] = [];\n realisedPotentialFunctionData: SelectedFunction[] = [];\n remainingPotentialFunctionData: SelectedFunction[] = [];\n userInformation: TableInformation;\n potentialStatusTable: TableInformation;\n users: any[] = [];\n\n constructor(private leaderDashboardService: LeaderDashboardService) { }\n\n ngOnInit(): void {\n // this.updateUserInformationTable();\n }\n\n yearSelectionFunctionDiagramChange(year: number, chartName: string) {\n switch (chartName) {\n case this.realisedPotentialFunctionChart:\n this.getFunctionStatistic(year).then((func: FunctionsStatistic[]) => {\n this.realisedPotentialFunctionData = this.getFunctionChartDataSet(\n func,\n 'totalPotential',\n 'realisedPotential'\n );\n\n if (this.componentloaded === false) {\n this.remainingPotentialFunctionData = this.getFunctionChartDataSet(\n func,\n 'totalPotential',\n 'remainingPotential'\n );\n this.componentloaded = true;\n }\n });\n break;\n case this.remainingPotentialFunctionChart:\n if (this.componentloaded === true)\n this.getFunctionStatistic(year).then((func: FunctionsStatistic[]) => {\n this.remainingPotentialFunctionData = this.getFunctionChartDataSet(\n func,\n 'totalPotential',\n 'remainingPotential'\n );\n });\n break;\n default:\n break;\n }\n }\n\n selectionCardDiagramChange(event: { year; item }, chartName: string) {\n switch (chartName) {\n case this.postingAndInvoicePollsChart:\n this.updatePostingAndInvoicePollsCardDiagram(event.year);\n break;\n case this.userManagementsPollsChart:\n this.updateUserManagementPolls(event.year, event.item);\n break;\n default:\n break;\n }\n }\n\n private getFunctionChartDataSet(\n func: FunctionsStatistic[],\n propertyNameOne: string,\n propertyNameTwo: string\n ): SelectedFunction[] {\n return func.map((f: FunctionsStatistic) => {\n return {\n functionNo: f.functionNo,\n functionName: f.functionName,\n dataSetOne: f[propertyNameOne],\n dataSetTwo: f[propertyNameTwo],\n checkboxToggle: false,\n };\n });\n }\n\n public updateUserInformationTable(year: number): Promise {\n return this.leaderDashboardService\n .getAllUsersInformation(year)\n .toPromise()\n .then((userInformations: UserInformation[]) => {\n this.userInformation = LeaderDashBoardHelper.mapToTableInformation('userinformation', userInformations);\n this.users = this.userInformation.data.map(\n (u) => ({ userId: u['userId'], name: u['userName'] })\n );\n this.users.unshift({ userId: null, name: 'Alle' });\n });\n }\n\n private updateUserManagementPolls(year: number, userId): void {\n this.leaderDashboardService\n .getUsageOfApplicationByUser(year, userId)\n .subscribe((userManagementPoll: UserManagementPoll[]) => {\n this.userManagementsPollsData = userManagementPoll.map(\n (p: UserManagementPoll) => {\n return {\n dataSetOne: p.realisedPotentialAmount,\n dataSetTwo: p.postingHandledAmount,\n menuInfo: null,\n monthKey: p.month,\n };\n }\n );\n });\n }\n\n\n public doubleClickBarEvent(\n event: { year; functionNo },\n chartName: string\n ): void {\n this.getFunctionStatistic(event.year, event.functionNo).then((func) => {\n switch (chartName) {\n case this.realisedPotentialFunctionChart:\n this.realisedPotentialFunctionData = this.getFunctionChartDataSet(\n func,\n 'totalPotential',\n 'realisedPotential'\n );\n break;\n case this.remainingPotentialFunctionChart:\n this.remainingPotentialFunctionData = this.getFunctionChartDataSet(\n func,\n 'totalPotential',\n 'remainingPotential'\n );\n break;\n default:\n break;\n }\n });\n }\n\n public tableCardAnalysisStatus(year: number): void {\n this.leaderDashboardService\n .getAnalysisStatus(year)\n .subscribe((analysisStatus: AnalysisStatus[]) => {\n this.potentialStatusTable = LeaderDashBoardHelper.mapToTableInformation('analysisstatus', analysisStatus);\n });\n }\n\n // public tableCardUserInfomation(year: number): void {\n // this.leaderDashboardService\n // .leaderDashboardGetAllUsersInformation(year)\n // .subscribe((userInformation: UserInformation[]) => {\n // // this.potentialStatusTable = LeaderDashBoardHelper.mapToTableInformation('analysisstatus', analysisStatus);\n // });\n // }\n\n public updatePostingAndInvoicePollsCardDiagram(year: number): void {\n this.leaderDashboardService\n .getPollOfPostingAndInvoices(year)\n .subscribe((value: PostingPoll[]) => {\n this.postingAndInvoicePollsData = value.map((p: PostingPoll) => {\n return {\n dataSetOne: p.totalPostings,\n dataSetTwo: p.totalInvoices,\n menuInfo: new Date(p.dataLastLoaded).toLocaleDateString('en-GB'),\n monthKey: p.month,\n };\n });\n });\n }\n\n private getFunctionStatistic(\n year: number,\n level: string = ' '\n ): Promise {\n return new Promise((resolve, rejects) => {\n this.leaderDashboardService\n .getFunctionStatistic(year, level)\n .toPromise()\n .then((func) => {\n resolve(func);\n });\n });\n }\n}\n","
    \n\n \n\n
    \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n >\n \n
    \n\n
    \n
    \n
    \n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { faCalendar, faSyncAlt } from '@fortawesome/free-solid-svg-icons';\nimport { YearSelectService } from '@modules/leader-dashboard/services/year-select.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'app-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss'],\n})\nexport class TopBarComponent implements OnInit, AfterViewInit {\n // Icons\n faCalendar = faCalendar;\n faSyncAlt = faSyncAlt;\n\n selectedYear: Observable;\n years: number[] = [];\n isResetButtonVisible: Observable = this.yearSelectService.isResetButtonVisible.asObservable();\n\n\n constructor(private yearSelectService: YearSelectService) { }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n this.years = this.yearSelectService.years;\n this.selectedYear = this.yearSelectService.globalYear$;\n }\n\n public resetFilters() {\n this.yearSelectService.resetAllYearSelection();\n }\n\n public selectYear(year: number): void {\n this.yearSelectService.setGlobalYear(year);\n }\n}\n","
    \n \n \n \n \n\n \n
    \n","import { AfterViewInit, Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { faCalendar } from '@fortawesome/free-solid-svg-icons';\nimport { YearSelectService } from '@modules/leader-dashboard/services/year-select.service';\n\n@Component({\n selector: 'app-year-selector',\n templateUrl: './year-selector.component.html',\n styleUrls: ['./year-selector.component.scss']\n})\nexport class YearSelectorComponent implements OnInit, AfterViewInit {\n faCalendar = faCalendar;\n yearsList: number[] = [];\n @Output() selectedYearChange: EventEmitter = new EventEmitter();\n\n constructor(private yearSelectService: YearSelectService) {\n this.yearsList = this.yearSelectService.years;\n }\n\n ngAfterViewInit(): void {\n this.yearSelectService.globalYear$.subscribe(year => {\n this.selectedYearChange.emit(year);\n });\n }\n\n ngOnInit(): void {\n }\n\n public selectedListItemEvent(item: number): void {\n this.yearSelectService.setResetButton(true);\n this.selectedYearChange.emit(item);\n }\n}\n","\n\n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule } from '@angular/forms';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n// Custom modules\nimport { CommonsModule } from '@modules/commons/commons.module';\n\n// Components\nimport { LeaderDashboardComponent } from './components/leader-dashboard/leader-dashboard.component';\nimport { CardTableComponent } from './components/card-table/card-table.component';\nimport { FunctionDiagramComponent } from './components/function-diagram/function-diagram.component';\nimport { CardDiagramComponent } from './components/card-diagram/card-diagram.component';\nimport { TopBarComponent } from './components/top-bar/top-bar.component';\nimport { YearSelectorComponent } from './components/year-selector/year-selector.component';\n\n@NgModule({\n declarations: [\n LeaderDashboardComponent,\n CardTableComponent,\n FunctionDiagramComponent,\n CardDiagramComponent,\n TopBarComponent,\n YearSelectorComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n MatButtonModule,\n MatSelectModule,\n MatInputModule,\n FormsModule,\n MatDialogModule,\n MatFormFieldModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n CommonsModule,\n MatButtonToggleModule,\n MatMenuModule,\n MatCheckboxModule,\n MatTooltipModule,\n ],\n exports: [LeaderDashboardComponent],\n})\nexport class LeaderDashboardModule {}\n","import { Injectable } from '@angular/core';\nimport { CommonHelper } from '@modules/commons/helpers/common-helpers';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport { PostingService } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class YearSelectService {\n private globalYear: BehaviorSubject = new BehaviorSubject(null);\n\n public globalYear$: Observable = this.globalYear\n .asObservable()\n .pipe(filter(year => year !== null));\n\n public years: number[] = [];\n\n defaultYear: number;\n\n public isResetButtonVisible: Subject = new Subject();\n\n constructor(\n private postingService: PostingService,\n private notifyService: NotifyService) {\n this.initService();\n }\n\n private initService(): void {\n this.setResetButton(false);\n this.years = CommonHelper.generateYears();\n this.postingService.getLatestPostingFinancialYear()\n .subscribe((year: string) => {\n if (year === null) {\n this.notifyService.notifySnackBarInformation('Der eksisterer ingen data, for den valgte kunde.', 'yellow');\n } else {\n if (!this.years.includes(parseInt(year, 0)))\n this.years.unshift(parseInt(year, 0));\n\n this.defaultYear = parseInt(year, 0);\n this.globalYear.next(parseInt(year, 0));\n }\n });\n }\n\n public setGlobalYear(year: number): void {\n if (this.globalYear.value !== year) {\n this.setResetButton(true);\n this.globalYear.next(year);\n }\n }\n\n public resetAllYearSelection(): void {\n this.setResetButton(false);\n this.globalYear.next(this.defaultYear);\n }\n\n public setResetButton(visible: boolean): void {\n this.isResetButtonVisible.next(visible);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { faUnlock, faUser, faKey } from '@fortawesome/free-solid-svg-icons';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n // Icons\n faUnlock = faUnlock;\n faUser = faUser;\n faKey = faKey;\n\n constructor(private oidcSecurityService: OidcSecurityService) {}\n\n ngOnInit() {}\n\n login() {\n this.oidcSecurityService.authorize();\n }\n}\n","
    \n
    \n
    \n

    \n   Login\n

    \n

    \n Klik på Login, for at komme til din respektive login side.\n

    \n \n\n \n
    \n
    \n \n Moms Tjek 2.0\n
    \n\n
    \n \n
    \n
    \n
    ","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { InternalUserService } from '@modules/commons/services/internal-user.service';\nimport { User } from 'src/app/api/vat';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthorizationGuard implements CanActivate {\n constructor(\n private oidcSecurityService: OidcSecurityService,\n private router: Router,\n private internalUserService: InternalUserService\n ) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): boolean {\n const url: string = state.url;\n return this.checkUserLogin(next, url);\n\n }\n\n private checkUserLogin(route: ActivatedRouteSnapshot, url: any): boolean {\n const auth = this.oidcSecurityService.isAuthenticated();\n if (!auth) {\n this.router.navigate(['login']);\n return false;\n }\n\n this.internalUserService.user$.subscribe((user: User) => {\n const currentUserRoles: string[] = user?.roles;\n let anyRolesFound: boolean = false;\n if (currentUserRoles && route.data.roles !== undefined) {\n for (const role of route.data.roles) {\n if (route.data.roles && currentUserRoles?.indexOf(role) === -1) {\n anyRolesFound = false;\n } else {\n anyRolesFound = true;\n break;\n }\n }\n\n if (anyRolesFound === false) {\n this.router.navigate(['unauthorized']);\n return false;\n } else {\n return true;\n }\n\n }\n });\n\n return true;\n }\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AuthModule, LogLevel } from 'angular-auth-oidc-client';\nimport { environment } from 'src/environments/environment';\n\n// Material\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\n\n// Components\nimport { LoginComponent } from './components/login/login.component';\n\nexport const configureAuth = () => {\n return {\n authority: environment.openIdConnectConfig.stsServer,\n redirectUrl: environment.openIdConnectConfig.redirectUrl,\n postLogoutRedirectUri:\n environment.openIdConnectConfig.postLogoutRedirectUri,\n clientId:\n environment.openIdConnectConfig.clientId ||\n sessionStorage.getItem('OpenIdConnect:ClientId'),\n scope: environment.openIdConnectConfig.scope,\n responseType: environment.openIdConnectConfig.responseType,\n triggerAuthorizationResultEvent:\n environment.openIdConnectConfig.triggerAuthorizationResultEvent,\n autoUserInfo: environment.openIdConnectConfig.autoUserinfo,\n silentRenew: environment.openIdConnectConfig.silentRenew,\n silentRenewUrl: environment.openIdConnectConfig.silentRenewUrl,\n renewTimeBeforeTokenExpiresInSeconds:\n environment.openIdConnectConfig.renewTimeBeforeTokenExpiresInSeconds,\n customParamsAuthRequest: {\n resource: environment.openIdConnectConfig.customParams.resource,\n domain_hint: '',\n },\n\n logLevel: environment.production ? LogLevel.None : LogLevel.Warn,\n };\n};\n\n@NgModule({\n declarations: [LoginComponent],\n imports: [\n CommonModule,\n MatInputModule,\n MatButtonModule,\n RouterModule,\n FontAwesomeModule,\n MatCheckboxModule,\n FormsModule,\n AuthModule.forRoot({\n config: configureAuth(),\n }),\n ],\n exports: [LoginComponent],\n})\nexport class LoginModule {}\n","import {\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n faArrowRight,\n faTimes,\n faStickyNote,\n faComment,\n faArrowAltCircleUp,\n faEye,\n faExternalLinkAlt,\n faPen,\n faEnvelope,\n faUser,\n faCalendar,\n faExclamationCircle,\n faTrash,\n faArrowCircleRight,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ExpandedMessageComponent } from '@modules/dialog/components/expanded-message/expanded-message.component';\nimport { ExportMessageComponent } from '@modules/dialog/components/export-message/export-message.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MenuService } from '@modules/shell/services/menu.service';\nimport { OverlayService } from '@modules/overlay/services/overlay.service';\nimport {\n Customer,\n ExcelColumnItem,\n Message,\n MessageService,\n PostingNote,\n User,\n PostingService,\n} from 'src/app/api/vat';\nimport { EventEmitter } from '@angular/core';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { InternalUserService } from '@modules/commons/services/internal-user.service';\nimport { faNewspaper } from '@fortawesome/free-regular-svg-icons';\nimport { take } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport { AreYouSureDialogComponent } from '@modules/dialog/components/are-you-sure-dialog/are-you-sure-dialog.component';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PostingNoteChangeService } from '@modules/commons/services/posting-note-change.service';\n\nexport enum ComponentType {\n allmessageDialog = 'allmessageDialog',\n overlay = 'overlay',\n sidebar = 'sidebar',\n tableHover = 'tableHover',\n}\n@Component({\n selector: 'app-messages',\n templateUrl: './messages.component.html',\n styleUrls: ['./messages.component.scss'],\n})\nexport class MessagesComponent implements OnInit, OnDestroy, OnChanges {\n // Icons\n faTimes = faTimes;\n faArrowRight = faArrowRight;\n faEnvelope = faEnvelope;\n faPen = faPen;\n faTrash = faTrash;\n faNewspaper = faNewspaper;\n faStickyNote = faStickyNote;\n faComment = faComment;\n faArrowAltCircleUp = faArrowAltCircleUp;\n faEye = faEye;\n faExternalLinkAlt = faExternalLinkAlt;\n faUser = faUser;\n faCalendar = faCalendar;\n faExclamationCircle = faExclamationCircle;\n faArrowCircleRight = faArrowCircleRight;\n\n subscriptions: Subscription[] = [];\n messageColletion: Message[] = [];\n @Input() postingId: number = undefined;\n @Input() searchValue: string = '';\n @Input() place: ComponentType;\n @Input() postingNoteId: number;\n @Input() postingNoteIds: number[] = [];\n @Output('edit') editClicked: EventEmitter =\n new EventEmitter();\n @Output('delete') deleteClicked: EventEmitter =\n new EventEmitter();\n customer: Customer;\n @Output() messages: EventEmitter = new EventEmitter();\n loadAllMessages: boolean;\n loggedInUser: User;\n extraHoverText: boolean = false;\n constructor(\n public dialog: MatDialog,\n private menuService: MenuService,\n private messageService: MessageService,\n private overlayService: OverlayService,\n private notifyService: NotifyService,\n private postingNoteChangeService: PostingNoteChangeService,\n private messagesServiceInternal: MessagesService,\n private labelGlossaryService: LabelGlossaryService,\n private internalCustomerService: InternalCurrentCustomerService,\n private internalUserService: InternalUserService,\n private postingService: PostingService,\n private router: Router,\n private route: ActivatedRoute\n ) {\n this.loadAllMessages = false;\n\n this.internalUserService.user$.subscribe((user) => {\n this.loggedInUser = user;\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('searchValue' in changes) {\n this.loadMessages();\n }\n }\n\n get mailEnabled(): boolean {\n return this.customer.customerConfig?.mailEnable ?? false;\n }\n\n permissionToEdit(item: PostingNote): boolean {\n return (\n item.createdBy.userId === this.loggedInUser?.userId &&\n item.isNews === false\n );\n }\n\n ngOnInit() {\n this.loadMessages();\n this.customer = this.internalCustomerService.getCustomer();\n }\n\n private loadMessages() {\n this.subscriptions.push(\n this.messagesServiceInternal.MessageList$.subscribe((messages) => {\n switch (this.place) {\n case ComponentType.allmessageDialog:\n if (this.searchValue === '') {\n this.messageColletion = messages;\n } else {\n this.messageColletion = messages.filter(\n (o) =>\n (\n 'id' +\n o.postingNoteId +\n ' ' +\n o.subject.toLocaleLowerCase() +\n ' ' +\n o.text.toLocaleLowerCase() +\n ' ' +\n (o.createdBy.userName.toLocaleLowerCase() ?? '')\n ).indexOf(this.searchValue?.toLocaleLowerCase()) > -1\n );\n }\n this.messages.emit(this.messageColletion);\n break;\n\n case ComponentType.overlay:\n this.subscriptions.push(\n this.messageService\n .getAllPostingNotesByPostingId(this.postingId)\n .pipe(take(1))\n .subscribe((postingNotes) => {\n this.messageColletion = postingNotes;\n this.messages.emit(this.messageColletion);\n this.overlayService.annoucePostinghasRelatedNotes(\n postingNotes.map((p) => p.postingNoteId)\n );\n })\n );\n break;\n\n case ComponentType.tableHover:\n this.messageColletion = messages.filter(\n (o) => o.postingNoteId === this.postingNoteIds[0]\n );\n\n if (this.postingNoteIds.length > 1) {\n this.extraHoverText = true;\n }\n break;\n\n case ComponentType.sidebar:\n this.messageColletion = messages.filter(\n (o) =>\n (o.noteForMe && o.readDate === null) ||\n (!this.isPostingNote(o) && o.readDate === null)\n );\n this.messages.emit(this.messageColletion);\n this.messagesServiceInternal.setNewMessagesCount(\n this.messageColletion.length\n );\n break;\n\n default:\n throw console.error(\n 'Need to set a place on the input for the app-message to work '\n );\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n closeMessage(item: Message) {\n this.messagesServiceInternal.setMessageAsRead(item);\n }\n\n reopenMessage(item: Message) {\n this.messagesServiceInternal.setMessageAsUnRead(item);\n }\n\n openExpandedMessageDialog(item: Message): void {\n const dialogRef = this.dialog.open(ExpandedMessageComponent, {\n width: '900px',\n data: item,\n autoFocus: false,\n });\n }\n\n goToPosting(item: Message) {\n this.menuService.toggleSidebarState();\n this.overlayService.setOverlayMedium();\n this.messagesServiceInternal.setSelectedMessage(item.postingNoteId);\n }\n\n editNote(item: Message) {\n this.editClicked.emit(item);\n }\n\n deleteNote(item: Message) {\n this.subscriptions.push(\n this.postingService\n .deletePostingNote(item.postingNoteId)\n .subscribe((result) => {\n if (result) {\n this.notifyService.notifySnackBarInformation(\n `Posteringsnoten er nu slettet.`,\n 'green'\n );\n this.postingNoteChangeService.notifyNoteOnPostings();\n this.redirectToDashboardIfNeccessary(item.postingNoteId);\n } else {\n this.notifyService.notifySnackBarInformation(\n `Du har ikke tilladelse til at slette denne posteringsnote eller posteringsnoten eksisterer ikke.`,\n 'red'\n );\n }\n })\n );\n }\n redirectToDashboardIfNeccessary(postingNoteId: number) {\n if (\n this.route.snapshot.routeConfig.path.includes(\n 'posteringer/postingnote/'\n ) &&\n this.route.snapshot.params['postingNoteId'] == postingNoteId\n ) {\n this.router.navigate(['dashboard']);\n } else {\n this.loadMessages();\n }\n }\n\n openDeleteConfirmation(item: Message) {\n let title =\n 'Er du sikker på, at du vil slette denne posteringsnote? \\n ID' +\n item.postingNoteId +\n ' - ' +\n item.subject;\n let bodyInfo = item.text;\n this.dialog\n .open(AreYouSureDialogComponent, {\n data: {\n title: title,\n bodyInformation: bodyInfo,\n },\n })\n .afterClosed()\n .subscribe((saveNote: boolean) => {\n if (saveNote) {\n this.deleteNote(item);\n }\n });\n }\n\n eksportNote(item: Message) {\n const excelColumnItem: ExcelColumnItem[] =\n this.labelGlossaryService.getExcelColumns();\n\n const dialogRef = this.dialog.open(ExportMessageComponent, {\n width: '900px',\n data: item,\n autoFocus: false,\n });\n }\n\n isPostingNote(item: Message): boolean {\n return item.isNews === false;\n }\n}\n","
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n\n
    \n ID{{item.postingNoteId}} - {{item.subject}}\n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n\n
    \n \n
    \n\n
    \n {{item.text}}\n
    \n\n
    \n \n \n \n \n \n
    1\">{{item.postingReferencesCount}} relationer
    \n
    \n
    \n Der er flere noter til denne postering, se dem i overlayet.\n
    \n
    \n","export class MessageHelper {\n public static readonly KMD: string = 'På vegne af KMD';\n public static readonly BDO: string = 'På vegne af BDO';\n\n public static isPublishedBy(publishedBy: number, userName: string): string {\n switch (publishedBy) {\n case 1:\n return userName;\n case 2:\n return this.BDO;\n case 3:\n return this.KMD;\n default:\n return userName;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n// Custom Modules\nimport { CommonsModule } from '../commons/commons.module';\n\n// Components\nimport { MessagesComponent } from './components/messages/messages.component';\n\n@NgModule({\n declarations: [MessagesComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n MatButtonModule,\n RouterModule,\n MatDialogModule,\n ReactiveFormsModule,\n MatTooltipModule,\n CommonsModule\n ],\n exports: [MessagesComponent],\n})\nexport class MessagesModule {}\n","import { Injectable } from '@angular/core';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { Message, MessageService } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MessagesService {\n private MessageList: BehaviorSubject = new BehaviorSubject<\n Message[]\n >([]);\n private SelectedMessage: Subject = new Subject();\n private NewMessagesCount: Subject = new Subject();\n\n public MessageList$: Observable = this.MessageList.asObservable();\n public SelectedMessage$: Observable =\n this.SelectedMessage.asObservable();\n public NewMessagesCount$: Observable =\n this.NewMessagesCount.asObservable();\n\n constructor(\n private messageService: MessageService,\n private internalCurrentCustomerService: InternalCurrentCustomerService\n ) {}\n\n announceMessages() {\n const customerid: number =\n +this.internalCurrentCustomerService.getCustomerId();\n this.messageService\n .getAllMessages(customerid)\n .subscribe((result) => {\n this.MessageList.next(result);\n });\n }\n\n setSelectedMessage(postingNoteId: number) {\n this.SelectedMessage.next(postingNoteId);\n }\n\n setNewMessagesCount(newCount: number) {\n this.NewMessagesCount.next(newCount);\n }\n\n setMessageAsRead(item: Message) {\n this.messageService\n .markAsRead(item.postingNoteId, item.isNews, item.isGlobal)\n .subscribe((result) => this.announceMessages());\n }\n\n setMessageAsUnRead(item: Message) {\n this.messageService\n .markAsUnRead(item.postingNoteId, item.isNews, item.isGlobal)\n .subscribe((result) => this.announceMessages());\n }\n\n checkForNewMessages() {\n const customerid: number =\n +this.internalCurrentCustomerService.getCustomerId();\n this.messageService\n .getAllMessages(customerid)\n .subscribe((result) => {\n this.MessageList.next(result);\n });\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport {\n OverlayRelatedFilter,\n OverlayService,\n} from '@modules/overlay/services/overlay.service';\nimport { PagingModel, Posting, PostingService } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport {\n faSortAlphaDown,\n faSortAlphaDownAlt,\n faSortAmountDown,\n faSortAmountDownAlt,\n IconDefinition,\n faSearch,\n} from '@fortawesome/free-solid-svg-icons';\nimport { Row } from 'src/app/global-models';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\n\ninterface Sort {\n value: string;\n viewValue: string;\n faIcon: IconDefinition;\n}\n\n@Component({\n selector: 'app-account-no-related-postings',\n templateUrl: './account-no-related-postings.component.html',\n styleUrls: ['../overlay/overlay.component.scss'],\n})\nexport class AccountNoRelatedPostingsComponent implements OnInit, OnDestroy {\n // Icons\n faSortAlphaDownAlt = faSortAlphaDownAlt;\n faSortAlphaDown = faSortAlphaDown;\n faSortAmountDownAlt = faSortAmountDownAlt;\n faSortAmountDown = faSortAmountDown;\n faSearch = faSearch;\n @Input() postingId: number;\n labelRows: Row[] = [];\n\n relatedPostings: Posting[] = [];\n isOrderByChanged: boolean = false;\n subscriptions: Subscription[] = [];\n popupVisible: boolean = false;\n hoveredPosting: Posting = undefined;\n loadedAll: boolean = false;\n skip: number = 0;\n take: number = 30;\n scrollLoad = false;\n pageModel: PagingModel;\n sorts: Sort[] = [\n {\n value: 'sort-1',\n viewValue: 'Leverandør',\n faIcon: this.faSortAlphaDown,\n },\n {\n value: 'sort-2',\n viewValue: 'Leverandør',\n faIcon: this.faSortAlphaDownAlt,\n },\n {\n value: 'sort-3',\n viewValue: 'Brutto beløb',\n faIcon: this.faSortAmountDownAlt,\n },\n {\n value: 'sort-4',\n viewValue: 'Brutto beløb',\n faIcon: this.faSortAmountDown,\n },\n ];\n\n sortby = this.sorts[2].value;\n\n constructor(\n private postingsService: PostingService,\n private overlayService: OverlayService,\n private labelGlossaryService: LabelGlossaryService\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.labelGlossaryService.releatedPostingDefinitions$.subscribe(\n (labels) => {\n this.labelRows = labels;\n this.pageModel = this.resetPageModel();\n this.loadAccountNoRelatedPostings();\n this.overlayService.filterRelated$.subscribe(\n (filter: OverlayRelatedFilter) => {\n if (filter.postingId === this.postingId) {\n this.pageModel = filter.pageModel;\n this.relatedPostings = [];\n this.loadAccountNoRelatedPostings();\n }\n },\n (error) => console.error(error)\n );\n }\n )\n );\n }\n\n sortOrderChange(event: { value }) {\n this.isOrderByChanged = true;\n this.pageModel = this.resetPageModel(this.pageModel.filter);\n this.pageModel.sortBy.propertyName = event.value;\n this.overlayService.announceRelatedFilterValue({\n postingId: this.postingId,\n pageModel: this.pageModel,\n });\n }\n\n resetPageModel(filter: string = ''): PagingModel {\n return {\n skip: this.skip,\n take: this.take,\n filter: filter ?? '',\n sortBy: { propertyName: this.sorts[2].value, ascending: true },\n };\n }\n\n applyFilter(event: Event) {\n const filterText = (event.target as HTMLInputElement).value;\n this.pageModel = this.resetPageModel(filterText);\n this.overlayService.announceRelatedFilterValue({\n postingId: this.postingId,\n pageModel: this.pageModel,\n });\n }\n\n loadAccountNoRelatedPostings(): void {\n this.subscriptions.push(\n this.postingsService\n .getAccountNoRelatedPostings(this.postingId, this.pageModel)\n .subscribe((postings: Posting[]) => {\n if (this.isOrderByChanged) {\n this.isOrderByChanged = false;\n this.loadedAll = false;\n this.relatedPostings = postings;\n } else if (postings.length) {\n this.relatedPostings.push(...postings);\n this.scrollLoad = false;\n if (postings.length >= this.take) this.loadedAll = false;\n else {\n this.loadedAll = true;\n }\n } else {\n this.loadedAll = true;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n addPostingToTab(posting: Posting): void {\n this.overlayService.addPostingToTab(posting);\n }\n\n onScroll(event: Event): void {\n if (!this.scrollLoad && !this.loadedAll) {\n const tracker: any = event.target;\n if (\n tracker.scrollHeight - tracker.scrollTop <=\n tracker.clientHeight + 100 ||\n (tracker.clientHeight > 128 &&\n tracker.scrollHeight - tracker.scrollTop <=\n tracker.clientHeight + 200)\n ) {\n this.pageModel.skip += this.pageModel.take;\n this.loadAccountNoRelatedPostings();\n this.scrollLoad = true;\n }\n }\n }\n}\n","
    \n
    Posteringer samme sted
    \n
    \n \n \n \n \n \n Sorter\n \n \n {{sort.viewValue}} \n \n \n \n
    \n
    \n 0\" [ngIfElse]=\"emptyState\">\n
    \n \n Ingen leverandør\n {{posting.supplierName}}\n \n {{posting.amountPosted | vatCurrency}}\n
    \n
    \n \n
    \n Ingen posteringer\n
    \n
    \n
    \n
    \n
    \n\n \n
    \n {{label.text}}:\n\n \n {{hoveredPosting[label.key] | vatCurrency}}\n \n\n \n
    \n {{hoveredPosting.supplierName ?? \"Ingen leverandør\"}}\n
    \n\n \n {{hoveredPosting[label.key]}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { Posting } from 'src/app/api/vat';\nimport { faCheck } from '@fortawesome/free-solid-svg-icons';\nimport { Row } from 'src/app/global-models';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\n@Component({\n selector: 'app-information',\n templateUrl: './information.component.html',\n styleUrls: [ './information.component.scss' ],\n})\nexport class InformationComponent implements OnInit {\n @Input() postingInformation: Posting;\n rowDefinitions: Row[] = [];\n faCheck = faCheck;\n constructor(private labelGlossaryService: LabelGlossaryService) { }\n\n ngOnInit(): void {\n this.labelGlossaryService.overlayDefinition$.subscribe((rows: Row[]) => {\n this.rowDefinitions = rows;\n });\n }\n\n getViewValue(row: Row): string {\n return row?.overlayText !== undefined ? row.overlayText : row.text;\n }\n\n\n getDataValue(row: Row): string {\n const keys = row.key?.split('.');\n if (keys.length === 1)\n return this.postingInformation[ row.key ];\n\n if (this.postingInformation[ keys[ 0 ] ] === null)\n return '';\n\n return this.postingInformation[ keys[ 0 ] ][ keys[ 1 ] ];\n }\n}\n","
    \n\n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
    {{getViewValue(row)}}:\n \n \n DKK\n
    {{getViewValue(row)}}:{{postingInformation[row.key] | vatCurrency}}
    {{getViewValue(row)}}:{{postingInformation[row.key] | date:'dd-MM-yyyy' }}
    {{getViewValue(row)}}:{{getDataValue(row)}}
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { Invoice } from 'src/app/api/vat';\n\n@Component({\n selector: 'app-invoice',\n templateUrl: './invoice.component.html',\n styleUrls: ['./invoice.component.scss'],\n})\nexport class InvoiceComponent implements OnInit {\n @Input() invoice: Invoice;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n
    \n
    \n
    \n
    \n

    Leverandørnummer: {{invoice.supplierNo}}

    \n

    Kreditor: {{invoice.supplierName}}

    \n

    Debitor: {{invoice.buyer}}

    \n
    \n
    \n
    \n
    \n

    Fakturanummer: {{invoice.invoiceNo}}

    \n

    Fakturadato: {{invoice.date | date:'dd-MM-YYYY'}}

    \n

    EAN: {{invoice.ean}}

    \n
    \n
    \n
    \n\n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    LinjeVarenr.BeskrivelseAntalEnhedEnhedsprisMomsTotal
    {{invoiceline.lineNo}}{{invoiceline.itemNo}}{{invoiceline.description}}{{invoiceline.quantity}}{{invoiceline.unitType}}{{invoiceline.unitPrice | vatCurrency: invoice.invoiceCurrencyCode}}{{invoiceline.vatPercentage}}%{{invoiceline.total | vatCurrency: invoice.invoiceCurrencyCode}}
    \n\n
    \n\n
    \n
    \n
    \n

    Liniesum i alt excl. moms: {{invoice.amountExVat | vatCurrency : invoice.invoiceCurrencyCode}}\n

    \n

    Momsgrundlag: {{invoice.standardRatedAmount | vatCurrency : invoice.invoiceCurrencyCode}}

    \n

    Total momsbeløb (25%): {{invoice.invoiceVatAmount | vatCurrency :\n invoice.invoiceCurrencyCode}}

    \n

    Total incl. moms: {{invoice.amountTotal | vatCurrency : invoice.invoiceCurrencyCode}}

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

    Fakturabeskrivelse:

    \n

    \n {{invoice.description}}\n

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n Ingen faktura at vise\n
    \n
    ","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport {\n faArrowUp,\n faPlus,\n faChevronRight,\n faTimes,\n faCheck,\n faArrowDown,\n faSave,\n faTrash,\n} from '@fortawesome/free-solid-svg-icons';\nimport { OverlayService } from '@modules/overlay/services/overlay.service';\nimport { COMMA, ENTER, I } from '@angular/cdk/keycodes';\nimport {\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { debounceTime, filter } from 'rxjs/operators';\nimport {\n Message,\n Posting,\n PostingFilter,\n PostingNote,\n PostingService,\n UpdatePosting,\n User,\n} from 'src/app/api/vat';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AreYouSureDialogComponent } from '@modules/dialog/components/are-you-sure-dialog/are-you-sure-dialog.component';\nimport {\n CheckBoxService,\n PostingCheckbox,\n} from '@modules/postings/services/check-box.service';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { __values } from 'tslib';\nimport { PostingNoteChangeService } from '@modules/commons/services/posting-note-change.service';\n\nexport enum NOTEMODES {\n View = 1,\n Create = 2,\n Update = 3,\n}\n\n@Component({\n selector: 'app-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n})\nexport class OverlayComponent implements OnInit, OnDestroy {\n faArrowUp = faArrowUp;\n faPlus = faPlus;\n faChevronRight = faChevronRight;\n faTimes = faTimes;\n faCheck = faCheck;\n faArrowDown = faArrowDown;\n faSave = faSave;\n faTrash = faTrash;\n\n @Input() isAllPostingsSelected: boolean = false;\n @Input() totalPostings: number = 0;\n\n postingTabs: Posting[] = [];\n postingIds = this.postingTabs.map((x) => x.postingId);\n overlayState: number = 0;\n selectedTab: UntypedFormControl = new UntypedFormControl(0);\n selectedCheckboxPostingIdsCounter: number;\n private selectedCheckboxPostingIdList: number[];\n private deSelectedCheckboxPostingIdList: number[];\n postingFilter: PostingFilter;\n private editedNoteId: number = 0;\n private routePath: string;\n\n // Posting Notes Properties\n noteMode: NOTEMODES = NOTEMODES.View;\n public noteModeTypes = NOTEMODES;\n notesClosed: boolean = true;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n postingNoteFormControl = new UntypedFormGroup({\n personName: new UntypedFormControl(''),\n postingNoteSubject: new UntypedFormControl('', [Validators.maxLength(100)]),\n postingNoteText: new UntypedFormControl('', [\n Validators.required,\n Validators.minLength(1),\n ]),\n });\n allPersons: User[] = [];\n filteredPersons: User[] = [];\n Selectedpersons: User[] = [];\n currentNote?: PostingNote;\n savePostingLike: number = 1;\n\n createOrEditPostingNoteLabel: string;\n constructor(\n private overlayService: OverlayService,\n private postingService: PostingService,\n private internalMessagesServive: MessagesService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private internalFilterService: InternalFilterService,\n private checkBoxService: CheckBoxService,\n public dialog: MatDialog,\n private postingNoteChangeService: PostingNoteChangeService,\n private route: ActivatedRoute\n ) {}\n\n ngOnDestroy(): void {\n this.overlayService.removeAllPostingTabs();\n this.overlayService.setOverlayClosed();\n }\n\n ngOnInit() {\n this.internalFilterService.postingFilter\n .pipe(\n filter((pf) => pf.analysisId !== null),\n debounceTime(2000)\n )\n .subscribe((postingFilter) => (this.postingFilter = postingFilter));\n\n this.checkBoxService.postingCheckboxs$.subscribe(\n (checkboxPosting: PostingCheckbox) => {\n this.isAllPostingsSelected = checkboxPosting.isAllSelected;\n this.deSelectedCheckboxPostingIdList = checkboxPosting.deSelected;\n\n if (this.isAllPostingsSelected) {\n this.selectedCheckboxPostingIdsCounter =\n this.totalPostings - this.deSelectedCheckboxPostingIdList.length;\n } else {\n this.selectedCheckboxPostingIdList = checkboxPosting.selected;\n this.selectedCheckboxPostingIdsCounter =\n checkboxPosting.selected.length;\n\n if (this.selectedCheckboxPostingIdsCounter === 0)\n this.savePostingLike = 1;\n }\n }\n );\n this.routePath = this.route.snapshot.routeConfig.path;\n if (this.routePath === 'posteringer/postingnote/:postingNoteId')\n this.route.url.subscribe((url) => {\n this.editedNoteId = Number(url[2].path);\n });\n\n this.overlayService.overlayState$.subscribe((overlayState) => {\n this.overlayState = overlayState;\n });\n\n this.overlayService.postingTabs$\n .pipe(filter((p) => p !== null))\n .subscribe((postingTabs: Posting[]) => {\n this.tryOpenSaveNoteDialog(this.postingTabs.length - 1).then(() => {\n this.postingTabs = postingTabs;\n this.selectedTab.setValue(this.postingTabs.length - 1);\n });\n });\n\n this.overlayService.currentSelectedPostingID$.subscribe((postingID) => {\n const index = this.postingTabs.map((p) => p.postingId).indexOf(postingID);\n if (index !== -1) {\n this.tryOpenSaveNoteDialog(index).then(() => {\n this.selectedTab.setValue(index);\n });\n }\n });\n\n this.loadUsers();\n\n this.getPostingNameControl().valueChanges.subscribe((value: string) => {\n if (this.getPostingNameControl().untouched && typeof value === 'string') {\n const selectedPersonsIds = this.Selectedpersons.map((p) => p.userId);\n this.filteredPersons = this.allPersons\n .filter(\n (o) =>\n o.userName\n ?.toLocaleLowerCase()\n .indexOf(value.toLocaleLowerCase()) > -1\n )\n .filter((p) => selectedPersonsIds.includes(p.userId) === false);\n } else {\n this.resetpersonNameFormControl();\n }\n });\n }\n\n public getPostingNameControl = () =>\n this.postingNoteFormControl.get('personName');\n public getPostingNoteSubjectControl = () =>\n this.postingNoteFormControl.get('postingNoteSubject');\n public getPostingNoteTextControl = () =>\n this.postingNoteFormControl.get('postingNoteText');\n\n private tryOpenSaveNoteDialog(postingTabIndex: number): Promise {\n return new Promise((resolve, reject) => {\n if (this.isPostingNoteInformationEmpty()) {\n this.dialog\n .open(AreYouSureDialogComponent, {\n data: {\n title: 'Hvordan vil du fortsætte?',\n bodyInformation: 'Vil du gemme den igangværende posterings note?',\n },\n })\n .afterClosed()\n .subscribe((saveNote: boolean) => {\n if (saveNote)\n this.saveNote(this.postingTabs[this.selectedTab.value].postingId);\n\n this.selectedTab.setValue(postingTabIndex);\n this.noteMode = NOTEMODES.View;\n resolve();\n });\n } else {\n this.noteMode = NOTEMODES.View;\n resolve();\n }\n });\n }\n\n private isPostingNoteInformationEmpty = () =>\n (this.noteMode === NOTEMODES.Update &&\n (this.getPostingNameControl().touched ||\n this.getPostingNoteTextControl().touched ||\n this.getPostingNoteSubjectControl().touched)) ||\n (this.noteMode === NOTEMODES.Create &&\n this.getPostingNoteTextControl().valid);\n\n private loadUsers(): void {\n const customerid: number =\n +this.internalCurrentCustomerService.getCustomerId();\n this.postingService\n .getUsersForPostingNote(customerid)\n .subscribe((result) => {\n this.allPersons = result;\n this.filteredPersons = result;\n });\n }\n\n changeSelectedTap(event: MatTabChangeEvent): void {\n this.overlayService.updateCurrentPostingID(\n this.postingTabs[event.index]?.postingId\n );\n }\n\n openTab(): void {\n if (this.overlayState === 2) {\n this.overlayService.setOverlayFull();\n } else {\n this.overlayService.setOverlayMedium();\n }\n }\n\n private getTabIndex(posting: Posting): number {\n return this.postingTabs.map((s) => s.postingId).indexOf(posting.postingId);\n }\n\n public removeTab(posting: Posting) {\n const index = this.getTabIndex(posting);\n this.postingTabs.splice(index, 1);\n this.overlayService.updateCurrentPostingID(\n this.postingTabs[index - 1]?.postingId\n );\n if (this.postingTabs.length === 0) {\n this.overlayService.setOverlayClosed();\n }\n }\n\n public toggleMinOverlay(): void {\n this.overlayService.minOverlaySize();\n }\n\n public toggleMaxOverlay(): void {\n this.overlayService.maxOverlaySize();\n }\n\n hideWhenNoTabsOpened(): boolean {\n return this.postingTabs.length === 0;\n }\n\n createNote(): void {\n this.createOrEditPostingNoteLabel = 'Opret Note';\n this.clearNote();\n this.resetpersonNameFormControl();\n if (this.noteMode === 1) {\n this.noteMode = NOTEMODES.Create;\n this.notesClosed = false;\n if (this.overlayState === 0) {\n this.overlayService.setOverlayMedium();\n }\n } else {\n this.noteMode = NOTEMODES.View;\n }\n }\n\n clearNote(): void {\n this.getPostingNoteTextControl().reset('');\n this.getPostingNoteSubjectControl().reset('');\n this.Selectedpersons = [];\n }\n\n editNote(message: Message): void {\n this.createOrEditPostingNoteLabel = 'Rediger Note';\n this.noteMode = NOTEMODES.Update;\n this.loadPostingNote(message.postingNoteId);\n }\n\n closeNotes(): void {\n this.notesClosed = !this.notesClosed;\n }\n\n cancelNote(): void {\n this.noteMode = NOTEMODES.View;\n this.resetpersonNameFormControl();\n }\n\n private loadPostingNote(postingNoteId: number): void {\n this.postingService.postingNote(postingNoteId).subscribe((result) => {\n this.currentNote = result;\n this.savePostingLike = 3;\n\n this.getPostingNoteTextControl().setValue(this.currentNote.text);\n this.getPostingNoteSubjectControl().setValue(this.currentNote.subject);\n this.Selectedpersons = this.allPersons.filter(\n (o) => result.mentionUserIds.indexOf(o.userId) > -1\n );\n });\n }\n\n saveNote(currentPostingId: number): void {\n const note: PostingNote = {\n postingIds: [currentPostingId],\n isNews: false,\n postingReferencesCount: 0,\n postingFilter: this.postingFilter,\n postingNoteId:\n this.noteMode === NOTEMODES.Create\n ? 0\n : this.currentNote?.postingNoteId,\n mentionUserIds: this.Selectedpersons.map((o) => o.userId),\n subject: this.getPostingNoteSubjectControl().value,\n text: this.getPostingNoteTextControl().value,\n createdBy:\n this.noteMode === NOTEMODES.Create ? null : this.currentNote.createdBy,\n };\n\n if (note.subject === '') {\n note.subject = 'Ny besked';\n }\n\n if (\n this.savePostingLike === 2 &&\n this.selectedCheckboxPostingIdsCounter > 0\n ) {\n note.postingIds = this.selectedCheckboxPostingIdList;\n }\n let noteId = this.editedNoteId;\n if (this.savePostingLike === 3) {\n this.deSelectedCheckboxPostingIdList = [];\n noteId = this.currentNote.postingNoteId;\n note.postingIds = [];\n }\n if (this.isAllPostingsSelected && this.savePostingLike == 2) {\n note.postingIds = [];\n }\n if (\n this.getPostingNoteSubjectControl().valid &&\n this.getPostingNoteTextControl().valid\n ) {\n const updatePosting: UpdatePosting = {\n postingFilter: this.postingFilter,\n postingNote: note,\n deSelectedPostings: this.deSelectedCheckboxPostingIdList,\n editedNoteId: noteId,\n };\n this.postingService\n .savePostingNote(updatePosting)\n .subscribe((isSaved: boolean) => {\n if (isSaved) {\n this.noteMode = NOTEMODES.View;\n this.clearNote();\n this.resetpersonNameFormControl();\n if (this.savePostingLike !== 3) {\n this.postingNoteChangeService.notifyNoteOnPostings();\n }\n }\n });\n }\n }\n refreshNotesOnDeletion(): void {\n this.postingNoteChangeService.notifyNoteOnPostings();\n }\n\n removeAllTabs(): void {\n this.overlayService.resetOverayTabs();\n }\n\n removePerson(person: User): void {\n const index = this.Selectedpersons.indexOf(person);\n\n if (index >= 0) {\n this.Selectedpersons.splice(index, 1);\n }\n this.filteredPersons = this.allPersons.filter(\n (o) => !this.Selectedpersons.includes(o)\n );\n }\n\n clearTheMatChipInput(event: MatChipInputEvent): void {\n // Clear the input value\n event.chipInput.clear();\n }\n\n addSelectedPerson(userId: number, chipList: MatChipList): void {\n const user: User = this.allPersons.find((x) => x.userId === userId);\n chipList.writeValue('');\n chipList._setSelectionByValue('', false);\n this.Selectedpersons.push(user);\n\n this.resetpersonNameFormControl();\n }\n\n private resetpersonNameFormControl(): void {\n this.getPostingNameControl().markAsUntouched();\n this.getPostingNameControl().setValue('');\n }\n}\n","
    \n\n \n\n \n \n \n {{postingTab?.text}}\n \n \n \n
    \n\n
    \n
    \n
    \n
    \n
    Alle oplysninger
    \n
    \n \n \n
    \n \n
    \n
    \n
    Fakturaoplysninger
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n Noter\n \n
    \n \n \n
    \n
    {{createOrEditPostingNoteLabel}}
    \n\n
    \n\n \n \n \n {{person.userName}}\n \n \n \n \n \n \n {{person.userName}}\n \n \n \n\n \n Emne (max 100 tegn)\n \n \n\n \n Note\n \n \n\n
    \n \n \n \n
    \n
    \n
    \n \n Denne postering\n \n Valgte\n i posteringsoversigt\n ({{selectedCheckboxPostingIdsCounter }})\n Tidl. referencer\n for note\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    ","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport {\n OverlayRelatedFilter,\n OverlayService,\n} from '@modules/overlay/services/overlay.service';\nimport { PagingModel, Posting, PostingService } from 'src/app/api/vat';\nimport { Subscription } from 'rxjs';\nimport { Row } from 'src/app/global-models';\n\n@Component({\n selector: 'app-related-postings',\n templateUrl: './related-postings.component.html',\n styleUrls: ['../overlay/overlay.component.scss'],\n})\nexport class RelatedPostingsComponent implements OnInit, OnDestroy {\n @Input() postingId: number;\n pageModel: PagingModel;\n relatedPostings: Posting[] = [];\n subscriptions: Subscription[] = [];\n popupVisible: boolean = false;\n hoveredPosting: Posting = undefined;\n loadedAll: boolean = false;\n skip: number = 0;\n take: number = 30;\n scrollLoad = false;\n labelRows: Row[] = [];\n\n constructor(\n private postingsService: PostingService,\n private overlayService: OverlayService,\n private labelGlossaryService: LabelGlossaryService\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.labelGlossaryService.releatedPostingDefinitions$.subscribe(\n (labels) => {\n this.labelRows = labels;\n this.pageModel = this.resetPageModel();\n this.loadRelatedPostings();\n this.subscriptions.push(\n this.overlayService.filterRelated$.subscribe(\n (filter: OverlayRelatedFilter) => {\n if (filter.postingId === this.postingId) {\n this.pageModel = filter.pageModel;\n this.relatedPostings = [];\n this.loadRelatedPostings();\n }\n }\n )\n );\n }\n )\n );\n }\n\n resetPageModel(): PagingModel {\n return {\n skip: this.skip,\n take: this.take,\n filter: '',\n sortBy: this.pageModel?.sortBy ?? {\n ascending: true,\n propertyName: 'sort-3',\n },\n };\n }\n\n loadRelatedPostings(): void {\n this.subscriptions.push(\n this.postingsService\n .getInvoiceRelatedPostings(this.postingId, this.pageModel)\n .subscribe((postings: Posting[]) => {\n if (postings.length) {\n this.relatedPostings.push(...postings);\n this.scrollLoad = false;\n if (postings.length >= this.take) this.loadedAll = false;\n else {\n this.loadedAll = true;\n }\n } else {\n this.loadedAll = true;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n addPostingToTab(posting: Posting): void {\n this.overlayService.addPostingToTab(posting);\n }\n\n onScroll(event: Event): void {\n if (!this.scrollLoad && !this.loadedAll) {\n const tracker: any = event.target;\n if (\n tracker.scrollHeight - tracker.scrollTop <=\n tracker.clientHeight + 100 ||\n (tracker.clientHeight > 128 &&\n tracker.scrollHeight - tracker.scrollTop <=\n tracker.clientHeight + 200)\n ) {\n this.pageModel.skip += this.pageModel.take;\n this.loadRelatedPostings();\n this.scrollLoad = true;\n }\n }\n }\n}\n","
    \n
    Posteringer til faktura el. bilag
    \n
    \n 0\" [ngIfElse]=\"emptyState\">\n
    \n \n Ingen leverandør\n {{posting.supplierName}}\n \n {{posting.amountPosted | vatCurrency}}\n
    \n
    \n \n
    \n Ingen relaterede posteringer\n
    \n
    \n
    \n
    \n
    \n\n \n
    \n {{label.text}}:\n\n \n {{hoveredPosting[label.key] | vatCurrency}}\n \n\n \n
    \n {{hoveredPosting.supplierName ?? \"Ingen leverandør\"}}\n
    \n\n \n {{hoveredPosting[label.key]}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayComponent } from './components/overlay/overlay.component';\n\n// Materials\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FavoritesModule } from '@modules/favorites/favorites.module';\n\n// costume Modules\nimport { MessagesModule } from '@modules/messages/messages.module';\nimport { CommonsModule } from '@modules/commons/commons.module';\n\n// components\nimport { InformationComponent } from './components/information/information.component';\nimport { InvoiceComponent } from './components/invoice/invoice.component';\nimport { RelatedPostingsComponent } from './components/related-postings/related-postings.component';\nimport { AccountNoRelatedPostingsComponent } from './components/account-no-related-postings/account-no-related-postings.component';\n\n@NgModule({\n declarations: [OverlayComponent, InformationComponent, InvoiceComponent, RelatedPostingsComponent, AccountNoRelatedPostingsComponent],\n imports: [\n CommonModule,\n FavoritesModule,\n MatIconModule,\n MatButtonModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n MatListModule,\n MatTabsModule,\n FontAwesomeModule,\n MatCheckboxModule,\n BrowserModule,\n MatSortModule,\n MatRadioModule,\n MatSelectModule,\n MatChipsModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatFormFieldModule,\n MessagesModule,\n CommonsModule,\n ],\n exports: [OverlayComponent],\n})\nexport class OverlayModule {}\n","import { Injectable } from '@angular/core';\nimport { PagingModel, Posting, PostingService } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport config from 'src/assets/config.json';\n\nexport interface OverlayRelatedFilter {\n pageModel: PagingModel;\n postingId: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OverlayService {\n private overlayState: BehaviorSubject = new BehaviorSubject(\n 0\n );\n private postingTabs: BehaviorSubject = new BehaviorSubject([]);\n private currentSelectedPostingID: BehaviorSubject = new BehaviorSubject(null);\n private postingshasRelatedNote: Subject = new Subject();\n\n private filterRelatedValue: Subject = new Subject();\n private bounceFilterRelatedValue: Subject = new Subject();\n\n public overlayState$: Observable = this.overlayState.asObservable();\n public postingTabs$: Observable = this.postingTabs.asObservable();\n public currentSelectedPostingID$: Observable = this.currentSelectedPostingID.asObservable();\n public postingshasRelatedNote$: Observable<\n number[]\n > = this.postingshasRelatedNote.asObservable();\n public filterRelated$: Observable = this.filterRelatedValue.asObservable();\n\n\n constructor(private postingService: PostingService) {\n this.bounceFilterRelatedValue\n .pipe(debounceTime(config.DebounceTime), distinctUntilChanged())\n .subscribe(\n (filter) => {\n this.filterRelatedValue.next(filter);\n },\n (error) => console.log(error)\n );\n }\n\n maxOverlaySize() {\n if (this.overlayState.value === 0) {\n this.overlayState.next(1);\n } else {\n this.overlayState.next(2);\n }\n }\n\n updateStatusOnSelectedPostings(postings: Posting[]) {\n const postingTabs = this.postingTabs.value;\n postingTabs.forEach((tab) => {\n const postingIndex = postings.findIndex(\n (p) => p.postingId === tab.postingId\n );\n if (postingIndex > -1) {\n tab.result = postings[postingIndex].result;\n tab.status = postings[postingIndex].status;\n tab.correctedPotential = postings[postingIndex].correctedPotential;\n }\n });\n this.postingTabs.next(postingTabs);\n }\n\n minOverlaySize() {\n if (this.overlayState.value === 2) {\n this.overlayState.next(1);\n } else {\n this.overlayState.next(0);\n }\n }\n\n setOverlayClosed() {\n this.overlayState.next(0);\n }\n\n setOverlayMedium() {\n this.overlayState.next(1);\n }\n\n setOverlayFull() {\n this.overlayState.next(2);\n }\n\n updateCurrentPostingID(selectedPostingID: number) {\n if (this.currentSelectedPostingID.getValue() !== selectedPostingID) {\n this.currentSelectedPostingID.next(selectedPostingID);\n }\n }\n\n resetOverayTabs() {\n this.currentSelectedPostingID.next(null);\n this.removeAllPostingTabs();\n this.postingshasRelatedNote.next([]);\n this.setOverlayClosed();\n }\n\n removeAllPostingTabs() {\n this.postingTabs.next([]);\n }\n\n addPostingToTab(posting: Posting) {\n const postings = this.postingTabs.value;\n\n if (!(postings.findIndex((x) => x.postingId === posting.postingId) > -1)) {\n this.postingService\n .getPosting(posting.postingId)\n .subscribe((result) => {\n postings.push(result);\n this.postingTabs.next(postings);\n });\n }\n }\n\n annoucePostinghasRelatedNotes(ids: number[]) {\n this.postingshasRelatedNote.next(ids);\n }\n\n announceRelatedFilterValue(filter: OverlayRelatedFilter) {\n this.bounceFilterRelatedValue.next(filter);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { faLessThan, faGreaterThan, faEquals } from '@fortawesome/free-solid-svg-icons';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'app-column-filter-multi-text-box',\n templateUrl: './column-filter-multi-text-box.component.html',\n styleUrls: ['./column-filter-multi-text-box.component.scss']\n})\nexport class ColumnFilterMultiTextBoxComponent implements OnInit {\n\n faLessThan = faLessThan;\n faGreaterThan = faGreaterThan;\n faEquals = faEquals;\n\n searchFieldEquals = new UntypedFormControl('');\n searchFieldLess = new UntypedFormControl('');\n searchFieldGreaterThan = new UntypedFormControl('');\n @Input() placeHolder: string;\n @Input() columnKey: string;\n @Output() SearchValue = new EventEmitter();\n\n debouncetime: number = 600;\n constructor() { }\n\n ngOnInit(): void {\n this.searchFieldEquals.valueChanges\n .pipe(debounceTime(this.debouncetime), distinctUntilChanged())\n .subscribe((searchValue: string) => {\n this.disablingForm();\n this.validateInput(this.searchFieldEquals, searchValue);\n this.updateEvent(this.searchFieldEquals, 'equals');\n\n });\n\n this.searchFieldLess.valueChanges\n .pipe(debounceTime(this.debouncetime), distinctUntilChanged())\n .subscribe((searchValue: string) => {\n this.disablingForm();\n this.validateInput(this.searchFieldLess, searchValue);\n this.updateEvent(this.searchFieldLess, 'less');\n\n });\n\n this.searchFieldGreaterThan.valueChanges\n .pipe(debounceTime(this.debouncetime), distinctUntilChanged())\n .subscribe((searchValue: string) => {\n this.disablingForm();\n this.validateInput(this.searchFieldGreaterThan, searchValue);\n this.updateEvent(this.searchFieldGreaterThan, 'greater');\n });\n }\n\n private disablingForm(): void {\n if (this.searchFieldGreaterThan.value === '' && this.searchFieldLess.value === '' && this.searchFieldEquals.value === '') {\n this.searchFieldGreaterThan.reset('');\n this.searchFieldLess.reset('');\n this.searchFieldEquals.reset('');\n this.searchFieldEquals.enable();\n this.searchFieldGreaterThan.enable();\n this.searchFieldLess.enable();\n }\n else if (this.searchFieldGreaterThan.value !== '' || this.searchFieldLess.value !== '') {\n this.searchFieldEquals.reset('');\n this.searchFieldEquals.disable();\n }\n else if (this.searchFieldEquals.value !== '') {\n this.searchFieldGreaterThan.reset('');\n this.searchFieldLess.reset('');\n this.searchFieldGreaterThan.disable();\n this.searchFieldLess.disable();\n }\n }\n\n private updateEvent(form: UntypedFormControl, type: 'less' | 'greater' | 'equals'): void {\n this.SearchValue.emit({\n value: form.value,\n type: type,\n });\n }\n\n private validateInput(form: UntypedFormControl, searchValue: string): void {\n const regex: RegExp = new RegExp(/[a-zA-Z?!\"#¤%&/()=?+$£:;><*]+/g);\n form.setValue(searchValue.replace(regex, ''));\n }\n\n public clearAllInputs(): void {\n this.searchFieldEquals.reset('');\n this.searchFieldGreaterThan.reset('');\n this.searchFieldLess.reset('');\n this.searchFieldEquals.enable({ emitEvent: false });\n\n this.searchFieldGreaterThan.enable({ emitEvent: false });\n\n this.searchFieldLess.enable({ emitEvent: false });\n }\n\n}\n","
    \n \n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n
    \n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport config from 'src/assets/config.json';\n@Component({\n selector: 'app-column-filter-text-box',\n templateUrl: './column-filter-text-box.component.html',\n styleUrls: ['./column-filter-text-box.component.scss'],\n})\nexport class ColumnFilterTextBoxComponent implements OnInit, OnChanges {\n searchField = new UntypedFormControl('');\n @Input() placeHolder: string;\n @Input() columnKey: string;\n @Input() columnFilterText: any = undefined;\n @Input() searchType: string;\n @Output() SearchValue = new EventEmitter();\n private oldVal = '';\n\n constructor() { }\n ngOnChanges(changes: SimpleChanges): void {\n if ('columnKey' in changes) {\n if (this.columnFilterText !== undefined && this.columnFilterText[this.columnKey] !== undefined) {\n if (this.columnFilterText[this.columnKey][this.searchType] !== null || undefined)\n this.searchField.setValue(this.columnFilterText[this.columnKey][this.searchType]);\n }\n }\n }\n\n ngOnInit(): void {\n this.searchField.valueChanges\n .pipe(debounceTime(config.DebounceTime), distinctUntilChanged())\n .subscribe((searchValue: string) => {\n if (searchValue !== this.oldVal) {\n this.oldVal = searchValue;\n this.SearchValue.emit(searchValue);\n }\n\n });\n }\n\n public clearInput() {\n this.oldVal = '';\n this.columnFilterText[this.columnKey] = undefined;\n this.searchField.setValue('');\n }\n}\n","\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { HeaderService } from '@modules/shell/services/header.service';\nimport {\n faArrowLeft,\n faArrowRight,\n faChevronLeft,\n faChevronRight,\n} from '@fortawesome/free-solid-svg-icons';\nimport { OverlayService } from '@modules/overlay/services/overlay.service';\nimport { FilterBarService } from '@modules/filter/services/filter-bar.service';\nimport { Posting } from 'src/app/api/vat';\nimport { ActivatedRoute } from '@angular/router';\nimport { LoadingSpinnerService } from '@modules/shell/services/loading-spinner.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-postings',\n templateUrl: './postings.component.html',\n styleUrls: ['./postings.component.scss'],\n})\nexport class PostingsComponent implements OnInit, OnDestroy {\n // Icons\n faArrowLeft = faArrowLeft;\n faArrowRight = faArrowRight;\n faChevronLeft = faChevronLeft;\n faChevronRight = faChevronRight;\n\n selectedPosting: Posting;\n postingStatus;\n\n subscriptions: Subscription[] = [];\n\n isNotRoutePostingNotePostings: boolean = true;\n\n filterBarState: boolean = false;\n overlayState: number;\n isLoading: boolean = false;\n constructor(\n private overlayService: OverlayService,\n private headerService: HeaderService,\n private filterBarService: FilterBarService,\n private route: ActivatedRoute,\n private changeDetectorRef: ChangeDetectorRef,\n private spinnerService: LoadingSpinnerService\n ) {}\n\n ngOnDestroy(): void {\n this.headerService.updateTitleHeader('');\n this.subscriptions.map((s) => s.unsubscribe);\n }\n\n ngOnInit() {\n this.isNotRoutePostingNotePostings =\n this.route.snapshot.routeConfig.path !==\n 'posteringer/postingnote/:postingNoteId';\n\n this.subscriptions.push(\n this.overlayService.overlayState$.subscribe((overlayState: number) => {\n this.overlayState = overlayState;\n })\n );\n this.subscriptions.push(\n this.filterBarService.filterBarState.subscribe((value: boolean) => {\n this.filterBarState = value;\n })\n );\n this.subscriptions.push(\n this.spinnerService.SmallSpinner$.subscribe((o) => (this.isLoading = !o))\n );\n\n this.changeDetectorRef.detectChanges();\n }\n}\n","
    \n \n
    \n
    \n fixer\n \n
    \n
    \n \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n","import {\n AfterViewInit,\n Component,\n ViewChild,\n OnInit,\n OnDestroy,\n NgZone,\n ElementRef,\n Directive,\n} from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\nimport {\n faArrowDown,\n faTimes,\n faFileExcel,\n faComment,\n faCaretDown,\n faLessThan,\n faGreaterThan,\n faEquals,\n} from '@fortawesome/free-solid-svg-icons';\nimport { OverlayService } from '@modules/overlay/services/overlay.service';\nimport {\n Posting,\n UpdatePosting,\n PostingService,\n FileResponse,\n} from 'src/app/api/vat';\nimport {\n ExcelColumnItem,\n ExcelExportBody,\n PostingAndFilter,\n PostingFilter,\n} from 'src/app/api/vat';\nimport { Column } from 'src/app/global-models';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport * as FileSaver from 'file-saver';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n take,\n} from 'rxjs/operators';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport {\n FilterBarService,\n headerChip,\n} from '@modules/filter/services/filter-bar.service';\nimport { PagingModel } from 'src/app/api/vat';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { HeaderService } from '@modules/shell/services/header.service';\nimport moment from 'moment';\nimport config from 'src/assets/config.json';\nimport { LoadingSpinnerService } from '@modules/shell/services/loading-spinner.service';\nimport { PostingStatusChangeService } from '@modules/commons/services/posting-status-change.service';\nimport { LabelGlossaryService } from '@modules/label-glossary/services/label-glossary.service';\nimport { LoadingTemplateFactoryService } from '@modules/commons/services/loading-template-factory.service';\nimport { Subject, Subscription } from 'rxjs';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport {\n CheckBoxService,\n PostingCheckbox,\n} from '@modules/postings/services/check-box.service';\nimport { PostingNoteChangeService } from '@modules/commons/services/posting-note-change.service';\n\nexport const MY_FORMAT1 = {\n parse: {\n dateInput: 'MM-YYYY',\n },\n display: {\n dateInput: 'DD-MM-YYYY',\n monthYearLabel: 'DD MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'DD MMMM YYYY',\n },\n};\nexport const MY_FORMAT2 = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'YYYY',\n },\n};\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MY_FORMAT1 }],\n})\nexport class TableComponent implements OnInit, AfterViewInit, OnDestroy {\n // icons\n faArrowDown = faArrowDown;\n faTimes = faTimes;\n faFileExcel = faFileExcel;\n faComment = faComment;\n faCaretDown = faCaretDown;\n faLessThan = faLessThan;\n faGreaterThan = faGreaterThan;\n faEquals = faEquals;\n\n subscriptions: Subscription[] = [];\n\n // properties\n isTableLoading: boolean = true;\n columnKeys: string[] = [];\n displayedColunms: Column[] = [];\n dataSource: MatTableDataSource = new MatTableDataSource();\n postingFilter: PostingFilter;\n postingNoteId: number = 0;\n\n columnFilter: PagingModel = {\n skip: 0,\n take: config.PageSizeBlock,\n sortBy: { propertyName: null, ascending: true },\n };\n // misc\n private selectedRowPostingID: number;\n\n selectInTable: boolean = false;\n\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: false }) sort: MatSort;\n @ViewChild(MatTable) table: MatTable;\n @ViewChild('scroller') scroller: ElementRef;\n columns: Column[];\n infinityScroll = new Subject();\n scrollOpen: boolean = true;\n isAllChecked: boolean = false;\n currentRoutePath: string;\n private isStatusActionBeenActivated: boolean = false;\n audits = [\n ' ',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '19',\n '20',\n ];\n currentYear = new Date().getFullYear();\n minDate = new Date(this.currentYear - 5, 0, 1);\n maxDate = new Date(this.currentYear, 11, 31);\n chosenYear: string;\n constructor(\n private overlayService: OverlayService,\n private internalFilterService: InternalFilterService,\n private postingService: PostingService,\n private labelGlossaryService: LabelGlossaryService,\n private messageServie: MessagesService,\n private filterBarService: FilterBarService,\n private ngZone: NgZone,\n private headerService: HeaderService,\n private spinnerService: LoadingSpinnerService,\n private postingStatusChangeService: PostingStatusChangeService,\n private postingNoteChangeService: PostingNoteChangeService,\n private route: ActivatedRoute,\n private loadingTemplateFactoryService: LoadingTemplateFactoryService,\n private notifyService: NotifyService,\n private checkBoxService: CheckBoxService\n ) {}\n\n ngOnDestroy(): void {\n this.resetColumnFilterObject();\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n private resetColumnFilterObject(): void {\n this.columnFilter = {\n skip: 0,\n take: config.PageSizeBlock,\n sortBy: { propertyName: null, ascending: true },\n };\n this.internalFilterService.updatePagingModelOnPostingFilter(\n this.columnFilter,\n this.postingFilter?.analysisId\n );\n }\n\n ngOnInit(): void {\n this.dataSource.data =\n this.loadingTemplateFactoryService.getPostingTemplate;\n this.currentRoutePath = this.route.snapshot.routeConfig.path;\n\n this.subscriptions.push(\n this.overlayService.currentSelectedPostingID$.subscribe((postingID) => {\n if (this.selectedRowPostingID !== postingID) {\n this.selectedRowPostingID = postingID;\n }\n })\n );\n\n this.subscriptions.push(\n this.labelGlossaryService.postingTableColumnsDefinition$.subscribe(\n (columns: Column[]) => {\n this.displayedColunms = columns.filter((o) => o.visible === true);\n this.columnKeys = this.displayedColunms.map((s) => s.key);\n this.ngZone.onMicrotaskEmpty.pipe(take(3)).subscribe(() => {\n this.table.updateStickyColumnStyles();\n });\n }\n )\n );\n\n this.subscriptions.push(\n this.overlayService.postingshasRelatedNote$.subscribe(\n (idList: number[]) => {\n this.dataSource.data.forEach((o: Posting) => {\n if (\n o.postingNoteIds.findIndex((p) => idList.includes(p) === true) !==\n -1\n ) {\n o.hasNote = true;\n o.hasRelatedNote = true;\n } else o.hasRelatedNote = false;\n });\n }\n )\n );\n\n this.subscriptions.push(\n this.infinityScroll\n .pipe(debounceTime(100), distinctUntilChanged())\n .subscribe(() => {\n this.resolveScroll();\n })\n );\n\n this.subscriptions.push(\n this.postingStatusChangeService.notificationOnPostingStatusChanged$.subscribe(\n () => {\n this.columnFilter.skip = 0;\n this.inifinyScrollResolve();\n this.internalFilterService.updatePagingModelOnPostingFilter(\n this.columnFilter,\n this.postingFilter.analysisId\n );\n this.toggleAll(false);\n }\n )\n );\n this.subscriptions.push(\n this.postingNoteChangeService.notificationOnPostingNoteChanged$.subscribe(\n () => {\n this.columnFilter.skip = 0;\n this.inifinyScrollResolve();\n this.internalFilterService.updatePagingModelOnPostingFilter(\n this.columnFilter,\n this.postingFilter.analysisId\n );\n this.toggleAll(false);\n }\n )\n );\n this.load();\n }\n\n checkStickyEnd() {\n return this.displayedColunms.filter((x) => x.isStickyEnd === true).length;\n }\n\n private roundNumberToFirstFifty(num: number): number {\n return Math.round(num / 50) * 50;\n }\n\n private inifinyScrollResolve(): void {\n let takeCalculation =\n (this.dataSource.data.length / config.PageSizeBlock) *\n config.PageSizeBlock;\n takeCalculation = this.roundNumberToFirstFifty(takeCalculation);\n this.columnFilter.take =\n this.roundNumberToFirstFifty(takeCalculation) <= config.PageSizeBlock\n ? config.PageSizeBlock\n : takeCalculation;\n this.isStatusActionBeenActivated = true;\n }\n\n isColumnCheckboxSelected(value: any, key: string): boolean {\n if (\n this.columnFilter !== undefined &&\n this.columnFilter?.columnFilters !== undefined\n ) {\n if (\n this.columnFilter?.columnFilters[key]?.inList.includes(\n value?.toString()\n )\n )\n return true;\n }\n return false;\n }\n getCurrency(row: Posting): string {\n return row.invoice?.invoiceCurrencyCode;\n }\n auditSelectionChanged(auditValue: string, row: Posting): void {\n if (this.isAllChecked === false) {\n const selectedPostingIds = this.getCheckboxSelectedPostings();\n if (\n this.getCheckboxSelectedPostings()\n .map((post) => post.postingId)\n .includes(row.postingId) === false\n )\n selectedPostingIds.push(row);\n\n this.postingService\n .updateBDOAuditByPostingIds(\n auditValue,\n selectedPostingIds.map((p) => p.postingId)\n )\n .subscribe((postingUpdated: number) => {\n this.columnFilter.skip = 0;\n this.updateAuditRows(selectedPostingIds, auditValue);\n this.toggleAll(false);\n this.notifyService.notifySnackBarInformation(\n `${postingUpdated.toLocaleString(\n 'da-DK'\n )} Posteringer har ændret BDOAudit til værdien ${auditValue}`,\n 'green'\n );\n this.isTableLoading = false;\n });\n } else {\n if (this.isPostingNoteRoute()) {\n this.postingFilter.pageModel.skip = 0;\n const deselectedPostingIDs = this.getCheckboxNotSelectedPostings().map(\n (p) => p.postingId\n );\n this.isTableLoading = true;\n this.route.url.subscribe((url) => {\n this.postingNoteId = Number(url[2].path);\n });\n const updatePosting: UpdatePosting = {\n editedNoteId: this.postingNoteId,\n deSelectedPostings: deselectedPostingIDs,\n };\n this.postingService\n .updateBDOAuditByPostingNoteId(auditValue, updatePosting)\n .subscribe((postingUpdated: number) => {\n this.updateAuditRows(this.dataSource.data, auditValue);\n this.toggleAll(false);\n this.notifyService.notifySnackBarInformation(\n `${postingUpdated.toLocaleString(\n 'da-DK'\n )} Posteringer har ændret BDOAudit til værdien ${auditValue}`,\n 'green'\n );\n this.isTableLoading = false;\n });\n } else {\n this.postingFilter.pageModel.skip = 0;\n const deselectedPostingIDs = this.getCheckboxNotSelectedPostings().map(\n (p) => p.postingId\n );\n this.isTableLoading = true;\n\n const updatePosting: UpdatePosting = {\n postingFilter: this.postingFilter,\n deSelectedPostings: deselectedPostingIDs,\n editedNoteId: 0,\n };\n this.postingService\n .updateBDOAuditByPostingFilter(auditValue, updatePosting)\n .subscribe((postingUpdated: number) => {\n this.updateAuditRows(this.dataSource.data, auditValue);\n this.toggleAll(false);\n this.notifyService.notifySnackBarInformation(\n `${postingUpdated.toLocaleString(\n 'da-DK'\n )} Posteringer har ændret BDOAudit til værdien ${auditValue}`,\n 'green'\n );\n this.isTableLoading = false;\n });\n }\n }\n }\n\n private updateAuditRows(rows: Posting[], auditValue: string): void {\n if (this.columnFilter.sortBy?.propertyName === 'bdoAudit') {\n this.inifinyScrollResolve();\n this.internalFilterService.updatePagingModelOnPostingFilter(\n this.columnFilter,\n this.postingFilter.analysisId\n );\n } else {\n rows.forEach((p) => {\n if (p.isSelected) p.bdoAudit = auditValue;\n });\n }\n }\n\n getDataValue(row: Posting, columnKeys: string): string {\n const keys = columnKeys?.split('.');\n if (keys.length === 1) return row[keys[0]];\n\n if (row[keys[0]] !== null) return row[keys[0]][keys[1]];\n }\n\n changeOfCorrectedPotential(postingRow: Posting): void {\n this.toggle(postingRow, true);\n }\n\n public get totalPostings(): number {\n return this.columnFilter?.totalRows ?? 0;\n }\n\n public get totalSelectPostings(): number {\n return this.dataSource.data.map((p) => p.isSelected === true)?.length ?? 0;\n }\n\n private load(): void {\n this.subscriptions.push(\n this.internalFilterService.postingFilter\n .pipe(\n filter((pf) => pf.analysisId !== null),\n debounceTime(2000)\n )\n .subscribe((postingFilter: PostingFilter) => {\n this.isTableLoading = true;\n if (this.isPostingsRoute()) {\n this.subscriptions.push(\n this.postingService\n .getPostingsByFilter(postingFilter)\n .subscribe((posting: PostingAndFilter) => {\n if (postingFilter.analysisId === config.GlobalAnalysisId) {\n this.headerService.updateTitleHeader(\n 'Alle fakturaer og posteringer'\n );\n } else {\n this.headerService.updateTitleHeader(\n posting.postings[0]?.primaryAnalysisTitle\n );\n }\n this.dataSource.data = posting.postings;\n this.postingFilter = posting.postingFilter;\n this.overlayService.updateStatusOnSelectedPostings(\n posting.postings\n );\n this.columnFilter = posting.postingFilter.pageModel;\n if (\n this.isAllChecked &&\n this.totalSelectPostings !==\n this.postingFilter.pageModel.totalRows\n ) {\n this.isAllChecked = false;\n this.toggleAll(false);\n }\n this.resolveCheckBoxes();\n this.resolveScrollPosition();\n\n this.isTableLoading = false;\n })\n );\n } else if (this.isPostingNoteRoute()) {\n this.postingNoteLoad();\n }\n })\n );\n\n this.postingNoteLoad();\n }\n\n private isPostingNoteRoute(): boolean {\n return this.currentRoutePath === 'posteringer/postingnote/:postingNoteId';\n }\n\n private isPostingsRoute(): boolean {\n return this.currentRoutePath === 'posteringer/:analysisId';\n }\n\n private postingNoteLoad(): void {\n const noteId = 'postingNoteId';\n const postingNoteId = this.route.snapshot.params[noteId] ?? -1;\n\n if (postingNoteId > -1) {\n this.displaySelectedMessagePostings(postingNoteId);\n }\n this.subscriptions.push(\n this.messageServie.SelectedMessage$.subscribe((postingNoteId) => {\n this.displaySelectedMessagePostings(postingNoteId);\n })\n );\n }\n\n resolveCheckBoxes(): void {\n if (this.isAllChecked) {\n this.dataSource.data.forEach((p) => {\n p.isSelected = true;\n });\n }\n }\n\n clickCheckboxArea(row: Posting, event): void {\n if (event.shiftKey) {\n setTimeout(() => {\n row.isSelected = true;\n }, 50);\n } else {\n event.stopPropagation();\n }\n }\n\n private displaySelectedMessagePostings(postingNoteId: number): void {\n this.postingService\n .postingsByPostingNoteId(postingNoteId, this.columnFilter)\n .subscribe((result: PostingAndFilter) => {\n if (result.postings[0]?.primaryAnalysisTitle !== undefined) {\n this.headerService.updateTitleHeader(\n result.postings[0].primaryAnalysisTitle\n );\n }\n\n this.columnKeys = this.displayedColunms.map((s) => s.key);\n this.dataSource.data = result.postings;\n this.columnFilter = result.postingFilter.pageModel;\n this.columnFilter.totalRows = result.postingFilter.pageModel.totalRows;\n this.overlayService.setOverlayClosed();\n this.postingFilter = {\n analysisId: result.postings[0]?.primaryAnalysisId,\n };\n const chip: headerChip = {\n filter: {},\n type: 'ding',\n removable: false,\n headline: 'Posteringsnote',\n };\n this.filterBarService.setHeaderChip(chip);\n this.isTableLoading = false;\n });\n }\n\n ngAfterViewInit(): void {\n this.dataSource.paginator = this.paginator;\n }\n\n firstShiftSelectedRowIndex: number = null;\n public addRowAsSelected(row: Posting, event: MouseEvent): void {\n if (this.isTableLoading) {\n return;\n }\n\n if (event.shiftKey) {\n row.isSelected = true;\n\n if (this.firstShiftSelectedRowIndex === null) {\n this.toggle(row, true);\n this.firstShiftSelectedRowIndex =\n this.getIndexFromDataSourceByPosting(row);\n } else {\n const temp = this.firstShiftSelectedRowIndex;\n let shiftSecondSelectedRowIndex =\n this.getIndexFromDataSourceByPosting(row);\n\n if (temp > shiftSecondSelectedRowIndex) {\n this.firstShiftSelectedRowIndex = shiftSecondSelectedRowIndex;\n shiftSecondSelectedRowIndex = temp;\n }\n\n for (\n let index = this.firstShiftSelectedRowIndex;\n index <= shiftSecondSelectedRowIndex;\n index++\n ) {\n this.toggle(this.dataSource.data[index], true);\n }\n }\n\n window.getSelection().removeAllRanges();\n } else {\n this.firstShiftSelectedRowIndex =\n this.getIndexFromDataSourceByPosting(row);\n\n this.overlayService.addPostingToTab(row);\n this.overlayService.updateCurrentPostingID(row.postingId);\n this.overlayService.setOverlayMedium();\n this.toggle(row, true);\n }\n }\n\n private getIndexFromDataSourceByPosting(postingRow: Posting): number {\n return this.dataSource.data.findIndex(\n (x) => x.postingId === postingRow.postingId\n );\n }\n\n isCurrentChosenRow(posting: Posting): boolean {\n return posting.postingId === this.selectedRowPostingID;\n }\n\n public toggle(posting: Posting, isChecked: boolean): void {\n posting.isSelected = isChecked;\n this.handleSelectedIds();\n this.isIndeterminate();\n }\n\n public isIndeterminate(): boolean {\n if (this.countIsSelected() === 0) {\n this.isAllChecked = false;\n return false;\n }\n\n if (\n this.countIsSelected() === this.columnFilter.totalRows &&\n this.columnFilter.totalRows > 0\n ) {\n this.isAllChecked = true;\n return false;\n }\n\n if (\n this.countIsSelected() === this.dataSource.data.length &&\n this.dataSource.data.length > 0\n ) {\n this.isAllChecked = true;\n return false;\n }\n\n if (\n this.getCheckboxNotSelectedPostings().map((p) => p.postingId).length >\n 0 &&\n this.getCheckboxSelectedPostings().map((p) => p.postingId).length > 0 &&\n this.isAllChecked === true\n ) {\n return true;\n }\n\n if (\n this.countIsSelected() < this.dataSource.data.length &&\n this.countIsSelected() !== 0\n ) {\n return this.isAllChecked;\n }\n\n return this.countIsSelected() > 0 && this.isAllChecked === false;\n }\n\n handleSelectedIds(): void {\n this.checkBoxService.updateSelectionOfCheckbox({\n selected: this.getCheckboxSelectedPostings().map((p) => p.postingId),\n deSelected: this.getCheckboxNotSelectedPostings().map((p) => p.postingId),\n isAllSelected: this.isAllChecked,\n } as PostingCheckbox);\n }\n\n private getCheckboxSelectedPostings = () =>\n this.dataSource.data.filter((o) => o.isSelected === true);\n\n private getCheckboxNotSelectedPostings = () =>\n this.dataSource.data.filter((o) => o.isSelected === false);\n\n public isChecked(posting: Posting): boolean {\n return (\n this.dataSource.data\n .filter((o) => o.isSelected === true)\n .indexOf(posting) > -1\n );\n }\n\n public CheckIfAllIsChecked(): boolean {\n return this.isAllChecked === true;\n }\n\n get getCheckboxSelectedCount(): number {\n if (this.isAllChecked === true && this.isIndeterminate())\n return (\n this.columnFilter.totalRows -\n this.dataSource.data.filter((o) => o.isSelected === false).length ?? 0\n );\n\n if (\n this.getCheckboxNotSelectedPostings().map((p) => p.postingId).length >\n 0 &&\n this.getCheckboxSelectedPostings().map((p) => p.postingId).length > 0 &&\n this.isIndeterminate() === true\n )\n return (\n this.columnFilter.totalRows -\n this.dataSource.data.filter((o) => o.isSelected === false).length ?? 0\n );\n\n if (this.isAllChecked === true) return this.columnFilter.totalRows;\n\n return this.countIsSelected();\n }\n\n public countIsSelected(): number {\n return (\n this.dataSource.data.filter((o) => o.isSelected === true).length ?? 0\n );\n }\n\n public toggleAll(checked: boolean): void {\n if (checked) {\n this.isAllChecked = true;\n this.dataSource.data.forEach((row: Posting) => {\n row.isSelected = true;\n this.toggle(row, true);\n });\n this.postingFilter.pageModel = this.columnFilter;\n } else {\n this.isAllChecked = false;\n this.dataSource.data.forEach((p) => (p.isSelected = false));\n }\n\n this.handleSelectedIds();\n }\n\n public exportPostings(): void {\n if (this.columnFilter.totalRows <= config.MaxRowsForExcelExport) {\n const excelColumnItem: ExcelColumnItem[] =\n this.labelGlossaryService.getExcelColumns();\n this.postingFilter.pageModel = this.columnFilter;\n\n const body: ExcelExportBody = {\n postingFilter: this.postingFilter,\n columns: excelColumnItem,\n };\n\n if (this.isPostingNoteRoute()) {\n const noteId = 'postingNoteId';\n const postingNoteId = this.route.snapshot.params[noteId];\n this.postingFilter.periods = [];\n this.postingService\n .exportPostingsByPostingNote(postingNoteId, body)\n .subscribe((res: FileResponse) => {\n FileSaver.saveAs(\n res.data,\n `rapport_${body.postingFilter.analysisId}.xlsx`\n );\n });\n }\n\n if (this.isPostingsRoute()) {\n this.postingService\n .exportPostings(body)\n .subscribe((res: FileResponse) => {\n FileSaver.saveAs(\n res.data,\n `rapport_${body.postingFilter.analysisId}.xlsx`\n );\n });\n }\n }\n }\n\n columnFilterMultiTextBox(\n event: { value: string; type: string },\n key: string\n ): void {\n if (this.columnFilter.columnFilters[key] === undefined)\n this.columnFilter.columnFilters[key] = {\n less: null,\n equals: null,\n greater: null,\n };\n\n this.columnFilter.columnFilters[key][event.type] = event.value;\n\n if (\n (this.columnFilter.columnFilters[key].greater === null ||\n this.columnFilter.columnFilters[key].greater === '') &&\n (this.columnFilter.columnFilters[key].equals === null ||\n this.columnFilter.columnFilters[key].equals === '') &&\n (this.columnFilter.columnFilters[key].less === null ||\n this.columnFilter.columnFilters[key].less === '')\n ) {\n this.resetColumnFilter(key);\n } else {\n this.updateAfterColumnFilterSearch();\n }\n }\n\n columnFilterTextBox(value: string, key: string): void {\n if (this.columnFilter.columnFilters[key] === undefined)\n this.columnFilter.columnFilters[key] = {};\n\n this.columnFilter.columnFilters[key].like = value;\n this.updateAfterColumnFilterSearch();\n }\n\n ColumnFilterDate(value, key): void {\n if (this.columnFilter.columnFilters[key] === undefined)\n this.columnFilter.columnFilters[key] = {};\n\n this.columnFilter.columnFilters[key].date = moment\n .utc(value.value)\n .add(2, 'hours')\n .toISOString();\n this.updateAfterColumnFilterSearch();\n }\n ColumnFilterYear(value, key, yearpicker): void {\n if (this.columnFilter.columnFilters[key] === undefined)\n this.columnFilter.columnFilters[key] = {};\n this.chosenYear = moment\n .utc(value)\n .add(2, 'hours')\n .toISOString()\n .substring(0, 4);\n this.columnFilter.columnFilters[key].like = this.chosenYear;\n\n yearpicker.close();\n this.updateAfterColumnFilterSearch();\n }\n ColumnFilterCheckBox(value: string[], key: string): void {\n // As we have merged \"Reguler Moms\" & \"Intet Potientiale\" into \"Behandlet\" but still need the functionality\n // To set them as one of the above, this is a filter work around.\n if (key === 'status') {\n if (value.includes('1')) {\n value.push('2'); // Adding RegulerMoms as selected for the work around.\n }\n }\n\n if (key === 'vatType') {\n if (value.includes('0')) {\n const index = value.indexOf('0');\n value[index] = null; // If 0 is selected, we need to send null, because the value in the database is Null.\n }\n }\n\n this.columnFilter.columnFilters[key] =\n value.length !== 0 ? { inList: value } : undefined;\n this.updateAfterColumnFilterSearch();\n }\n\n hasColumnFilter(key: string): boolean {\n try {\n return this.columnFilter.columnFilters[key] !== undefined ? true : false;\n } catch (error) {\n return false;\n }\n }\n\n updateAfterColumnFilterSearch(): void {\n this.setTableScrollBarToTop();\n this.columnFilter.skip = 0;\n this.columnFilter.take = config.PageSizeBlock;\n this.internalFilterService.updatePagingModelOnPostingFilter(\n this.columnFilter,\n this.postingFilter.analysisId\n );\n }\n\n resetColumnFilter(key: string): void {\n this.toggleAll(false);\n this.isAllChecked = false;\n this.columnFilter.columnFilters[key] = undefined;\n this.updateAfterColumnFilterSearch();\n }\n\n resolveScrollPosition(): void {\n if (this.isStatusActionBeenActivated) {\n this.isStatusActionBeenActivated = false;\n this.columnFilter.skip = this.columnFilter.take - config.PageSizeBlock;\n this.columnFilter.take = config.PageSizeBlock;\n } else if (this.columnFilter.skip === 0) {\n this.scroller.nativeElement.scrollTop = 0;\n this.columnFilter.take = config.PageSizeBlock;\n }\n }\n\n resolveScroll(): void {\n this.spinnerService.pauseSpinner();\n if (this.currentRoutePath === 'posteringer/postingnote/:postingNoteId') {\n const noteId = 'postingNoteId';\n const postingNoteId = this.route.snapshot.params[noteId] ?? -1;\n this.postingService\n .postingsByPostingNoteId(postingNoteId, this.columnFilter)\n .subscribe(\n (result: PostingAndFilter) => {\n this.handleScrollingByDifferentRoute(result);\n },\n (e) => this.spinnerService.enableSpinner()\n );\n } else {\n this.postingService.getPostingsByFilter(this.postingFilter).subscribe(\n (posting: PostingAndFilter) => {\n this.handleScrollingByDifferentRoute(posting);\n },\n (e) => this.spinnerService.enableSpinner()\n );\n }\n }\n\n private handleScrollingByDifferentRoute(posting: PostingAndFilter): void {\n if (\n (this.getCheckboxNotSelectedPostings().map((p) => p.postingId).length >\n 0 &&\n this.isIndeterminate()) ||\n this.isAllChecked === true\n ) {\n posting.postings.forEach((i) => {\n i.isSelected = true;\n });\n }\n this.dataSource.data = this.dataSource.data.concat(posting.postings);\n this.postingFilter = posting.postingFilter;\n this.columnFilter = this.postingFilter.pageModel;\n if (posting.postings.length > 0) this.scrollOpen = true;\n\n if (this.isIndeterminate() === false) this.resolveCheckBoxes();\n\n this.spinnerService.enableSpinner();\n }\n\n private setTableScrollBarToTop(): void {\n this.scroller.nativeElement.scrollTop = 0;\n }\n\n onTableScroll(e): void {\n const tableViewHeight = e.target.offsetHeight; // viewport: ~500px\n const tableScrollHeight = e.target.scrollHeight; // length of all table\n const scrollLocation = e.target.scrollTop; // how far user scrolled\n\n // If the user has scrolled within 200px of the bottom, add more data\n const buffer = 200;\n const limit = tableScrollHeight - tableViewHeight - buffer;\n if (\n scrollLocation > limit &&\n this.dataSource.data.length < this.columnFilter.totalRows &&\n this.scrollOpen\n ) {\n this.scrollOpen = false;\n this.postingFilter.pageModel = this.columnFilter;\n this.postingFilter.pageModel.skip += this.postingFilter.pageModel.take;\n this.infinityScroll.next(this.postingFilter.pageModel);\n }\n }\n\n sortData(sort: Sort): void {\n this.columnFilter.skip = 0;\n if (sort.direction !== '') {\n this.columnFilter.sortBy = {\n propertyName: sort.active,\n ascending: sort.direction === 'asc' ? true : false,\n };\n }\n\n this.postingFilter.pageModel = this.columnFilter;\n this.scrollOpen = false;\n this.dataSource.data = [];\n this.infinityScroll.next(this.postingFilter.pageModel);\n }\n}\n@Directive({\n selector: '[dateFormat2]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MY_FORMAT2 }],\n})\nexport class CustomDateFormat {}\n","
    \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n -1 \">\n \n \n\n \n \n \n \n \n \n \n \n \n\n \n\n \n
    \n
    \n \n\n
    \n
    \n \n\n
    \n
    \n \n\n
    \n
    \n \n
    \n
    \n \n\n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n\n \n \n \n\n
    \n
    9 ? 'selected-postings__plus-10' : ''\">\n {{getCheckboxSelectedCount | number:'':'da-DK'}}\n
    \n
    \n \n \n
    \n
    \n
    \n {{column.name}}\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n {{column.name}}\n
    \n
    \n \n \n
    \n \n \n {{check?.viewValue}}\n \n \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n {{column.name}}\n
    \n
    \n \n \n \n \n \n
    \n \n \n \n \n
    \n
    \n {{column.name}}\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n
    \n
    \n {{column.name}}\n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n\n \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {{row[column.key]}}\n \n
    \n
    \n
    \n \n {{row[column.key] | vatCurrency}}\n \n
    \n
    \n
    \n \n {{row[column.key] | vatCurrency : getCurrency(row)}}\n \n
    \n
    \n
    \n \n \n \n DKK\n \n
    \n
    \n
    \n \n \n {{row[column.key] | date:'dd-MM-yyyy': 'da-DK'}}\n \n \n
    \n
    \n
    \n \n \n {{row[column.key]}}\n \n \n
    \n
    \n
    \n \n \n {{getDataValue(row, column.key)| status | uppercaseSpace: column.key}}\n \n \n
    \n
    \n
    \n \n
    \n \n \n \n {{audit}}\n \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n {{getDataValue(row, column.key)| status | uppercaseSpace: column.key}}\n \n \n \n {{getDataValue(row, column.key) | uppercaseSpace: column.key}}\n \n \n \n
    Intet data der matcher filteret
    \n
    ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// Material\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport {\n DateAdapter,\n MatNativeDateModule,\n MatRippleModule,\n MAT_DATE_LOCALE,\n} from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\n\n// Custom modules\nimport { FilterModule } from '@modules/filter/filter.module';\nimport { FavoritesModule } from '@modules/favorites/favorites.module';\nimport { MessagesModule } from '@modules/messages/messages.module';\nimport { CommonsModule } from '@modules/commons/commons.module';\nimport { OverlayModule } from '@modules/overlay/overlay.module';\n\n// Components\nimport { PostingsComponent } from './components//postings/postings.component';\nimport {\n CustomDateFormat,\n TableComponent,\n} from './components/table/table.component';\nimport { ColumnFilterTextBoxComponent } from './components/column-filter-text-box/column-filter-text-box.component';\nimport { ColumnFilterMultiTextBoxComponent } from './components/column-filter-multi-text-box/column-filter-multi-text-box.component';\n\n@NgModule({\n declarations: [\n PostingsComponent,\n TableComponent,\n ColumnFilterTextBoxComponent,\n ColumnFilterMultiTextBoxComponent,\n CustomDateFormat,\n ],\n imports: [\n CommonModule,\n FilterModule,\n FavoritesModule,\n MatIconModule,\n MatButtonModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n MatListModule,\n MatTabsModule,\n FontAwesomeModule,\n MessagesModule,\n CommonsModule,\n MatCheckboxModule,\n BrowserModule,\n MatSortModule,\n MatRadioModule,\n MatSelectModule,\n MatChipsModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatFormFieldModule,\n OverlayModule,\n MatTooltipModule,\n MatMenuModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatRippleModule,\n MatProgressSpinnerModule,\n ],\n exports: [PostingsComponent],\n providers: [\n { provide: MAT_DATE_LOCALE, useValue: 'da-DK' },\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n ],\n})\nexport class PostingsModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport interface PostingCheckbox {\n selected: number[];\n deSelected: number[];\n isAllSelected: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CheckBoxService {\n\n\n private postingCheckboxs: Subject = new Subject();\n public postingCheckboxs$: Observable = this.postingCheckboxs.asObservable();\n\n\n // private checkboxDeSelectedPostingIDList: Subject = new Subject();\n // public checkboxDeSelectedPostingIDList$: Observable = this.checkboxDeSelectedPostingIDList.asObservable();\n\n // private checkboxSelectedPostingIDList: Subject = new Subject();\n // public checkboxSelectedPostingIDList$: Observable = this.checkboxSelectedPostingIDList.asObservable();\n\n constructor() { }\n\n updateSelectionOfCheckbox(postingCheckbox: PostingCheckbox) {\n this.postingCheckboxs\n .next(postingCheckbox);\n }\n\n // announceChecboxDeSelectedPostingIDs(ids: number[]) {\n // this.checkboxDeSelectedPostingIDList.next(ids);\n // }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-report',\n templateUrl: './report.component.html',\n styleUrls: ['./report.component.scss'],\n})\nexport class ReportComponent implements OnInit {\n path: string;\n\n constructor(private router: Router) {}\n\n ngOnInit(): void {\n this.path = this.router.url;\n }\n}\n","
    Report: {{path}}
    ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReportComponent } from './components/report/report.component';\n\n\n\n@NgModule({\n declarations: [\n ReportComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class ReportModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InternalFilterService } from '@modules/filter/services/internal-filter.service';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { InternalCurrentCustomerService } from '@modules/shell/services/internal-current-customer.service';\nimport { InternalCustomerService } from '@modules/shell/services/internal-customer.service';\nimport { Customer } from 'src/app/api/vat';\n\n@Component({\n selector: 'app-customer-selector',\n templateUrl: './customer-selector.component.html',\n styleUrls: ['./customer-selector.component.scss'],\n})\nexport class CustomerSelectorComponent implements OnInit {\n selectedCustomer: Customer;\n\n customers: Customer[] = [];\n\n constructor(\n private internalCustomerService: InternalCustomerService,\n private internalCurrentCustomerService: InternalCurrentCustomerService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private internalFilterService: InternalFilterService,\n private messagesService: MessagesService\n ) {\n this.customerSelection();\n }\n\n ngOnInit(): void { }\n\n private customerSelection(): void {\n this.internalCustomerService.customers.subscribe((customers) => {\n this.customers = customers;\n });\n this.internalCurrentCustomerService.customer.subscribe((customer) => {\n if (this.selectedCustomer !== customer) {\n this.selectedCustomer = customer;\n }\n });\n }\n\n public onCustomerSelection(customer: Customer): void {\n this.internalCurrentCustomerService.updateCustomer(customer);\n this.messagesService.checkForNewMessages();\n const dashboard: string = 'dashboard';\n if (this.activatedRoute.children[0].routeConfig.path === dashboard) {\n this.router.navigateByUrl('.', { skipLocationChange: true }).then(() => {\n this.router.navigateByUrl(dashboard);\n this.internalFilterService.resetAllFiltersToDefault();\n });\n } else {\n this.router\n .navigate([dashboard])\n .then((isChanged: boolean) => {\n if (isChanged)\n location.reload();\n });\n }\n }\n\n compareObjects(o1: Customer, o2: Customer): boolean {\n return o1.customerId === o2.customerId;\n }\n}\n","\n Kunde\n \n \n {{customer.name}}\n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport {\n faTachometerAlt,\n faChartPie,\n faComment,\n faUsersCog,\n faChartBar,\n} from '@fortawesome/free-solid-svg-icons';\nimport { MenuService } from '@modules/shell/services/menu.service';\nimport { HeaderService } from '@modules/shell/services/header.service';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { RolesConstants } from '@modules/commons/classes/roles-constants';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ManualsDialogComponent } from '@modules/dialog/components/manuals-dialog/manuals-dialog.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent implements OnInit {\n // Icons\n faTachometerAlt = faTachometerAlt;\n faChartPie = faChartPie;\n faComment = faComment;\n faUsersCog = faUsersCog;\n faChartBar = faChartBar;\n\n analysisTitle: string = '';\n messagesCount: number = 0;\n\n public readonly VAT_BDOAdministrator: string = RolesConstants.VAT_BDOAdministrator;\n public readonly VAT_StandardUser: string = RolesConstants.VAT_StandardUser;\n public readonly VAT_SuperUser: string = RolesConstants.VAT_SuperUser;\n public readonly VAT_Manager: string = RolesConstants.VAT_Manager;\n public readonly VAT_Reader: string = RolesConstants.VAT_Reader;\n\n constructor(\n private menuService: MenuService,\n private headerService: HeaderService,\n private messagesService: MessagesService,\n public dialog: MatDialog\n ) { }\n\n ngOnInit() {\n this.messagesService.NewMessagesCount$.subscribe(\n (messageCount) => (this.messagesCount = messageCount)\n );\n this.headerService.headerTitleState.subscribe((value) => {\n this.analysisTitle = value;\n });\n }\n\n sidebarToggle() {\n this.menuService.toggleSidebarState();\n }\n\n manualsDialog() {\n const dialogRef = this.dialog.open(ManualsDialogComponent, {\n data: {\n title: this.analysisTitle\n },\n });\n\n dialogRef.afterClosed().subscribe(result => {\n console.log(`Dialog result: ${result}`);\n });\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n \n \n Moms Tjek\n \n
    \n \n {{ analysisTitle }}\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { InformationDialogDto } from '@modules/shell/services/information-dialog.service';\n\n@Component({\n selector: 'app-information-dialog',\n templateUrl: './information-dialog.component.html',\n styleUrls: ['./information-dialog.component.scss'],\n})\nexport class InformationDialogComponent implements OnInit {\n constructor(@Inject(MAT_DIALOG_DATA) public data: InformationDialogDto) {}\n\n ngOnInit(): void {}\n}\n","
    \n

    \n error_outline{{ data.title || 'Der er sket en fejl!'}}\n

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 0\">\n \n \n \n
    Statuskode:{{ data.httpStatusCode }}
    Korrelation id:{{ data.correlationId }}
    Url:{{ data.url }}
    Tid:{{ data.responseTimeInMS }} ms.
    Besked:\n
      \n
    • \n {{ message }}\n
    • \n
    \n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-laws',\n templateUrl: './laws.component.html',\n styleUrls: ['./laws.component.scss'],\n})\nexport class LawsComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n\n scroll(el: HTMLElement) {\n el.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n scrollTop() {\n window.scrollTo(0, 0);\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
      \n
    • Lovgivning
    • \n
    • Budget- og regnskabssystem for kommuner og regioner
    • \n
    • Gældende momslov
    • \n
    • Gældende bekendtgørelse om momsrefusionsordning for kommuner og\n regioner
    • \n
    • Offentlig-moms.dk
    • \n
    \n
    \n
    \n
    \n
    \n\n
    \n

    Budget- og regnskabssystem for kommuner og regioner

    \n https://www.budregn.im.dk\n

    Når du tilgår dette link, skal du vælge budget- og regnskabssystem for kommuner eller\n regioner,\n du vil herefter blive dirigeret videre til rette side.

    \n

    På siden finder du information omkring korrekt\n bogføring og kan blandt andet læse om, hvilke udgifter der skal bogføres på de forskellige\n funktioner og grupperinger.\n Du kan også finde orienteringsskrivelser fra Indenrigsministeriet, hvori der\n informeres om ændringer\n for blandt andet funktioner, grupperinger og præcisering af bogføringspraksis.

    \n
    \n\n
    \n

    Gældende momslov

    \n https://www.retsinformation.dk/eli/lta/2024/209\n

    Via dette link kommer du videre til retsinformation, hvor du får vist den gældende momslov\n som er gældende for\n ikke myndighedsopgaver i kommuner og regioner.

    \n

    I denne lov kan du blandt andet læse om, hvornår der skal betales moms af varer og ydelser,\n fritagelser, omvendt betalingspligt og al anden generel information om moms.

    \n
    \n\n
    \n

    Gældende bekendtgørelse om momsrefusionsordning for kommuner og regioner

    \n

    Gældende momsrefusionsbekendtgørelse:\n https://www.retsinformation.dk/eli/lta/2024/1167\n

    \n

    Gældende til og med 2024:\n https://www.retsinformation.dk/eli/lta/2022/946\n

    \n

    Gældende for år 2021:\n https://www.retsinformation.dk/eli/lta/2020/2091\n

    \n

    Gældende for år 2020:\n https://www.retsinformation.dk/eli/lta/2019/480\n

    \n

    Gældende for år 2019:\n https://www.retsinformation.dk/eli/lta/2018/1744\n

    \n

    Gældende for år 2018:\n https://www.retsinformation.dk/eli/lta/2017/1593\n

    \n\n

    Via dette link kommer du videre til retsinformation, hvor du får vist den gældende\n bekendtgørelse om momsrefusionsordning\n for kommuner og regioner.

    \n

    Det er blandt andet her, hvor du får oplyst, hvilke funktioner\n evt. kombineret med art, grupperinger og noter,\n der er optaget på positivlisten, satsen for momsandelsprocenten samt hvordan beløbet for\n positivlistemoms udregnes.

    \n\n
    \n\n
    \n

    Offentlig-moms.dk

    \n https://offentlig-moms.dk/\n

    Denne side er lavet af BDO. Du har mulighed for at oprette dig som bruger og herefter få\n indblik i,\n hvilke institutioner der har en driftsoverenskomst eller er omfattet af en statslig\n momsrefusionsordning.

    \n

    Begge dele er yderst relevant, når man arbejder med momsanalyser og skal vurdere\n posteringerne.\n

    \n\n
    \n\n\n
    \n
    \n
    \n
    \n
    ","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\n\n@Component({\n selector: 'app-manuals',\n templateUrl: './manuals.component.html',\n styleUrls: ['./manuals.component.scss'],\n})\nexport class ManualsComponent implements OnInit, AfterViewInit {\n chosenAnalysis: string;\n\n @ViewChildren('analyseTitle') content: QueryList;\n kommunePanelState: boolean = false;\n regionPanelState: boolean = false;\n guidancePanelState: boolean = false;\n instructionsPanelState: boolean = false;\n\n constructor(public myElement: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.content\n .toArray()\n .map((f) => f.nativeElement)\n .forEach((f) => {\n if (f.innerHTML === this.chosenAnalysis) {\n var headerOffset = 80;\n var elementPosition = f.getBoundingClientRect().top;\n var offsetPosition =\n elementPosition + window.pageYOffset - headerOffset;\n }\n window.scrollTo({\n top: offsetPosition,\n behavior: 'smooth',\n });\n });\n sessionStorage.setItem('analysisTitle', '');\n }, 200);\n }\n\n ngOnInit(): void {\n this.chosenAnalysis = sessionStorage.getItem('analysisTitle');\n }\n\n scroll(el: HTMLElement) {\n el.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n\n scrollTop() {\n window.scrollTo(0, 0);\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
      \n
    • Support / kontakt os
    • \n
    \n
      \n \n \n \n Vejledning\n \n \n \n \n \n Kommuner\n \n \n
        \n
      • Analyser i relation til positivlisten
      • \n
          \n
        • Konteret i henhold til positivlisten
        • \n
        • Tema positivlisten – HK 0
        • \n
        • Tema positivlisten – HK 3
        • \n
        • Tema positivlisten – HK 4
        • \n
        • Tema positivlisten – HK 5
        • \n
        • Tema positivlisten – HK 6
        • \n
        • Tema positivlisten – tilskud og støtte\n
        • \n\n
        \n
      • Analyser i relation til en faktura med/uden moms
      • \n
      • Analyser i relation til art 1 Løn
      • \n
      • Analyser i relation til art 7.1 Huslejeindtægter
      • \n
      • Analyser i relation til Momsrefusionsbekendtgørelsen - § 1, stk. 4\n
      • \n
      • Øvrige analyser
      • \n
      • Analyser - Opsamling
      • \n
      \n
      \n \n \n \n Regioner\n \n \n
        \n
      • Analyser i relation til positivlisten
      • \n
          \n
        • Positivliste analyser
        • \n
        • Temaliste analyser
        • \n
        • Fejlliste analyser
        • \n
        \n
      • Analyser i relation til faktura med/uden moms
      • \n
      • Analyser i relation til art 1 Løn
      • \n
      • Analyser i relation til Momsrefusionsbekendtgørelsen - § 1, stk. 4\n
      • \n
      • Øvrige analyser
      • \n
      • Analyser - Opsamling
      • \n
      \n
      \n
      \n \n \n \n Brugsvejledning\n \n \n
        \n
      • Indledning
      • \n
      • Dashboard
      • \n
      • Analyser
      • \n
      • Posteringsoverblik ved valgt analyse
      • \n
      • Kolonnevalg- og indstillinger
      • \n
      • Flyt til anden analyse
      • \n
      • Infocenter
      • \n
      • Leder Dashboard
      • \n
      \n
      \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n

    Support / Kontakt os

    \n

    Har du udfordringer med løsningen? Vi står klar til at hjælpe dig.

    \n
    \n

    Kontakt os venligst på:

    \n Momstjek@bdo.dk\n
    \n
    \n\n
    \n
    \n
    \n
    VEJLEDNING
    \n
    MOMS TJEK
    \n
    Følgende vejledning er en oversigt over de forskellige\n analyser der er adgang til i BDO\n Moms Tjek.
    \n
    Ikke alle analyser vil være tilgængelige, da adgang til\n analyser afhænger af den faktiske\n bogføring.
    \n
    I følgende beskrives hvad der kan/skal undersøges i henhold\n til\n BDOs anbefalinger.
    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n

    Analyser i relation til positivlisten

    \n

    Det bør bemærkes, at momsrefusionsbekendtgørelsen og herunder positivlisten som udgangspunkt ændres 1\n gang årligt. Det\n er derfor vigtigt, at der anvendes den bekendtgørelse med dertilhørende positivliste, som er gældende\n for\n det år der\n arbejdes med.

    \n

    Positivlisten indeholder en række funktioner, hvor kommuner og regioner kan få momsrefusion på en række\n udgifter, der\n ikke er tillagt moms.\n Husk herunder betingelser i noterne til positivlisten, som skal være opfyldt for at hjemtage\n momsrefusion,\n herunder\n bestemte grupperinger, driftsoverenskomst, ejerforholdskode 4.\n

    \n

    \n For mange områder på positivlisten er ejerforholdskode 4 særlig relevant.\n

    \n

    \n Betingelser for ejerforholdskode 4:\n

    \n
      \n
    • \n Købet skal være fortaget hos en privat leverandør\n
    • \n
    • \n Købet skal vedrørende ikke momsbelagte ydelser\n
    • \n
    • \n Ydelsen skal være et alternativ til kommunens tilbud – helt generelt, er der tale om et tilbud, som\n kommunen selv\n kunne have udført\n
    • \n
    • Leverandøren må ikke være omfattet af en driftsoverenskomst
    • \n
    \n

    Vurdering af ejerforholdskode 4 er alene relevant i relation til tjenesteydelser, der er bogført på\n funktioner optaget\n på positivlisten.

    \n

    På Tema positivlisterne findes ofte de største potentialer. Analyserne indeholder funktioner, som er\n omfattet af\n positivlisten, hvor bogføringen er sket uden moms. For disse bør det undersøges om udgifterne opfylder\n positivlistens\n bestemmelser, og derfor bør bogføres med positivlistemoms.

    \n
    \n
    \n\n

    Konteret i henhold til positivlisten

    \n

    Denne analyse viser posteringer, hvor der er afløftet positivlistemoms. Posteringerne er derfor bogført\n efter\n positivlistens bestemmelser.

    \n

    Analysen kan bruges til kontrol af, at positivlistens betingelser er opfyldt.

    \n

    \n Eksempelvis vil der i denne analyse blive vist et potentiale, såfremt der fremgår moms i den\n elektroniske\n faktura til en\n postering, som er bogført med positivlistemoms, hvor det bør undersøges om udgiften i stedet burde være\n bogført på en\n momsbærende art med fuld momsrefusion.\n

    \n\n

    Omvendt kan der vises et negativt potentiale såfremt eksempelvis udgifter til kommuner/regioner eller\n en\n institution med\n driftsoverenskomst er bogført med ejerforholdskode 4.

    \n\n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og typer af udgifter på tværs af årene.

    \n
    \n
    \n

    Tema positivlisten – HK 0

    \n

    Denne analyse indeholder posteringer, som er bogført på hovedkonto 0 - funktioner omfattet af\n positivlisten.

    \n

    For disse funktioner er art 5.9, tilskud, optaget på positivlisten og det skal derfor vurderes,\n hvorvidt\n der er tale om\n et ”tilskud” eller ”betaling/køb af ydelse”. Hvis der er tale om tilskud, bør det undersøges om posterne\n bør bogføres på\n art 5.9 med positivlistemoms.

    \n

    Det kan være en fordel at sortere på funktion, så poster for hver funktion gennemgås samlet.

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.

    \n
    \n
    \n

    Tema positivlisten – HK 3

    \n

    Denne analyse indeholder posteringer, som er bogført på hovedkonto 3 - funktioner omfattet af\n positivlisten. Det bør\n undersøges, om posterne i denne analyse opfylder positivlistens bestemmelser.

    \n

    For de posteringer som er bogført på funktioner, hvor art 5.9 er optaget på positivlisten, skal det\n vurderes, hvorvidt\n der er tale om ”tilskud” eller ”betaling/køb af ydelse”. Hvis der er tale om tilskud, bør det\n undersøges,\n om posterne\n bør bogføres på art 5.9 med positivlistemoms.

    \n

    For de posteringer som er bogført på funktioner, hvor art 4.0 er optaget på positivlisten, er særligt\n ejerforholdskode 4\n relevant.

    \n

    Gruppering kan ligeledes være afgørende for, hvorvidt der kan opnås positivlistemoms, se henvisning til\n noterne i\n positivlisten.

    \n\n

    Man kan med fordel filtrere på én funktion ad gangen og sortere på leverandør, så poster for hver\n funktion og leverandør\n gennemgås samlet.

    \n

    \n Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

    \n
    \n
    \n

    Tema positivlisten – HK 4

    \n

    Denne analyse indeholder posteringer som er bogført på hovedkonto 4 - funktioner omfattet af\n positivlisten. Det bør\n undersøges, om posterne i denne analyse opfylder positivlistens bestemmelser.

    \n

    For posteringer bogført på funktioner optaget på positivlisten med art 4.7/4.8, bør det undersøges, om\n der er tale om\n betalinger til andre kommuner/regioner, som burde være bogført på art 4.7/4.8 med mulighed for\n positivlistemoms.

    \n\n

    For de posteringer som er bogført på funktioner, hvor art 5.9 er optaget på positivlisten, skal det\n vurderes, hvorvidt\n der er tale om ”tilskud” eller ”betaling/køb af ydelse”. Hvis der er tale om tilskud, bør det\n undersøges,\n om posterne\n bør bogføres på art 5.9 med positivlistemoms.

    \n\n

    For de posteringer som er bogført på funktioner, hvor art 4.0 er optaget på positivlisten, er særligt\n ejerforholdskode 4\n relevant.

    \n

    Gruppering kan ligeledes være afgørende for, hvorvidt der kan opnås positivlistemoms, se henvisning til\n noterne i\n positivlisten.

    \n\n

    Man kan med fordel filtrere på én funktion ad gangen og sortere på leverandør, så poster for hver\n funktion og leverandør\n gennemgås samlet.

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.

    \n
    \n
    \n

    Tema positivlisten – HK 5

    \n

    Denne analyse indeholder posteringer som er bogført på hovedkonto 5 - funktioner omfattet af\n positivlisten. Det bør\n undersøges, om posterne i denne analyse opfylder positivlistens bestemmelser.

    \n

    Der er mange forskellige regler, som er relevante for posteringer i denne analyse, da næsten alle noter\n til\n positivlisten gør sig gældende for udgifter bogført på hovedkonto 5. Det kan derfor være en fordel at\n anvende filter,\n når der arbejdes i analysen. Eksempelvis kan man med fordel gøre brug af filteret ”IM Grp.” og gennemgå\n posteringer, der\n er bogført på én gruppering ad gangen for de funktioner, hvor der alene kan hjemtages positivlistemoms\n på\n udgifter\n bogført på særlige grupperinger jf. noterne til positivlisten.

    \n

    For de posteringer som er bogført på funktioner, hvor art 5.9 er optaget på positivlisten, skal det\n vurderes, hvorvidt\n der er tale om ”tilskud” eller ”betaling/køb af ydelse”. Hvis der er tale om tilskud, bør det\n undersøges,\n om posterne\n bør bogføres på art 5.9 med positivlistemoms.

    \n

    For de posteringer som er bogført på funktioner, hvor art 4.0 er optaget på positivlisten, er særligt\n ejerforholdskode 4\n relevant.

    \n

    Gruppering kan ligeledes være afgørende for, hvorvidt der kan opnås positivlistemoms, se henvisning til\n noterne i\n positivlisten.

    \n

    Man kan med fordel filtrere på én funktion ad gangen og sortere på leverandør, så poster for hver\n funktion og leverandør\n gennemgås samlet.

    \n

    \n Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

    \n
    \n
    \n

    Tema positivlisten – HK 6

    \n

    Denne analyse indeholder posteringer, som er bogført på hovedkonto 6 - funktioner omfattet af\n positivlisten. Det bør\n undersøges, om posterne i denne analyse opfylder positivlistens bestemmelser.

    \n

    Det bør vurderes, hvorvidt der er tale om et ”tilskud” eller ”betaling/køb af ydelse”. Hvis der er tale\n om et tilskud,\n bør det undersøges, om posterne bør bogføres på art 5.9 med positivlistemoms.

    \n

    Obs. på at det kun er posteringer bogført på gruppering 1, som er omfattet af positivlisten.

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.

    \n
    \n
    \n

    Tema positivlisten – tilskud og støtte

    \n

    Denne analyse indeholder posteringer, hvor ordet ”tilskud”, ”støtte” eller ”bidrag” fremgår af\n posteringsteksten, og\n hvor disse er bogført på funktioner optaget på positivlisten.\n

    \n

    Ved gennemgang af analysen bør det undersøges, om posterne opfylder positivlistens bestemmelser, og\n herunder om\n posterne er korrekt artskonteret.\n

    \n

    Det bør vurderes, om der er tale om ”tilskud/støtte” eller om der er tale om ”betaling/køb af ydelser”.\n

    \n

    Eksempelvis kan det undersøges, hvorvidt et tilskud bør bogføres på art 5.9 med positivliste moms.\n Ydermere kan det\n eksempelvis undersøges om udgiften bør bogføres på art 4.0, og om ejerforholdskode 4 gør sig gældende –\n et\n eksempel\n herpå kan være pædagogisk støtte.\n

    \n

    Man kan med fordel sortere på funktion, så posterne for hver funktion gennemgås samlet.\n

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

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

    Analyser i relation til en faktura med/uden moms

    \n\n

    Faktura med moms og bogført med moms

    \n

    Denne analyse viser posteringer, der er bogført med moms, og hvor fakturaen indeholder moms.\n

    \n

    Analysen viser posteringer, hvor der er en difference i bogført- og faktura moms.\n Det er i denne analyse derfor relevant at kontrollere, om der er fakturaer, hvor fordelingen på\n henholdsvis\n momsbærende og ikke momsbærende arter ikke er foretaget korrekt.\n

    \n

    Man kan med fordel sortere faldende på kolonnen ”potentiale”, og som resultat heraf ses alle de\n posteringer, hvor der\n er bogført mindre moms, end hvad fakturaen foreskriver.\n

    \n

    Der vises kun et potentiale, hvis der er bogført for lidt moms. Der vises omvendt ikke et potentiale,\n hvis der er\n bogført mere moms end faktura foreskriver. Årsagen hertil er, at det kan være korrekt, at der er bogført\n mere moms end\n fakturaen foreskriver, hvis fakturaen både indeholder en del med- og uden moms, hvor delen uden moms er\n bogført med\n positivliste moms.\n

    \n

    Analysen kan endvidere anvendes til kontrol af korrekt konteringspraksis.

    \n\n

    Faktura med moms og bogført uden moms

    \n

    Denne analyse viser posteringer, hvor fakturaen indeholder moms, men hvor posteringer er bogført uden\n moms. Dette\n giver en mulighed for momsrefusion, som bør undersøges nærmere.\n

    \n

    Man kan med fordel sortere faldende på kolonnen ”Potentiale”, og som resultat heraf vises de\n posteringer,\n hvor der er\n det største potentiale.\n

    \n

    Posterne bør undersøges for, om der er sket korrekt artskontering, eller om de i stedet burde konteres\n på\n en\n momsbærende art.

    \n\n\n

    Faktura med moms og bogført uden moms – positivliste

    \n

    Denne analyse viser posteringer bogført på funktioner omfattet af positivlisten, hvor fakturaen\n indeholder moms, men\n hvor posteringer er bogført uden moms.\n

    \n

    Posteringerne bør derfor gennemgås for at efterse, at der er sket korrekt artskontering.\n\n

    \n

    Er posteringen momspligtig, bør det undersøges om udgiften i stedet bør bogføres på momsbærende art med\n fuld\n momsrefusion. Her kan man med fordel efterse de posteringer, hvor der fremgår et potentiale.\n\n

    \n

    Vedrører posteringen i stedet en momsfri andel af fakturaen, bør det undersøges om udgiften i stedet\n burde være\n bogført med positivlistemoms. Her kan med fordel efterses posteringer uden potentiale, da størstedelen\n af\n disse\n posteringer ikke vil fremgå med potentiale.

    \n\n

    Faktura uden moms og bogført med moms

    \n

    Denne analyse indeholder posteringer, der er bogført med moms, men hvor fakturaen ikke indeholder moms.\n

    \n

    Som udgangspunkt er analysen et udtryk for, at der er hjemtaget for meget moms.\n

    \n

    Det kan undersøges, om der findes andet bilagsmateriale, som indeholder moms.\n

    \n

    Findes der ikke bilagsmateriale, hvor der fremgår moms, bør det i stedet efterses om udgiften er\n bogført\n på en\n funktion omfattet af positivlisten, og om udgiften i så fald i stedet opfylder betingelserne for\n positivlistemoms.\n

    \n

    Desuden kan analysen anvendes som orienteringsanalyse, med henblik på at kontrollere hvilke\n leverandører\n der ikke\n fremsender korrekte fakturaer.

    \n\n

    Faktura uden moms og bogført uden moms

    \n

    Denne analyse indeholder posteringer, som er bogført uden moms, og hvor fakturaen ikke indeholder moms.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion. Det kan dog med fordel kontrolleres, om\n der er\n leverandører, som umiddelbart leverer momspligtige varer og ydelser. Hvis dette er tilfældet, bør det\n underliggende\n bilagsmateriale undersøges nærmere.\n

    \n

    Man kan med fordel anvende filter til venstre i Moms Tjek løsningen og vælge ”Faktura: Vedhæftning”,\n herunder vælge\n ”Billede” samt ”PDF” for at se de posteringer, hvor der er tilknyttet et billede eller en PDF.\n

    \n

    Der kan ofte ske konverteringsfejl, når billede/TIF-filer og PDF’er skal konverteres til den\n elektroniske\n faktura,\n hvorfor man særligt bør være opmærksom på disse posteringer i analysen.

    \n

    Faktura med moms svarer til bogført moms

    \n

    Analysen viser alle posteringer, hvor fakturamomsbeløbet svarer til det bogførte momsbeløb.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Faktura uden moms – udenlandske leverandører

    \n

    Denne analyse indeholder posteringer, hvor fakturaen kan identificeres som udenlandsk på baggrund af\n kreditor, og\n hvor der foreligger en elektronisk faktura, som ikke indeholder moms.\n

    \n

    Analysen kan anvendes til efterse, om der er foretaget korrekt momshåndtering, herunder artskontering\n og\n særligt om\n der korrekt er afregnet moms som følge af omvendt betalingspligt.\n\n\n

    \n

    Moms i fakturavarelinjen

    \n

    I denne analyse vises fakturaer, hvor ordet ”moms” indgår i fakturavarelinjen. Posteringerne i analysen\n er bogført på\n ikke momsbærende arter.\n

    \n

    Det skal her undersøges, om fakturaen (andet bilag) indeholder moms. Såfremt det indeholder moms, bør\n det\n kontrolleres, at konteringen sker på momsbærende arter.\n

    \n

    Analysen kan endvidere anvendes til kontrol af, hvilke leverandører der muligvis har fejlindlæsning ved\n udstedelse.\n

    \n

    Der kan med fordel sorteres på leverandør.\n

    \n

    Rykker i fakturavarelinje

    \n

    \n Denne analyse indeholder posteringer, hvor ordet ”rykker” fremgår i fakturavarelinjen.\n

    \n

    Er der tale om en ”rykker”, skal det undersøges, om den oprindelige faktura indeholder moms, og\n herefter\n om udgiften\n er artskonteret korrekt.\n

    \n

    En ”rykker” vil oftest ikke indeholde oplysninger om moms, da den blot refererer til den originale\n fremsendte\n faktura. Bogføringen bør derfor ske på grundlag af den oprindelige faktura og ikke selve rykkeren.\n

    \n

    Hvis der moms i den oprindelige faktura, kan der være mulighed for fuld momsrefusion. Hvis der omvendt\n ikke er moms i\n den oprindelige faktura, så kan man overveje positivlistemoms\n

    \n

    Der kan med fordel sorteres på beløb for hurtigt at kunne se, hvorvidt posteringen faktisk er en\n rykker.\n

    \n

    Såfremt der eksempelvis er indkøbt ”parykker”, vil sådanne posteringer ligeledes falde under denne\n analyse.\n

    \n

    Forskel på bogført beløb og faktura beløb

    \n

    \n\n Denne analyse indeholder posteringer, hvor det bogførte beløb afviger fra fakturabeløbet.\n

    \n

    Ved gennemgang af disse posteringer, bør det undersøges, om hele fakturabeløbet er bogført, og om der\n er\n foretaget\n korrekt artskontering.\n

    \n

    Faktura viser kun et totalbeløb

    \n\n

    \n Denne analyse viser posteringer, hvor fakturaen alene viser et totalbeløb. Posteringer bør undersøges\n for\n andet\n bilagsmateriale for vurdering af korrekt moms- og artskontering.\n

    \n\n
    \n\n
    \n

    Analyser i relation til art 1 Løn

    \n\n

    Udgifter til eksterne på art 1 løn

    \n

    \n Denne analyse indeholder posteringer bogført på art 1 - løn til eksterne leverandører.\n

    \n

    Her bør det undersøges, om udgifterne indeholder moms. Afhængig af momsgrundlaget bør bogføringen ske\n på henholdsvis\n art 4.0 eller 4.9.\n

    \n

    I analysen vises der potentiale for de posteringer, hvor der er moms i fakturaen.\n

    \n

    Eksempelvis ses det, at udgifter til bl.a. vikarbureauer bogføres på art 1.\n

    \n

    Udgifter til eksterne på art. 9

    \n

    \n Denne analyse indeholder posteringer bogført på art 9 - interne arter, hvor leverandøren er ekstern.\n

    \n

    Her bør det undersøges, om udgifterne er bogført på korrekte arter.\n

    \n

    Det kan være en fordel at sortere på kolonnen ”Leverandør”. Betalinger til eksterne leverandører bør\n ikke konteres på\n art 9, men henholdsvis på art 4.0 eller 4.9.\n

    \n

    Analysen kan både anvendes som kontrol for korrekt artskontering, men kan også undersøge mulighed for\n momsrefusion, i\n relation til udgifter til eksterne leverandører.\n

    \n

    Interne lønudgifter – art. 1

    \n

    \n Denne analyse indeholder posteringer bogført på art 1 - interne lønudgifter.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

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

    Analyser i relation til art 7.1 Huslejeindtægter

    \n\n

    Analyserne indeholder en liste over alle posteringer, som er bogført på art 7.1.\n

    \n

    Det følger af Indenrigs- og Boligministeriets hjemmeside, at:\n

    \n

    ”Kontraktmæssigt fastsatte huslejebetalinger for ejendomme, kommunen selv ejer, samt varmebidrag i\n forbindelse\n hermed, hvis varmeudgifterne indgår i momsrefusionsordningen”, skal bogføres på art 7.1.\n

    \n

    Kommunen får fradrag for udgifter til udleje af fast ejendom, som er momsfri efter Momsloven, som\n private udlejere\n ikke får. For at sikre konkurrenceneutralitet afregnes der 7,5 % af indtægter, der vedrører\n kontraktmæssigt fastsatte\n huslejebetalinger for ejendomme, kommunen selv ejer, som konteres på art 7.1, Egne huslejeindtægter.\n

    \n

    Husleje – taksbetalinger

    \n

    \n Analysen indeholder posteringer, som er bogført på art 7.1, og som på baggrund af funktion og gruppering\n vurderes at\n vedrøre beboerbetalinger, opholdsbetalinger, takstbetalinger eller lign.\n

    \n

    Indtægter fra eksempelvis beboerbetalinger og opholdsbetalinger, hvor der reelt ikke er tale om en\n huslejekontrakt\n mellem borgeren og kommunen, skal i henhold til Budget- og regnskabssystem konteres på art 7.2.\n

    \n

    På art 7.1 afregnes der 7,5%, som tilbagebetales til ordningen.\n

    \n

    Analysen kan derfor anvendes til at undersøge, om der foreligger en reel huslejebetaling eller om der\n er tale om en\n takstbetaling. Hvis der er tale om en takstbetaling, eksempelvis opholdsbetalinger så bør dette konteres\n på art. 7.2,\n hvorved der ikke afregnes 7,5% tilbage til refusionsordningen.\n

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

    \n

    Husleje – egne huslejeindtægter

    \n

    \n

    \n

    Analysen indeholder posteringer, som på baggrund af særlige logikker, finder egne huslejeindtægter.\n

    \n

    Analysen kan anvendes til kontrol af, at der alene afregnes 7,5% af indtægter, der er omfattet af\n reglerne herfor.\n

    \n

    Det bør derfor undersøges, om der findes indtægter, der ikke har karakter af at være kontraktmæssig\n husleje,\n eksempelvis fordeling af udgifter i organisationen - udleje fra en afdeling til en anden.\n

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

    \n

    Husleje – opsamling

    \n

    \n

    \n

    Analysen viser øvrige posteringer bogført på art 7.1, og som ikke er faldet i andre analyser i relation\n til\n huslejeindtægter (art 7.1).\n

    \n

    Posteringer bør vurderes for, om der er indtægter, som ikke er omfattet af bogføring på art 7.1,\n eksempelvis\n indtægter fra videreudlejning af eksterne lejemål, indtægter for leje af jord, engangslejeindtægter uden\n en egentlig\n lejekontrakt m.v.\n

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.

    \n
    \n
    \n

    Analyser i relation til momsrefusionsbekendtgørelsen - §1, stk. 4

    \n

    Busdrift

    \n

    \n Denne analyse indeholder poster bogført på funktion 2.32.31. Funktionen indgår som udgangspunkt ikke i\n momsrefusionsordningen, dog undtaget gruppering 002 - indtægter og udgifter til drift og vedligeholdelse\n af bus- og\n rutebilstationer mv.\n

    \n

    Ved arbejdet i denne analyse, kan det være en fordel at arbejde med flere år på en gang. Dette kommer\n sig\n af, at der\n ofte vil være tale om de samme leverandører og type af udgifter på tværs af årene.\n

    \n

    Der bør undersøges, om anvendelse af grupperinger i relation til udgiftens karakter er korrekt.\n

    \n

    Ældreboliger

    \n

    \n Denne analyse indeholder poster bogført på funktion 5.32.30 (før 2018) og 0.25.19 (fra 2018), funktionen\n indgår ikke i\n momsrefusionsordningen.\n

    \n

    Der kan med fordel arbejdes i flere år på en gang.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Færgedrift

    \n

    \n Denne analyse indeholder poster bogført på funktion 2.32.33, funktionen indgår ikke i\n momsrefusionsordningen.\n

    \n

    Der kan med fordel arbejdes i flere år på en gang.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Jernbanedrift

    \n

    \n Denne analyse indeholder poster bogført på funktion 2.32.35, funktionen indgår ikke i\n momsrefusionsordningen.\n

    \n

    Der kan med fordel arbejdes i flere år på en gang.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.

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

    Øvrige analyser

    \n

    Fondsmoms

    \n

    \n Analysen indeholder en liste over alle de posteringer, som tyder på at være tilskud som kommunen har\n modtaget.\n Posteringerne indeholder ord som gave, tilskud, donation og lign.\n

    \n

    Det fremgår af momsrefusionsbekendtgørelsen at tilskud som kommunen modtager fra fonde, private\n virksomheder, private\n foreninger, institutioner mv. ikke er omfattet af refusionsordningen, hvorfor der skal tilbagebetales\n 17,5% af det\n pågældende tilskud.\n

    \n

    Tilskud som findes på funktion 4.62.82 – 4.62.90 er dog undtaget for reduktionen. Ydermere er\n funktionerne 3.22.01,\n 3.22.08, 3.22.09 og 3.22.18 også undtaget fra reduktion.\n

    \n

    Posteringer i analysen kan både være bogført med og uden moms.\n Analysen kan anvendes til at undersøge om kommunen har modtaget tilskud, som der bør afregnes fondsmoms\n af\n eller om\n der modsat findes indtægter, som der er afregnet fondsmoms af, men som er undtaget reduktionen.\n

    \n

    Der kan med fordel sorteres på ”Bruttobeløb”, for at efterse de største beløb først.\n

    \n

    Erstatninger

    \n

    \n Denne analyse indeholder posteringer, hvor posteringsteksten antyder, at der kan være tale om en\n erstatning,\n forsikring eller lign, og hvor indtægten er bogført på en momsbærende udgiftsart eksempelvis 4.9.\n

    \n

    Når der er tale om erstatninger, forsikringer og lign., bør disse ikke bogføres på momsbærende arter,\n da\n der ellers\n sker en tilbagebetaling til refusionsordningen.\n

    \n

    Posteringer bør gennemgås for at vurdere, om der reelt er tale om en erstatning eller\n forsikringsindtægt,\n som i\n stedet bør bogføres på en indtægtsart - art 7.\n

    \n

    Øvrige tilskud

    \n

    \n Denne analyse indeholder posteringer, hvor ordet ”tilskud”, ”støtte” eller ”bidrag” fremgår af\n posteringsteksten, og\n hvor konteringen er sket på hovedkonto 6.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion, men har til formål at samle tilskud og\n sikre korrekt\n kontering.\n

    \n

    I denne analyse kan det med fordel undersøges, om der findes tilskud, som burde være bogført på\n funktioner omfattet\n af positivlisten, eksempelvis kulturelle tilskud, som i stedet burde være bogført på hovedkonto 3.\n

    \n

    Intern fakturering – art. 9

    \n

    \n Denne analyse indeholder en liste over alle posteringer bogført på art 9, interne arter, hvor der er\n tale\n om intern\n fakturering, eller hvor der ikke fremgår leverandør på posteringen.\n

    \n

    Analysen kan bruges til at efterse, hvordan bogføringen af interne faktureringer sker.\n

    \n

    Intern fakturering – øvrige arter

    \n

    \n Denne analyse indeholder posteringer i relation til intern afregning, som ikke er bogført på art 1 eller\n art 9. Man\n kan med fordel sortere på kolonnen ”Moms”. Interne afregninger bør som udgangspunkt ikke ske på\n momsbærende arter.\n

    \n

    Man bør derfor undersøg modposter i relation hertil.\n

    \n

    Af Budget- og regnskabssystem fremgår følgende:\n

    \n

    HOVEDART 9 INTERNE UDGIFTER OG INDTÆGTER\n

    \n

    Registrering af udgifter og indtægter i forbindelse med interne afregninger\n mellem\n forskellige funktioner og omkostningssteder i kommunen/regionen kan foretages på 2 måder i budget- og\n regnskabssystemet. Enten ved hjælp af plus/minus-posteringer eller ved anvendelse af de interne arter på\n hovedart 9.\n

    \n

    Overførsler til personer på art 5.2.

    \n

    \n Denne analyse indeholder posteringer bogført på art 5.2 - overførsler til personer.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion, men kan anvendes til kontrol af korrekt\n bogføring.\n

    \n

    Indsigt i underliggende bevillinger/lovgrundlag kan med fordel bruges til vurdering af, om bogføringen\n er\n sket\n korrekt.\n

    \n

    Udgifter til apoteker

    \n

    \n Analysen indeholder udgifter til apoteker. Erfaringer viser, at ikke alle fakturaer fra apotekerne\n indeholder moms,\n selvom køb af medicin er momspligtig. Analysen kan derfor anvendes som kontrolværktøj til at påse, om\n der\n bør være\n moms på udgiften.\n

    \n

    Indsigt i underliggende bevillinger/lovgrundlag kan med fordel bruges til vurdering af forholdene.\n

    \n

    Det kan være en fordel at sortere på funktion, for at efterse at udgifter bogføres ensartet på de\n enkelte\n funktioner.\n

    \n

    Udgifter på indtægtsarter

    \n

    \n Denne analyse indeholder posteringer, som typer på at være udgifter, men som er bogført på en\n indtægtsart\n (art 7).\n

    \n

    Det bør undersøges, om der er tale om udgifter, som i stedet bør bogføres på en udgiftsart -\n eksempelvis\n art 2.9, 4.0\n eller 4.9.\n

    \n

    Der vises alene et potentiale for de posteringer, hvor der er moms i fakturaen.\n

    \n

    Gavekort

    \n

    \n Denne analyse indeholder posteringer, hvor ordet ”gavekort” fremgår af posteringsteksten eller\n varelinjen.\n

    \n

    Er der tale om et gavekort, bør det kontrolleres, om fakturaen indeholder moms, og herefter om udgiften\n er korrekt\n artskonteret.\n

    \n

    Analysen kan også anvendes til at kontrollere brugen af gavekort.\n

    \n

    OBS. Det kan medføre skattemæssige konsekvenser at anvende gavekort.\n

    \n

    Betalingskort

    \n

    \n Denne analyse indeholder posteringer i relation til brug af et betalingskort, eksempelvis Mastercard,\n SEB\n eller\n Eurocard.\n

    \n

    Kontoudtoget kan gennemgås for at efterse om den enkelte udgift er med eller uden moms. Det kan i denne\n forbindelse\n kontrolleres, hvorvidt artkonteringen er korrekt.\n

    \n

    OBS - på brug af betalingskort i relation til køb i udlandet og den momsmæssige håndtering.\n

    \n

    Beregnede omkostninger – art. 0

    \n

    \n Denne analyse indeholder alle posteringer konteret på art 0, beregnede omkostninger.\n

    \n

    Der kan med fordel arbejdes med flere år på en gang.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Trafikselskaber

    \n

    \n Denne analyse indeholder posteringer, som vedrører regionale trafikselskaber.\n

    \n

    Analysen kan anvendes til at efterse for korrekt kontering.\n

    \n

    Der vil blive vist et negativt potentiale, svarende til den bogførte moms, hvis konteringen er sket med\n moms, og\n der ikke er moms i den elektroniske faktura.\n

    \n

    Det kan være en fordel af sortere på kolonnen ”Moms” og kontrollere om der findes en faktura med moms.\n

    \n

    Øreafrunding

    \n

    \n Denne analyse indeholder alle posteringer, som vedrører øreafrundinger +/- 1 kr.\n

    \n

    Der kan med fordel arbejde med flere år på en gang. Der er dog en begrænsning i Moms Tjek, hvor man kan\n behandle\n optil 10.000 posteringer ad gangen.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Udlægsapp KMD

    \n

    \n Denne analyse indeholder en liste over alle posteringer, som kommer fra KMD udlægsapp. Analysen bør\n anvendes til\n kontrol af korrekt artskontering, hvortil det skal vurderes, hvad det pågældende udlæg vedrører.\n\n

    \n

    Indtægter – poster uden leverandør og bogført uden moms

    \n

    \n\n Analysen indeholder posteringer, som er bogført på indtægtsarter fx 7.2 og 7.9, hvor der ikke fremgår en\n leverandør,\n og bogføringen er sket uden moms.\n\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n\n

    \n

    Indtægter – poster uden leverandør og bogført med moms

    \n

    \n\n Analysen indeholder posteringer, som er bogført på indtægtsarter fx 7.2 og 7.9, hvor der ikke fremgår en\n leverandør,\n og hvor bogføringen er sket med moms.\n\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Udfakturering – momsbærende arter

    \n

    \n\n I denne analyse findes posteringer, hvor posteringsteksten indeholder ordene ”Debitor” eller ”Deb”, og\n hvor der ikke\n fremgår en leverandør, eller hvor leverandøren er ukendt. Analysen indeholder posteringer, hvor momsen\n er\n forskelligt fra 0.\n\n

    \n

    Med denne analyse kan det undersøges, hvorvidt faktura sendt af kommunen er håndteres momsmæssigt\n korrekt. Der kan\n eksempelvis ses på, om den pågældende varer eller ydelse er momspligtig eller ej, og om dette stemmer\n overens med\n bogføringen.\n\n

    \n

    Udfakturering – momsfrie arter

    \n

    \n\n I denne analyse findes posteringer, hvor posteringsteksten indeholder ordene ”Debitor” eller ”Deb”, og\n hvor der ikke\n fremgår en leverandør, eller hvor leverandøren er ukendt. Analysen indeholder posteringer, hvor der ikke\n er bogført\n moms.\n\n

    \n

    Med denne analyse kan det undersøges, hvorvidt faktura sendt af kommunen er håndteres momsmæssigt\n korrekt. Der kan\n eksempelvis ses på, om den pågældende varer eller ydelse er momspligtig eller ej, og om dette stemmer\n overens med\n bogføringen.\n

    \n\n
    \n
    \n

    Analyser – Opsamling

    \n

    Analyserne i nedenstående afsnit er udtryk for opsamlingsanalyser. Posteringer som ikke passer ind i\n andre analyser,\n vil være i en af opsamlingsanalyserne. Som udgangspunkt er der ikke mulighed for momsrefusion.\n

    \n

    Opsamling – poster med leverandørnavn og bogført uden moms

    \n

    \n Analysen viser alle betalinger til leverandører, hvor der ikke er en faktura, og som er bogført uden\n moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Opsamling – poster med leverandørnavn og bogført med moms

    \n

    \n Analysen viser alle betalinger til leverandører, hvor der ikke er en faktura, og som er bogført med\n moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Opsamling – poster uden leverandørnavn og bogført med moms

    \n

    \n Analysen viser alle posteringer bogført med moms, hvor der ikke er angivet et leverandørnummer, og hvor\n der ikke er en\n faktura. Eksempelvis vil omposteringer fremgå af denne liste.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Opsamling – poster uden leverandørnavn og bogført uden moms

    \n

    \n Analysen viser alle posteringer, hvor der ikke er angivet leverandørnummer, og som er bogført uden moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n\n\n\n\n

    \n

    Opsamling – omfattet af positivlisten – ukendt

    \n

    \n Analysen viser alle posteringer, som er bogført på funktioner omfattet af positivlisten. Leverandøren er\n ukendt,\n hvorfor det ikke kan afgøres om ejerforholdskode 4 gør sig gældende.\n

    \n

    Omposteringer kan også være her.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – omfattet af positivlisten – øvrige

    \n

    \n Analysen viser alle posteringer, som er bogført på funktioner omfattet af positivlisten, og som\n umiddelbart ikke er\n omfattet af momsrefusion.\n

    \n

    Dette kan eksempelvis vedr. udgifter til kommuner og regioner bogført på hovedkonto 3 og 5, eller\n udgifter til\n personer/CPR-numre.\n

    \n

    Opsamling – poster med leverandørnavn – udenlandske leverandører

    \n

    \n Analysen viser alle posteringer, hvor det ud fra leverandørnavnet indikerer, at der er tale om en\n udenlandsk\n leverandør. Analysen indeholder posteringer, hvor der ikke foreligger en faktura.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Alle fakturaer og posteringer

    \n

    \n Analysen indeholder en liste over alle posteringer, som er indlæst i løsningen, og som findes i de\n øvrige\n analyser i\n Moms Tjek.\n

    \n

    Analysen kan anvendes til at udsøge i, fx hvis man har brug for at efterse alle posteringer bogført på\n et\n bestemt\n bilagsnummer. Når der ændres noget ved en postering i denne analyse, så vil dette også gøre sig gældende\n i\n den\n konkrete analyse, hvor pågældende postering optræder.

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

    Analyser i relation til positivlisten

    \n

    Det bør bemærkes, at momsrefusionsbekendtgørelsen og herunder positivlisten som udgangspunkt ændres 1\n gang årligt.\n Det er derfor vigtigt, at der anvendes den bekendtgørelse med dertilhørende positivliste, som er\n gældende\n for det år\n der arbejdes med.\n

    \n

    Positivlisten indeholder en række funktioner, hvor kommuner og regioner kan få momsrefusion på en række\n udgifter, der\n ikke er tillagt moms.\n

    \n

    Husk herunder betingelser i noterne til positivlisten, som skal være opfyldt for at hjemtage\n momsrefusion, herunder\n bestemte grupperinger, driftsoverenskomst, ejerforholdskode 4.\n

    \n

    For mange områder på positivlisten er ejerforholdskode 4 særlig relevant.\n

    \n

    Betingelser for ejerforholdskode 4:

    \n
      \n
    • Købet skal være fortaget hos en privat leverandør
    • \n
    • Købet skal vedrørende ikke momsbelagte ydelser
    • \n\n
    • Ydelsen skal være et alternativ til kommunens tilbud – helt generelt, er der tale om et tilbud, som\n kommunen selv\n kunne have udført
    • \n\n
    • Leverandøren må ikke være omfattet af en driftsoverenskomst
    • \n
    \n

    Vurdering af ejerforholdskode 4 er alene relevant i relation til tjenesteydelser, der er bogført på\n funktioner\n optaget på positivlisten.\n

    \n

    På Tema positivlisterne findes ofte de største potentialer. Analyserne indeholder funktioner, som er\n omfattet af\n positivlisten, hvor bogføringen er sket uden moms. For disse bør det undersøges om udgifterne opfylder\n positivlistens\n bestemmelser, og derfor bør bogføres med positivlistemoms.

    \n
    \n
    \n

    Positivliste analyser

    \n

    Positivliste analyserne er som udgangspunkt udtryk for korrekt kontering i henhold til positivlistens\n bestemmelser,\n og der er allerede afløftet positivlistemoms. Dette betyder, at der som udgangspunkt ikke er mulighed\n for\n at korrigere\n moms i disse.\n\n

    \n

    Analyserne kan anvendes til kontrol af, at positivlistens betingelser er opfyldt.\n\n

    Positivliste – 1.10.01 Somatiske sygehuse art 4.0 – Statens Serum

    \n\n

    Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.0, og hvor leverandøren\n er Statens\n Serum. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 1.10.01 Somatiske sygehuse art 4.0 EF4

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.0, og hvor bogføringen\n er\n sket med\n ejerforholdskode 4. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.

    \n\n

    Positivliste – 1.10.01 Somatiske sygehuse art 4.7 – kommuner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.7, hvorved leverandøren\n er\n en kommune.\n Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n

    \n

    Positivliste – 1.10.01 Somatiske sygehuse art 4.8 – regioner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.8, hvorved leverandøren\n er\n en region.\n Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Som udgangspunkt vil posteringer, som på baggrund af posteringstekst kunne tyde på at vedrøre højt\n specialiseret\n behandling, være sorteret fra. Posteringer vedrørende højt specialiseret behandling vil i stedte kunne\n findes i\n analysen ”Højt specialiseret behandling

    \n

    1.10.01 og 1.10.02”. Man kan med fordel efterse, at der ikke findes postering vedr. højt specialiseret\n behandling i\n denne analyse.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da posteringerne som udgangspunkt er\n konteret\n korrekt\n efter positivlistens bestemmelser.\n\n

    \n

    Positivliste – 1.10.02 Psykiatriske sygehuse art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.0, og hvor leverandøren\n er\n Statens\n Serum. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 1.10.02 Psykiatriske sygehuse art 4.0 EF4

    \n\n

    \n\n

    \n

    Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.0, hvor bogføringen er\n sket med\n ejerforholdskode 4. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 1.10.02 Psykiatriske sygehuse art 4.7 – kommuner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.7, hvorved leverandøren\n er\n en kommune.\n Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 1.10.02 Psykiatriske sygehuse art 4.8 – regioner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.8, hvorved leverandøren\n er\n en region.\n Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Som udgangspunkt vil posteringer, som på baggrund af posteringstekst kunne tyde på at vedrøre højt\n specialiseret\n behandling, være sorteret fra. Posteringer vedrørende højt specialiseret behandling vil i stedte kunne\n findes i\n analysen ”Højt specialiseret behandling 1.10.01 og 1.10.02”. Man kan med fordel efterse, at der ikke\n findes postering\n vedr. højt specialiseret behandling i denne analyse.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n

    \n

    Positivlisten – 1.20.10 Almen lægehjælp art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.20.10, art 4.0, og hvor leverandøren\n er\n Statens\n Serum. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivlisten – 1.20.11 Speciallægehjælp art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.20.11, art 4.0, og hvor leverandøren\n er\n Statens\n Serum. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 1.20.25 Høreapparater art 5.2

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.20.25 på art 5.2. Analysen indeholder\n hermed\n posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 2.10.01 Sociale tilbud – specialundervisning og rådgivning art 4.0\n

    \n\n

    \n Denne analyse indeholder posteringer, som er bogført på funktion 2.10.01, art 4.0, hvor bogføringen er\n sket med\n ejerforholdskode 4. Analysen indeholder hermed posteringer, som er bogført i henhold til positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt.\n\n\n

    \n

    Positivliste – 3.20.10 Tilskud til kulturelle aktiviteter art 5.9 – drift

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 3.20.10, art 5.9, hvor tilskuddet\n vedrører drift,\n herunder er konteret på drast 1. Analysen indeholder hermed posteringer, som er bogført i henhold til\n positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n

    \n

    Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt\n\n\n

    \n

    Positivliste – 3.20.10 Tilskud til kulturelle aktiviteter art 5.9 – anlæg

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 3.20.10, art 5.9, hvor tilskuddet\n vedrører anlæg,\n herunder er konteret på drast 3. Analysen indeholder hermed posteringer, som er bogført i henhold til\n positivlisten.\n\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for refusion, da der allerede er afløftet positivliste\n moms.\n\n Analysen kan anvendes til at efterse, at positivlistens betingelser er opfyldt\n\n

    \n

    Højt specialiseret behandling – 1.10.01 og 01.10.02 – PLACERING AF ANALYSE?

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktionerne 1.10.01 og 1.10.02, art 4.8, hvor det ud\n fra\n posteringsteksten tyder på at vedrører højt specialiseret behandling. Højt specialiseret behandling er\n ikke opfattet\n af positivlisten, jf. positivlistens noter. Det betyder, at der ikke kan afløftets positivliste moms af\n disse\n posteringer.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, at der faktisk er tale om højt specialiseret\n behandling, som\n er undtaget fra positivlistemoms.\n\n

    \n
    \n\n

    Temaliste analyser

    \n

    Temaliste analyserne indeholder posteringer bogført på funktioner optaget på positivlisten, men hvor\n der\n ikke er\n afløftet positivlistemoms. Posteringerne bør gennemgås for at efterse, om betingelserne i positivlisten\n gør sig\n gældende.\n\n

    \n

    Det er ofte i disse analyser, hvor der findes mest potentiale og dermed mulighed for mest momsrefusion.\n\n

    \n

    Temaliste – 1.10.01 Somatiske sygehuse – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.10.01 – funktion optaget på positivlisten.\n Leverandørnavnet\n indikerer, at Statens Serum Institut er leverandøren.\n\n

    \n

    Det kan med fordel efterses, at positivlistens betingelser er opfyldt.\n\n

    \n

    Temaliste – 1.10.01 Somatiske sygehuse art 4.0

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.0 – funktion optaget på\n positivlisten.\n\n

    \n

    I denne analyse bør det undersøges, hvorvidt betingelserne i positivlistens er opfyldt.\n\n

    \n

    Her bør det undersøges, hvorvidt ejerforholdskode 4 gør sig gældende.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.01 Somatiske sygehuse – kommuner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01 - funktion optaget på\n positivlisten.\n Posteringernes leverandørnavne indikerer, at leverandøren er en kommune. Det bør derfor undersøges, om\n bogføringen bør\n ske på art 4.7.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvorvidt positivlistens betingelser er opfyldt.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.01 Somatiske sygehuse – regioner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01 - funktion optaget på\n positivlisten.\n Posteringernes leverandørnavne indikerer, at leverandøren er en region. Det bør derfor undersøges, om\n bogføringen bør\n ske på art 4.8.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvorvidt positivlistens betingelser er opfyldt.\n\n

    \n

    Som udgangspunkt vil posteringer, som på baggrund af posteringstekst kunne tyde på at vedrøre højt\n specialiseret\n behandling, være sorteret fra. Posteringer vedrørende højt specialiseret behandling vil i stedte kunne\n findes i\n analysen ”Højt specialiseret behandling 1.10.01 og 1.10.02”. Man kan med fordel efterse, at der ikke\n findes postering\n vedr. højt specialitet behandling i denne analyse.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.01 Somatiske sygehuse art 4.0 – ingen leverandør

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01, art 4.0 – funktion optaget på\n positivlisten.\n I denne analyse er posteringerne, hvor der ikke er identificeret en leverandør.\n\n

    \n

    Der kan først og fremmeste sorteres på posteringstekst for at se, om der er posteringer, som ud fra\n posteringstekst\n kan opfylde betingelserne for ejerforholdskode 4.\n\n

    \n

    Det kan være nødvendigt at efterse yderligere bilag for at vurdere, om posteringer opfylder\n positivlistens\n betingelser.\n\n

    \n

    Temaliste – 1.10.02 Psykiatriske sygehuse art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.0 – funktion optaget på\n positivlisten.\n Leverandørnavnet indikerer, at det er Statens Seruminstitut, som er leverandøren.\n\n

    \n

    Det bør undersøges, hvorvidt betingelserne i positivlisten er opfyldt.\n\n\n

    \n

    Temaliste – 1.10.02 Psykiatriske sygehuse art 4.0

    \n\n

    \n\n

    \n

    Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.0 – funktion optaget på\n positivlisten.\n\n

    \n

    I denne analyse bør det undersøges, hvorvidt betingelserne i positivlistens er opfyldt.\n\n

    \n

    Her bør det undersøges, hvorvidt ejerforholdskode 4 gør sig gældende.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.02 Psykiatriske sygehuse – kommuner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02 - funktion optaget på\n positivlisten.\n Posteringernes leverandørnavne indikerer, at leverandøren er en kommune. Det bør derfor undersøges, om\n bogføringen bør\n ske på art 4.7.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvorvidt positivlistens betingelser er opfyldt.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.02 Psykiatriske sygehuse – regioner

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.01 - funktion optaget på\n positivlisten.\n Posteringernes leverandørnavne indikerer, at leverandøren er en region.\n Det bør derfor undersøges om bogføringen bør ske på art 4.8.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvorvidt positivlistens betingelser er opfyldt.\n\n

    \n

    Som udgangspunkt vil posteringer, som på baggrund af posteringstekst kunne tyde på at vedrøre højt\n specialiseret\n behandling, være sorteret fra. Posteringer vedrørende højt specialiseret behandling vil i stedte kunne\n findes i\n analysen ”Højt specialiseret behandling 1.10.01 og 1.10.02”. Man kan med fordel efterse, at der ikke\n findes postering\n vedr. højt specialiseret behandling i denne analyse.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”leverandør”.\n\n\n

    \n

    Temaliste – 1.10.02 Psykiatriske sygehuse art 4.0 – ingen leverandør

    \n\n

    \n\n Denne analyse indeholder posteringer, som er bogført på funktion 1.10.02, art 4.0 – funktion optaget på\n positivlisten.\n I denne analyse er posteringerne, hvor der ikke er identificeret en leverandør.\n\n

    \n

    Der kan først og fremmeste sorteres på posteringstekst for at se, om der er posteringer, som ud fra\n posteringstekst\n kan opfylde betingelserne for ejerforholdskode 4.\n\n

    \n

    Det kan være nødvendigt at efterse yderligere bilag for at vurdere, om posteringer opfylder\n positivlistens\n betingelser.\n\n

    \n

    Temaliste – 1.20.10 Almen lægehjælp – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.20.10 – funktion optaget på positivlisten.\n Leverandørnavnet\n indikerer, at Statens Serum Institut er leverandøren.\n\n

    \n

    Det kan med fordel efterses, at positivlistens betingelser er opfyldt.\n\n

    \n

    Temaliste 1.20.11 Speciallægehjælp – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.20.25 – funktion optaget på positivlisten.\n

    \n

    Leverandørnavnet indikerer, at det er Statens Seruminstitut, som er er leverandøren.\n\n

    \n

    Det bør efterses, hvorvidt positivlistens betingelser er opfyldt.\n\n

    \n

    Temaliste – 1.20.25 Høreapparater art 5.2

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.20.25, art 5.2 – funktion optaget på\n positivlisten.\n\n

    \n

    I denne analyse kan posteringerne gennemgås for at efterse, hvorvidt konteringen bør ske med art 5.2.\n\n

    \n

    Temaliste – 2.10.01 Sociale tilbud-specialundervisning og rådgivning art 4.0

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 2.10.01, art 4.0 – funktion optaget på\n positivlisten.\n\n

    \n

    Posteringerne bør gennemgås for at efterse, om betingelserne for positivlistemoms er opfyldt – herunder\n om\n ejerforholdskode 4 gør sig gældende.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”Leverandør”.\n\n

    \n

    Temaliste – 2.10.01 Sociale tilbud – specialundervisning og rådgivning – ingen\n leverandør\n

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 2.10.01 – funktion optaget på positivlisten.\n Posteringer i\n denne analyse indeholder ikke oplysninger om leverandøren.\n\n

    \n

    Det bør undersøges, hvorvidt der er tale om en privatleverandør, samt om de øvrige betingelser for\n positivlistemoms\n gør sig gældende.\n\n

    \n

    Der kan med fordel sorteres på bruttobeløb.\n\n\n

    \n

    Temaliste 3.20.10 Tilskud til kulturelle aktiviteter – drift

    \n\n

    \n\n Denne analyse indeholder posteringer på funktion 3.20.10 – funktion optaget på positivlisten. Analysen\n indeholder\n posteringer, som vedrører drift, hvorved bogføringen er sket på dranst 1.\n\n

    \n

    Man kan efterse posteringer for at se, hvorvidt der er tale om tilskud, som bør bogføres med art 5.9,\n eller om der er\n tale om en betaling af en ydelse, som ikke bør konteres med art. 5.9.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at kontrollere, om positivlistens betingelser er opfyldt.\n\n

    \n

    Temaliste 3.20.10 Tilskud til kulturelle aktiviteter – anlæg

    \n\n

    \n\n Denne analyse indeholder posteringer på funktion 3.20.10 – funktion optaget på positivlisten. Analysen\n indeholder\n posteringer, som vedrører anlæg, hvorved bogføringen er sket på dranst 3.\n\n

    \n

    Man kan efterse posteringer for at se, hvorvidt der er tale om tilskud, som bør bogføres med art 5.9,\n eller om der er\n tale om en betaling af en ydelse, som ikke bør konteres med art. 5.9.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at kontrollere, om positivlistens betingelser er opfyldt.\n\n\n\n

    \n
    \n
    \n\n

    Fejlliste analyser

    \n

    \n Fejlliste analyserne indeholder posteringer, hvor der er afløftet positivlistemoms. Det tyder dog på, at\n betingelser\n for at hjemtage positivliste moms med den anvendte momsprocentandel ikke er opfyldt.\n

    \n

    Posteringerne i analyserne bør efterses for at se, om der er sket en fejl, og om betingelser for at\n hjemtage\n positivlistemoms med en anden momsprocentandel gør sig gældende.\n\n

    \n

    Fejlliste – 1.10.01 Somatiske sygehuse art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.10.01, art 4.0 – funktion omfattet af\n positivlisten. Der er\n afløftet positivliste moms efter procenten opgivet for Statens Serum Institut. Ud fra leverandørnavnet\n tyder det på,\n at der er tale om en anden leverandør end Statens Serum Institut.\n\n

    \n

    Posteringerne kan gennemgås for at efterse, hvem leverandøren er.\n\n

    \n

    Hvis leverandøren eksempelvis er en privat leverandør, så kan man med fordel undersøge, om\n betingelserne\n for\n ejerforholdskode 4 gør sig gældende.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis Statens\n Serum og øvrige\n leverandør.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent, som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Der kan med fordel sorteres på kolonnen ”Leverandør”.\n\n

    \n

    Fejlliste – 1.10.01 Somatiske sygehuse art 4.0 EF 4

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.10.01, art 4.0 – funktion optaget på\n positivlisten.\n Posteringerne i denne analyse er bogført med ejerforholdskode 4, men hvor det ud fra leverandøren\n umildbart ikke tyder\n på, at betingelserne for ejerforholdskode 4 gør sig gældende, eksempelvis fordi leverandøren er en\n kommune, region\n eller der er tale om en udbetaling til en privat person.\n\n

    \n

    Posteringer bør gennemgås for at efterse, om ejerforholdskode 4 gør sig gældende.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis private\n leverandører og\n øvrige leverandør.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvem leverandøren er.\n\n

    \n

    Man kan med fordel sortere på kolonnen ”Leverandør”.\n\n

    \n

    Fejlliste – 1.10.01 Somatiske sygehuse art 4.7/4.8 – kommuner og regioner\n

    \n\n

    \n Denne analyse indeholder posteringer bogført på funktion 1.10.01, art 4.7/4.8 – funktion optaget på\n positivlisten.\n Posteringerne er i denne analyse, da de som udgangspunkt er konteret forkert, idet leverandøren ikke\n tyder\n på at være\n en kommune eller region.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis\n kommunale/regionale\n leverandører og øvrige leverandører.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvilke leverandører der er tale om.\n\n

    \n

    Man kan med fordel sortere i kolonnen ”Leverandør”.\n\n

    \n

    Fejlliste – 1.10.02 Psykiatriske sygehuse art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.10.02, art 4.0 – funktion optaget på\n positivlisten. Der er\n afløftet positivliste moms efter procenten opgivet for Statens Serum Institut. Ud fra leverandørnavnet\n tyder det på,\n at der er tale om en anden leverandør end Statens Serum Institut.\n\n

    \n

    Hvis leverandøren eksempelvis er en privat leverandør, så kan man med fordel undersøge, om\n betingelserne\n for\n ejerforholdskode 4 gør sig gældende.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis Statens\n Serum og øvrige\n leverandør.\n

    \n

    Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Der kan med fordel sorteres på leverandører.\n\n

    \n

    Fejlliste – 1.10.02 Psykiatriske sygehuse art 4.0 EF 4

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.10.02, art 4.0 – funktion optaget på\n positivlisten.\n Posteringerne i denne analyse er bogført med ejerforholdskode 4, men hvor det ud fra leverandøren\n umildbart ikke tyder\n på, at betingelserne for ejerforholdskode 4 gør sig gældende, eksempelvis fordi leverandøren er en\n kommune, region\n eller der er tale om en udbetaling til en privat person.\n\n

    \n

    Posteringer bør gennemgås for at efterse, om ejerforholdskode 4 gør sig gældende.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis private\n leverandører og\n øvrige leverandør.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Man kan med fordel sortere på kolonnen ”Leverandør”.\n\n\n

    \n

    Fejlliste – 1.10.02 Psykiatriske sygehuse art 4.7/4.8 – kommuner og regioner\n

    \n\n

    \n Denne analyse indeholder posteringer bogført på funktion 1.10.02, art 4.7/4.8 – funktion optaget på\n positivlisten.\n Posteringerne er i denne analyse, da de som udgangspunkt er konteret forkert, idet leverandøren ikke\n tyder\n på at være\n en kommune eller region.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis\n kommunale/regionale\n leverandører og øvrige leverandører.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvilke leverandører der er tale om.\n\n

    \n

    Man kan med fordel sortere i kolonnen ”Leverandør”.\n\n\n

    \n

    Fejlliste – 1.20.10 Almen lægehjælp art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.20.10, art 4.0 – funktion optaget på\n positivlisten.\n Posteringerne er i denne analyse, da de som udgangspunkt er konteret forkert, idet leverandøren ikke\n tyder\n på at være\n Statens Serum.\n\n

    \n

    Det bør efterses, hvem leverandøren er.\n\n

    \n

    Her kan med fordel sorteres på leverandører.\n\n

    \n

    Fejlliste – 1.20.11 Special lægehjælp art 4.0 – Statens Serum

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på funktion 1.20.11, art 4.0 – funktion optaget på\n positivlisten.\n Posteringerne er i denne analyse, da de som udgangspunkt er konteret forkert, idet leverandøren ikke\n tyder\n på at være\n Statens Serum.\n\n

    \n

    Det bør efterses, hvem leverandøren er.\n\n

    \n

    Her kan med fordel sorteres på leverandører.\n\n\n

    \n

    Fejlliste – 2.10.01 Sociale tilbud art 4.0 EF 4 kommuner og regioner

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på art 4.0 med ejerforholdskode 4, hvor leverandøren er en\n kommune eller\n region. Posteringerne er i denne analyse, da de som udgangspunkt er konteret forkert.\n\n

    \n

    I denne analyse viser potentialet forskellen mellem den moms der kan afløftet ved henholdsvis\n kommunale/regionale\n leverandører og øvrige leverandører.\n Hvis der eksempelvis er tale om en udbetaling til en privat person, så vil potentialet være hele\n tilbageregulering.\n Hvis der derimod er tale om en region/kommune, så vil potentiellet være differencen mellem den momsandel\n procent, som\n posteringer er bogført efter og den momsandel procent som er opgivet i positivlisten ved kommuner og\n regioner.\n\n

    \n

    Posteringerne kan med fordel gennemgås for at efterse, hvilke leverandører der er tale om.\n\n

    \n

    Man kan med fordel sortere i kolonnen ”Leverandør”.\n\n

    \n
    \n

    Analyser i relation til faktura med/uden moms

    \n

    Faktura med moms og bogført med moms

    \n\n

    \n Denne analyse viser posteringer, der er bogført med moms, og hvor fakturaen indeholder moms.\n

    \n

    Analysen viser posteringer, hvor der er en difference i bogført- og faktura moms.\n Det er i denne analyse derfor relevant at kontrollere, om der er fakturaer, hvor fordelingen på\n henholdsvis\n momsbærende og ikke momsbærende arter ikke er foretaget korrekt.\n

    \n

    Man kan med fordel sortere faldende på kolonnen ”potentiale”, og som resultat heraf ses alle de\n posteringer, hvor der\n er bogført mindre moms, end hvad fakturaen foreskriver.\n

    \n

    Der vises kun et potentiale, hvis der er bogført for lidt moms. Der vises omvendt ikke et potentiale,\n hvis der er\n bogført mere moms end faktura foreskriver. Årsagen hertil er, at det kan være korrekt, at der er bogført\n mere moms end\n fakturaen foreskriver, hvis fakturaen både indeholder en del med- og uden moms, hvor delen uden moms er\n bogført med\n positivliste moms.\n

    \n

    Analysen kan endvidere anvendes til kontrol af korrekt konteringspraksis.\n

    \n

    Faktura med moms og bogført uden moms

    \n\n

    \n Denne analyse viser posteringer, hvor fakturaen indeholder moms, men hvor posteringer er bogført uden\n moms. Dette\n giver en mulighed for momsrefusion, som bør undersøges nærmere.\n

    \n

    Man kan med fordel sortere faldende på kolonnen ”Potentiale”, og som resultat heraf vises de\n posteringer,\n hvor der er\n det største potentiale.\n

    \n

    Posterne bør undersøges for, om der er sket korrekt artskontering, eller om de i stedet burde konteres\n på\n en\n momsbærende art.\n

    \n

    Faktura med moms svarer til bogført moms

    \n\n

    \n Analysen viser alle posteringer, hvor fakturamomsbeløbet svarer til det bogførte momsbeløb.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Faktura uden moms – udenlandske leverandører

    \n\n

    \n Denne analyse indeholder posteringer, hvor fakturaen kan identificeres som udenlandsk på baggrund af\n kreditor, og hvor\n der foreligger en elektronisk faktura, som ikke indeholder moms.\n

    \n

    Analysen kan anvendes til efterse, om der er foretaget korrekt momshåndtering, herunder artskontering\n og\n særligt om\n der korrekt er afregnet moms som følge af omvendt betalingspligt.\n\n

    \n

    Faktura uden moms og bogført med moms

    \n\n

    \n Denne analyse indeholder posteringer, der er bogført med moms, men hvor fakturaen ikke indeholder moms.\n

    \n

    Som udgangspunkt er analysen et udtryk for, at der er hjemtaget for meget moms.\n

    \n

    Det kan undersøges, om der findes andet bilagsmateriale, som indeholder moms.\n

    \n

    Findes der ikke bilagsmateriale, hvor der fremgår moms, bør det i stedet efterses om udgiften er\n bogført\n på en\n funktion omfattet af positivlisten, og om udgiften i så fald i stedet opfylder betingelserne for\n positivlistemoms.\n

    \n

    Desuden kan analysen anvendes som orienteringsanalyse, med henblik på at kontrollere hvilke\n leverandører\n der ikke\n fremsender korrekte fakturaer.\n

    \n

    Faktura uden moms og bogført uden moms

    \n\n

    \n Denne analyse indeholder posteringer, som er bogført uden moms, og hvor fakturaen ikke indeholder moms.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion. Det kan dog med fordel kontrolleres, om\n der er\n leverandører, som umiddelbart leverer momspligtige varer og ydelser. Hvis dette er tilfældet, bør det\n underliggende\n bilagsmateriale undersøges nærmere.\n

    \n

    Man kan med fordel anvende filter til venstre i Moms Tjek løsningen og vælge ”Faktura: Vedhæftning”,\n herunder vælge\n ”Billede” samt ”PDF” for at se de posteringer, hvor der er tilknyttet et billede eller en PDF.\n

    \n

    Der kan ofte ske konverteringsfejl, når billede/TIF-filer og PDF’er skal konverteres til den\n elektroniske\n faktura,\n hvorfor man særligt bør være opmærksom på disse posteringer i analysen.\n

    \n

    Moms i fakturavarelinjen

    \n\n

    \n I denne analyse vises fakturaer, hvor ordet ”moms” indgår i fakturavarelinjen. Posteringerne i analysen\n er\n bogført på\n ikke momsbærende arter.\n

    \n

    Det skal her undersøges, om fakturaen (andet bilag) indeholder moms. Såfremt det indeholder moms, bør\n det\n kontrolleres, at konteringen sker på momsbærende arter.\n

    \n

    Analysen kan endvidere anvendes til kontrol af, hvilke leverandører der muligvis har fejlindlæsning ved\n udstedelse.\n

    \n

    Der kan med fordel sorteres på leverandør.\n

    \n

    Rykker i fakturavarelinje

    \n\n

    \n Denne analyse indeholder posteringer, hvor ordet ”rykker” fremgår i fakturavarelinjen.\n

    \n

    Er der tale om en ”rykker”, skal det undersøges, om den oprindelige faktura indeholder moms, og\n herefter\n om udgiften\n er artskonteret korrekt.\n

    \n

    En ”rykker” vil oftest ikke indeholde oplysninger om moms, da den blot refererer til den originale\n fremsendte\n faktura. Bogføringen bør derfor ske på grundlag af den oprindelige faktura og ikke selve rykkeren.\n

    \n

    Hvis der moms i den oprindelige faktura, kan der være mulighed for fuld momsrefusion. Hvis der omvendt\n ikke er moms i\n den oprindelige faktura, så kan man overveje positivlistemoms\n

    \n

    Der kan med fordel sorteres på beløb for hurtigt at kunne se, hvorvidt posteringen faktisk er en\n rykker.\n

    \n

    Såfremt der eksempelvis er indkøbt ”parykker”, vil sådanne posteringer ligeledes falde under denne\n analyse.\n

    \n

    Forskel på bogført beløb og faktura beløb

    \n\n

    \n Denne analyse indeholder posteringer, hvor det bogførte beløb afviger fra fakturabeløbet.\n

    \n

    Ved gennemgang af disse posteringer, bør det undersøges, om hele fakturabeløbet er bogført, og om der\n er\n foretaget\n korrekt artskontering.\n

    \n

    Faktura viser kun et totalbeløb

    \n\n

    \n Denne analyse viser posteringer, hvor fakturaen alene viser et totalbeløb. Posteringer bør undersøges\n for\n andet\n bilagsmateriale for vurdering af korrekt moms- og artskontering.

    \n\n
    \n
    \n

    Analyser i relation til art 1 Løn

    \n\n

    Udgifter til eksterne på art 1 løn

    \n\n

    Denne analyse indeholder posteringer bogført på art 1 - løn til eksterne leverandører.

    \n

    Her bør det undersøges, om udgifterne indeholder moms. Afhængig af momsgrundlaget bør bogføringen ske\n på henholdsvis art\n 4.0 eller 4.9

    \n

    I analysen vises der potentiale for de posteringer, hvor der er moms i fakturaen.

    \n\n

    Eksempelvis ses det, at udgifter til bl.a. vikarbureauer bogføres på art 1.

    \n\n

    Interne lønudgifter – art 1

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på art 1 - interne lønudgifter.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Udgifter til eksterne på art 9

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på art 9 - interne arter, hvor leverandøren er ekstern.\n

    \n

    Her bør det undersøges, om udgifterne er bogført på korrekte arter.\n

    \n

    Det kan være en fordel at sortere på kolonnen ”Leverandør”. Betalinger til eksterne leverandører bør\n ikke\n konteres på\n art 9, men henholdsvis på art 4.0 eller 4.9.\n

    \n

    Analysen kan både anvendes som kontrol for korrekt artskontering, men kan også undersøge mulighed for\n momsrefusion, i\n relation til udgifter til eksterne leverandører.

    \n\n
    \n\n
    \n

    Analyser i relation til momsrefusionsbekendtgørelsen - §1, stk. 4

    \n

    Tilskud til trafikselskaber

    \n\n

    \n\n Denne analyse indeholder poster bogført på funktion 3.10.01, funktionen indgår ikke i\n momsrefusionsordningen.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Almene ældreboliger

    \n\n

    \n\n Denne analyse indeholder poster bogført på funktion 2.10.30, funktionen indgår ikke i\n momsrefusionsordningen.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n
    \n

    Øvrige analyser

    \n

    Egne huslejebetalinger

    \n\n

    \n\n\n Analysen indeholder posteringer, som på baggrund af særlige logikker, finder egne huslejeindtægter.\n

    \n

    Analysen kan anvendes til kontrol af, at der alene afregnes 7,5% af indtægter, der er omfattet af\n reglerne herfor.\n

    \n

    Det bør derfor undersøges, om der findes indtægter, der ikke har karakter af at være kontraktmæssig\n husleje,\n eksempelvis fordeling af udgifter i organisationen - udleje fra en afdeling til en anden.\n

    \n

    Fondsmoms

    \n\n

    \n\n Analysen indeholder en liste over alle de posteringer, som tyder på at være tilskud som regionen har\n modtaget.\n Posteringerne indeholder ord som gave, tilskud, donation og lign.,\n

    \n

    Det fremgår af momsrefusionsbekendtgørelsen at tilskud som regionen modtager fra fonde, private\n virksomheder, private\n foreninger, institutioner mv. ikke er omfattet af refusionsordningen, hvorfor der skal tilbagebetales\n 17,5% af det\n pågældende tilskud.\n

    \n

    Tilskud som findes på funktion 1.10.01, Somatiske sygehuse og 1.10.02, Psykiatriske sygehuse, er dog\n undtaget for\n reduktionen.\n

    \n

    Posteringer i analysen kan både være bogført med og uden moms.\n Analysen kan anvendes til at undersøge om regionen har modtaget tilskud, som der bør afregnes fondsmoms\n af\n eller om\n der modsat findes indtægter, som der er afregnet fondsmoms af, men som er undtaget reduktionen.\n

    \n

    Der kan med fordel sorteres på ”Bruttobeløb”, for at efterse de største beløb først.\n

    \n

    Erstatninger

    \n\n

    \n\n Denne analyse indeholder posteringer, hvor posteringsteksten antyder, at der kan være tale om en\n erstatning,\n forsikring eller lign, og hvor indtægten er bogført på en momsbærende udgiftsart eksempelvis 4.9.\n

    \n

    Når der er tale om erstatninger, forsikringer og lign., bør disse ikke bogføres på momsbærende arter,\n da\n der ellers\n sker en tilbagebetaling til refusionsordningen.\n

    \n

    Posteringer bør gennemgås for at vurdere, om der reelt er tale om en erstatning eller\n forsikringsindtægt,\n som i\n stedet bør bogføres på en indtægtsart - art 7.\n

    \n

    Øvrige tilskud – Regioner

    \n\n

    \n\n

    \n

    Denne analyse indeholder posteringer, hvor ordet ”tilskud”, ”støtte” eller ”bidrag” fremgår af\n posteringsteksten.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion, men har til formål at samle tilskud og\n sikre korrekt\n kontering.\n

    \n

    I denne analyse kan det med fordel undersøges, om der findes tilskud, som burde være bogført på\n funktioner omfattet\n af positivlisten, eksempelvis tilskud til kulturelle aktiviteter, som i stedet burde være bogført på\n hovedkonto 3.\n

    \n

    Intern fakturering – art. 9

    \n\n

    \n\n Denne analyse indeholder en liste over alle posteringer bogført på art 9, interne arter, hvor der er\n tale\n om intern\n fakturering, eller hvor der ikke fremgår leverandør på posteringen.\n

    \n

    Analysen kan bruges til at efterse, hvordan bogføringen af interne faktureringer sker.\n

    \n

    Intern fakturering – øvrige arter

    \n\n

    \n\n Denne analyse indeholder posteringer i relation til intern afregning, som ikke er bogført på art 1 eller\n art 9. Man\n kan med fordel sortere på kolonnen ”Moms”. Interne afregninger bør som udgangspunkt ikke ske på\n momsbærende arter.\n

    \n

    Man bør derfor undersøg modposter i relation hertil.\n

    \n

    Af Budget- og regnskabssystem fremgår følgende:\n

    \n

    HOVEDART 9 INTERNE UDGIFTER OG INDTÆGTER\n

    \n

    Registrering af udgifter og indtægter i forbindelse med interne afregninger\n mellem forskellige funktioner og\n omkostningssteder i kommunen/regionen kan foretages på 2 måder i budget- og regnskabssystemet. Enten ved\n hjælp af\n plus/minus-posteringer eller ved anvendelse af de interne arter på hovedart 9.\n

    \n

    Overførsler til personer på art 5.2.

    \n\n

    \n\n Denne analyse indeholder posteringer bogført på art 5.2 - overførsler til personer.\n

    \n

    Analysen giver som udgangspunkt ikke mulighed for momsrefusion, men kan anvendes til kontrol af korrekt\n bogføring.\n

    \n

    Indsigt i underliggende bevillinger/lovgrundlag kan med fordel bruges til vurdering af, om bogføringen\n er\n sket\n korrekt.\n\n

    \n

    Udgifter til apoteker (Region)

    \n\n

    \n\n Analysen indeholder udgifter til apoteker. Køb af medicin mv. er momspligtigt, og analysen kan derfor\n anvendes som\n kontrol til at efterse, om udgifter til apoteker er bogført med moms.\n

    \n

    Det kan være en fordel at sortere på funktion, for at efterse at udgifter bogføres ensartet på de\n enkelte\n funktioner.\n\n

    \n

    Udgifter på indtægtsarter

    \n\n

    \n\n Denne analyse indeholder posteringer, som typer på at være udgifter, men som er bogført på en\n indtægtsart\n (art 7).\n

    \n

    Det bør undersøges, om der er tale om udgifter, som i stedet bør bogføres på en udgiftsart -\n eksempelvis\n art 2.9, 4.0\n eller 4.9.\n

    \n

    Der vises alene et potentiale for de posteringer, hvor der er moms i fakturaen.\n\n

    \n

    Gavekort

    \n\n

    \n\n Denne analyse indeholder posteringer, hvor ordet ”gavekort” fremgår af posteringsteksten eller\n varelinjen.\n

    \n

    Er der tale om et gavekort, bør det kontrolleres, om fakturaen indeholder moms, og herefter om udgiften\n er korrekt\n artskonteret.\n

    \n

    Analysen kan også anvendes til at kontrollere brugen af gavekort.\n

    \n

    OBS. Det kan medføre skattemæssige konsekvenser at anvende gavekort.\n

    \n

    Betalingskort

    \n\n

    \n\n Denne analyse indeholder posteringer i relation til brug af et betalingskort, eksempelvis Mastercard,\n SEB\n eller\n Eurocard.\n

    \n

    Kontoudtoget kan gennemgås for at efterse om den enkelte udgift er med eller uden moms. Det kan i denne\n forbindelse\n kontrolleres, hvorvidt artkonteringen er korrekt.\n

    \n

    OBS - på brug af betalingskort i relation til køb i udlandet og den momsmæssige håndtering.\n

    \n

    Beregnede omkostninger – art. 0

    \n\n

    \n\n Denne analyse indeholder alle posteringer konteret på art 0, beregnede omkostninger.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n\n

    \n

    Trafikselskaber (Regioner)

    \n\n

    \n\n\n Denne analyse indeholder posteringer, hvor leverandørnavnet indikerer, at der er tale om et regionalt\n trafikselskab.\n\n

    \n

    Analysen kan anvendes til at efterse, om der er foretaget korrekt artskontering.\n\n

    \n

    Øreafrunding

    \n\n

    \n\n Denne analyse indeholder alle posteringer, som vedrører øreafrundinger +/- 1 kr.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Udfakturering – momsbærende arter

    \n\n

    \n\n\n I denne analyse findes posteringer, hvor posteringsteksten indeholder ordene ”Debitor” eller ”Deb”, og\n hvor der ikke\n fremgår en leverandør, eller hvor leverandøren er ukendt. Analysen indeholder posteringer, hvor momsen\n er\n forskelligt\n fra 0.\n\n

    \n

    Med denne analyse kan det undersøges, hvorvidt faktura sendt af kommunen er håndteres momsmæssigt\n korrekt. Der kan\n eksempelvis ses på, om den pågældende varer eller ydelse er momspligtig eller ej, og om dette stemmer\n overens med\n bogføringen.\n\n

    \n

    Udfakturering – momsfrie arter

    \n\n

    \n\n\n I denne analyse findes posteringer, hvor posteringsteksten indeholder ordene ”Debitor” eller ”Deb”, og\n hvor der ikke\n fremgår en leverandør, eller hvor leverandøren er ukendt. Analysen indeholder posteringer, hvor der ikke\n er bogført\n moms.\n\n

    \n

    Med denne analyse kan det undersøges, hvorvidt faktura sendt af kommunen er håndteres momsmæssigt\n korrekt. Der kan\n eksempelvis ses på, om den pågældende varer eller ydelse er momspligtig eller ej, og om dette stemmer\n overens med\n bogføringen.\n\n

    \n
    \n

    Analyser – Opsamling

    \n

    Analyserne i nedenstående afsnit er udtryk for opsamlingsanalyser. Posteringer som ikke passer ind i\n andre analyser,\n vil være i en af opsamlingsanalyserne. Som udgangspunkt er der ikke mulighed for momsrefusion.\n

    \n

    Opsamling – omfattet af positivlisten – ukendt

    \n\n

    \n\n

    \n

    Analysen viser alle posteringer, som er bogført på funktioner omfattet af positivlisten. Leverandøren\n er\n ukendt,\n hvorfor det ikke kan afgøres om ejerforholdskode 4 gør sig gældende.\n

    \n

    Omposteringer kan også være her.\n Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – omfattet af positivlisten – øvrige

    \n\n

    \n\n Analysen viser alle posteringer, som er bogført på funktioner omfattet af positivlisten, og som\n umiddelbart ikke er\n omfattet af momsrefusion.\n

    \n

    Dette kan eksempelvis vedr. udgifter til kommuner og regioner bogført på hovedkonto 3 og 5, eller\n udgifter til\n personer/CPR-numre.\n

    \n

    Opsamling – poster med leverandørnavn og bogført uden moms

    \n\n

    \n\n Analysen viser alle betalinger til leverandører, hvor der ikke er en faktura, og som er bogført uden\n moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – poster med leverandørnavn og bogført med moms

    \n\n

    \n\n Analysen viser alle betalinger til leverandører, hvor der ikke er en faktura, og som er bogført med\n moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – poster uden leverandørnavn og bogført med moms

    \n\n

    \n\n Analysen viser alle posteringer bogført med moms, hvor der ikke er angivet et leverandørnummer, og hvor\n der ikke er en\n faktura. Eksempelvis vil omposteringer fremgå af denne liste.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – poster uden leverandørnavn og bogført uden moms

    \n\n

    \n\n Analysen viser alle posteringer, hvor der ikke er angivet leverandørnummer, og som er bogført uden moms.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Opsamling – poster med leverandørnavn – udenlandske leverandører

    \n\n

    \n\n Analysen viser alle posteringer, hvor det ud fra leverandørnavnet indikerer, at der er tale om en\n udenlandsk\n leverandør. Analysen indeholder posteringer, hvor der ikke foreligger en faktura.\n

    \n

    Analysen er en opsamling og giver som udgangspunkt ikke mulighed for momsrefusion.\n

    \n

    Alle fakturaer og posteringer

    \n\n

    \n\n Analysen indeholder en liste over alle posteringer, som er indlæst i løsningen, og som findes i de\n øvrige\n analyser i\n Moms Tjek.\n

    \n

    Analysen kan anvendes til at udsøge i, fx hvis man har brug for at efterse alle posteringer bogført på\n et\n bestemt\n bilagsnummer. Når der ændres noget ved en postering i denne analyse, så vil dette også gøre sig gældende\n i\n den\n konkrete analyse, hvor pågældende postering optræder.\n\n

    \n
    \n
    \n
    \n

    Brugsvejledning

    \n

    Indledning

    \n

    Denne guide har til formål at give et overblik over funktionalitet i Moms Tjek-løsningen.

    \n

    Guiden skal således hjælpe dig hurtigt i gang, og understøtte en effektiv forankring af\n løsningen i organisationen.

    \n

    Applikationen er bygget op af tre hovedmenuer. Disse er tilgængelige i højre-top af skærmen:\n

    \n
      \n
    • Dashboard – Indsigt i værdi af arbejde, samt hurtige adgange til senest anvendte-\n og favorit analyser
    • \n
    • Analyser – Overblik over alle tilgængelige analyser, samt let tilgængelige\n filtreringsmuligheder.
    • \n
    • Infocenter – Overblik over kommunikation fra både kollegaer, samt vigtige\n informationer vedr. nyheder om løsningen og eventuelle lovændringer.
    • \n
    • \n Leder Dasboard - Værdifuld indsigt i fremgangen med arbejdet med moms i din organisation.\n Indblik i anvendelse, samt opnået værdi af løsningen og arbejdet med moms. (Leder dashboardet er et\n tilkøbsmodul, hvorfor tilgangen er betinget heraf).\n
    • \n
    \n

    Den overordnede proces, som løsningen er baseret på, følger de ovenstående tre punkter.

    \n

    Du vil altid blive præsenteret for dashboard’et, hvorfra du skal tage stilling til om du vil\n bruge en af de af hurtige adgange ’senest anvendt’ og ’favoritter’.

    \n

    Vil du ikke anvende en af disse hurtige adgange, klikker du blot på menuen ’Analyser’.\n Foretag her de filtreringer du ønsker. Herefter klikker du blot på én af de præsenterede\n analyser.

    \n

    Du vil nu blive præsenteret for et posteringoverblik, indeholdende alle de posteringer som er\n faldet i den valgte analyse. Du kan nu begynde at arbejde med potentialer, rette potentiale\n og behandle posteringer.

    \n
    \n\n
    \n

    Dashboard

    \n
      \n
    • Oversigt over KPI’er: Løsningen giver dig øjeblikkeligt indblik i fremgangen i\n indhentning af potentiale pr. Regnskabsår.\n
        \n
      • Du kan nemt skifte imellem regnskabsår ved at klikke på årstallet, og vælge det\n år du gerne vil se
      • \n
      • Du kan yderligere klikke på ‘Afsluttede analyser’ for at få indblik i, hvilke\n Moms Tjek analyser du har afsluttet pr. Regnskabsår.
      • \n
      • ‘Data til dato’ forklarer den seneste posteringsdato for det indlæste data
      • \n
      • ‘Data indlæst’ forklarer dato for seneste indlæsning af data i løsningen.
      • \n
      \n
    • \n \n
    • Senest anvendte analyser: Løsningen giver dig hurtig adgang til de analyser, du senest\n har anvendt på din PC.\n
        \n
      • Løsningen husker yderligere de filtre du anvendte sidst, du brugte en given\n analyse.
      • \n
      \n
    • \n \n
    • Favoritter: Løsningen giver dig muligheden for tilgå dine favoritanalyser fra forsiden\n ved ét klik.\n
        \n
      • Analyser kan markeres som favorit, ved at klikke på den gule stjerne i top højre\n hjørne af en analyse.
      • \n
      • Løsningen gemmer dine filtreringsvalg for din valgte analyse.
      • \n
      \n
    • \n \n
    \n
    \n\n
    \n

    Analyser

    \n \n
      \n
    • \n Analyser-siden giver dig adgang til alle mulige analyser udfærdiget af Moms Tjek\n
        \n
      • I venstre side af billedet ses alle mulige filtre. Ved et filter-valg opdaterer\n analyserne med det samme. Dette betyder at de informationer, som du ser ved hver\n analyse, opdateres i takt med valg af filtre.
      • \n
      \n
    • \n
    • Analyser-siden giver dig mulighed for at sortere rækkefølgen, hvorpå Moms Tjek\n analyserne præsenteres - Find blot ‘sorter-knappen’ i højre-top hjørne. Du kan sortere\n efter følgende: Samlet potentiale, Resterende potentiale, realiseret resultat, antal\n posteringer og analysetitel.
    • \n \n
    • Analyser-siden giver dig mulighed for at få overblik over analyser i to formater: 1. Et\n kasse-format, hvor hver analyse bliver præsenteret i en kasse, 2. Et liste-format, hvor\n alle analyser bliver præsenteret i en tabel. Skift imellem de to formater på knapperne\n under infocenteret.
    • \n
    • Analyser-siden giver dig mulighed for at eksportere listen over analyserne til Excel.\n Udtrækket har relevant information på analyse-niveau.\n Udtrækket har informationer, som afspejler de valgte filtreringer på analysesiden
    • \n
    \n
    \n\n
    \n

    Posteringsoverblik ved valgt analyse

    \n

    Filter

    \n

    Ved valg af en analyse, får du præsenteret en række posteringer, der er faldet i en given\n analyse. Vi har taget dine filtreringsvalg med fra analyser-siden.

    \n

    Du kan nu vælge at filtrere yderligere i filterbaren i venstre side.

    \n\n

    Kolonnefiltrer

    \n

    Du kan yderligere filtrere på hver kolonne i tabellen. Tilgå blot input-feltet ved hver\n kolonne for at filtrere. Disse filtre virker i kombination med dine filtreringsvalg, i din\n filtermenu i venstre side af skærmen.

    \n \n\n

    Posteringer i alt - Tæller

    \n

    Posteringsoverblikket præsenterer altid antallet af posteringer gældende, for din analyse, i\n kombination med dine filtreringsvalg. Herudover vil posteringoverblikket angive, hvor mange\n poster du har indlæst i tabellen. En analyse indlæser som standard 200 posteringer ad\n gangen.

    \n \n\n

    Behandle posteringer & flytte posteringer til anden analyse.

    \n

    Løsningen giver mulighed for at udføre 4 forskellige handlinger med én, eller flere\n posteringer ad gangen. En eller flere posteringer skal blot markeres i den lille ‘check box’\n i venstre side, for hver posteringslinje. Vælg herefter ‘handlings-knappen’ i top højre\n hjørne - Vælg din handling, og klik herefter ‘Udfør’:

    \n \n

    Ubehandlet = Denne handling resulterer i at posteringslinjen får status “Ubehandlet”.\n Herudover låses feltet ‘rettet’ potentiale op, for at man kan indtaste en værdi heri.

    \n

    Intet potentiale = Denne handling resulterer i at posteringslinjen får status “Behandlet”.\n Herudover sættes posteringen til værdien 0,00 DKK, i kolonnen ‘Resultat’. Dette betyder at\n man har rettet potentialeresultatet til 0,00 DKK.

    \n

    Igangværende = Denne handling resulterer i at posteringslinjen får status “Igangværende”.\n Der sker ikke yderligere med ‘potentiale’, ‘rettet potentiale’ og ‘resultat’.

    \n

    Reguler moms = Denne handling resulterer i at posteringslinjen får status “Behandlet”.\n Herudover accepteres værdien i ‘Rettet potentiale’ eller ‘Potentiale’. Denne værdi\n tilskrives i kolonnen ‘Resultat’. Løsningen vil altid acceptere ‘Rettet potentiale’ fremfor\n potentiale.

    \n

    Flyt til anden analyse = Denne handling resulterer i at de valgte posteringer nu kan flyttes\n til en anden analyse. Løsningen præsenterer et overblik over alle analyser. Løsningen\n præsenterer, hvilke analyser den foreslår du flytter dem til. Forslag præsenteres ved at\n analyserne er farvelagt, hvori de analyser der ikke foreslås ikke, er farvelagt.

    \n
    \n\n
    \n

    Kolonnevalg- og indstillinger

    \n

    Løsningen giver mulighed for at lave egne indstillinger for visning af data. En bruger har derfor\n mulighed for at vælge egen rækkefølge på visning af kolonner, samt hvilke kolonner der skal vises.\n

    \n

    Dette indstilles ved at klikke på knappen ‘kolonner’.

    \n \n

    Ved et klik på ‘kolonner’ komme mulige indstillinger til syne.

    \n \n

    En bruger kan indstille sine egne visninger.\n Et flueben ud fra et felt betyder at dette felt vises i din posteringstabel.\n Sorteringen af rækkerne kan yderligere ændres på, ved at trække rundt i rækkefølgen af felterne.\n Dette gøres blot ved at trække i felterne med musen/markøren. Sorteringen sker fra top mod bund.

    \n\n

    Når indstillingerne er valgt, har man følgende muligheder:

    \n\n

    Gem = Indstillingerne gemmens nu for den åbne analyse.

    \n\n

    Gem midlertidigt = Sorteringen og valgte rækker vises kun I denne session. Dine valg bliver derfor\n ikke\n gemt til en anden gang.

    \n\n

    Standardindstillinger = Løsningen gendanner dine indstillinger for den åbne analyse til Moms Tjek\n standardindstillinger.

    \n\n

    Annuller = Annullerer dine valg/indstillinger. Vinduet lukker, og ingen ændringer forekommer.

    \n\n

    OBS: Vær opmærksom på at ændringer i indstillinger, kun gælder for den enkelte analyse. Det er derfor\n muligt at have én indstilling pr. analyse I løsningen.

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

    Flyt til anden analyse

    \n \n\n

    Fremhæv postering – Yderligere information

    \n

    Du kan få yderligere information om en given postering. Det kræver blot at du klikker på en\n posteringslinje. Heri præsenterer vi alle posteringsdata, tilhørende faktura, relaterede\n poster, og noteinformationer på en given postering.

    \n \n\n

    Andre posteringer på kontonummer og relaterede poster på faktura

    \n

    Har du klikket på en posteringslinje, præsenterer løsningen til højre for fakturaen, to\n moduler: 1. Andre posteringer på kontonummer og 2. Relaterede posteringer til faktura.

    \n

    ’Andre posteringer på konto nr.’ returnerer en liste over alle poster på samme artskonto.\n

    \n

    ’Relaterede posteringer til faktura’ returnerer poster med samme faktura oplysninger.

    \n

    Øverst ses et søgefelt. Søgefeltet kan anvendes til at søge efter tekst eller beløb.\n Indtaster du i feltet har det effekt i begge moduler. Herudover kan du sortere linjerne\n efter leverandør A-Z, eller efter beløbs værdi, stigende/faldende

    \n \n\n

    Tilføj note

    \n

    Det er muligt at vedhæfte en note på en eller flere posteringer. Posteringen skal blot\n fremhæves ved at klikke på en given posteringslinje. Herefter klikkes der på “NOTER-baren” i\n venstre side af fremhævelsen. Du vil nu blive præsenteret for eventuelle noter allerede\n vedhæftet posteringen.

    \n

    Vil du gerne vedhæfte en ny besked, klikkes der på “+Note”

    \n

    Her kan du vælge om du vil tilføje en person, som skal blive underrettet af denne besked i\n løsningen.

    \n

    Herefter indtastes noten, som ønskes tilføjet i input-feltet. Du kan tilføje en note med op til 2.000\n karakterer.

    \n

    Du kan nederst vælge, om du blot vil vedhæfte denne note til den postering som du har\n fremhævet, eller om den skal vedhæftes alle valgte posteringer i posteringsoversigten (ved\n flueben i ‘check-box’en’). Klik herefter ‘Gem for’. Din note er nu gemt.

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

    Excel eksport

    \n

    Det er muligt at eksportere et posteringsoverblik til en Excel-fil. Filen indeholder alle\n posteringsoplysninger og tilhørende noter.

    \n

    Løsningen giver mulighed for at udtrække maksimum 35.000 posteringer pr. udtræk. Vær\n opmærksom på, at jo større forespørgsel på antal af posteringer, jo længere tid vil\n løsningen bruge på at producere dit excel-udtræk.

    \n \n
    \n\n
    \n

    Infocenter

    \n \n\n

    Hver bruger har sit eget infocenter. Dette infocenter holder dig opdateret på\n posteringsnoter, hvor dine kollegaer har underrettet dig. Herudover får du også dit\n nyhedsflow herfra. Det kan eksempelvis være nyheder om nye ikrafttrædelser og love vedr.\n Momsrefusion, men også nyheder om ny funktionalitet i Moms Tjek løsningen. Infocenteret\n findes i top højre hjørne:

    \n \n

    Når du har åbnet infocenteret, bliver du præsenteret for alle egne noter, og underretninger\n fra kollegaer. De bliver præsenteret her indtil, at du markerer dem som læst ved at klikke\n på ‘X’. Noter vedhæftet af dig selv har en bleg grøn farve,\n hvorimod noter hvori kollegaer underretter dig, har en sandfarve,\n og nyheder har farven hvid.

    \n

    Du kan tilgå posteringen, eller posteringerne noten vedrører, ved at klikke på ‘Gå til\n postering’ på den enkelte note.

    \n

    Herudover kan du altid tilgå alle historiske noter og nyheder i toppen, ved at klikke på\n “Alle Nyheder” eller “Alle Noter”.

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

    Leder Dashboard

    \n

    Leder dashboardet giver værdifuld indsigt i fremgangen i arbejdet med moms i din organisation.\n Indblik\n i\n anvendelse, samt opnået værdi af løsningen og arbejdet med moms.

    \n

    Vær opmærksom på at denne side kun er tilgængelig, såfremt modulet er tilkøbt.

    \n

    Det er øverst muligt at vælge ‘Global periode’. Dette betyder at alle 6 grafer filtreres på den\n valgte\n periode på én gang. Vil man yderligere blot ændre perioden på den ene graf, kan man i top-venstre\n hjørne\n for den enkelte graf ændre\n perioden.

    \n

    Hver enkelt graf kan forstørres på ‘forstør-knappen’ i\n top-højre hjørne af graferne.

    \n \n

    Graf 1

    \n

    Denne graf viser det samlede potentiale (lyseblå søjle) og det realiserede potentiale (mørkeblå\n søjle).\n Søjlerne er fordelt ud på kontoplanens hovedkonti. Det er muligt at klikke sig ned I næste niveau på\n en\n søjle. Dette kan ske ved at\n dobbeltklikke på en søjle. Vil man gerne tilbage til niveauet over, findes ‘tilbage-knappen’ I\n top-højre\n hjørne af hver graf. Denne er kun synlig, hvis man kan gå et niveau tilbage.

    \n

    Det er yderligere muligt at filtrere søjlerne fra ved at klikke på enten ‘Samlet potentiale’ eller\n ‘Realiseret resultat’ over søjlerne.

    \n

    Graf 2

    \n

    Denne graf viser det samlede potentiale (lyseblå søjle) og det resterende potentiale (mørkeblå\n søjle).\n Søjlerne er fordelt ud på kontoplanens hovedkonti. Det er muligt at klikke sig ned I næste niveau på\n en\n søjle. Dette kan ske ved at\n dobbeltklikke på en søjle. Vil man gerne tilbage til niveauet over, findes ‘tilbage-knappen’ I\n top-højre\n hjørne af hver graf. Denne er kun synlig, hvis man kan gå et niveau tilbage.

    \n

    Det er yderligere muligt at filtrere søjlerne fra ved at klikke på enten ‘Samlet potentiale’ eller\n ‘rest\n potentiale’ over søjlerne.

    \n

    Graf 3

    \n

    Denne graf viser et overblik over fremgangen med arbejdet for alle tilgængelige analyser pr.\n Regnskabsår.\n Dette betyder at for hver analyse gives følgende data: Realiseret resultat I DKK, resterende\n potentiale\n i\n DKK, procentuel status\n på antal af behandlede posteringer, seneste dato for anvendelse af analysen.

    \n

    Det er muligt at sortere tabellen ved at klikke på kolonnenavnene i grafen.

    \n

    Graf 4

    \n

    Denne graf viser det realiserede potentiale (lyseblå søjle) og antal behandlede posteringer (mørkeblå\n søjle). Søjlerne er fordelt ud på måneder. Der kan ved siden af valg af periode, filtreres på enkelte\n brugere på løsningen. Således\n får man de to værdier udregnet for bruger X.

    \n

    Det er yderligere muligt at filtrere søjlerne fra ved at klikke på enten ‘Realiseret potentiale’\n eller\n ‘Antal behandlinger’ over søjlerne.

    \n

    Graf 5

    \n

    Denne graf viser et overblik og indlæste data fordelt på to søjler: Den lyseblå viser antal\n posteringer\n og den mørkeblå viser antal fakturaer. Disse er fordelt ud på måneder for et år.

    \n

    I top-højre hjørne af grafen ses yderligere dato for seneste indlæsning af data I løsningen.

    \n

    Det er yderligere muligt at filtrere søjlerne fra, ved at klikke på enten ‘Antal posteringer’ eller\n ‘Antal fakturaer’ over søjlerne.

    \n

    Graf 6

    \n

    Denne graf viser et overblik over alle brugere på løsningen. Den giver indsigt i følgende pr. bruger:\n Seneste login på løsningen, antal posteringer behandlet indenfor det valgte regnskabsår, antal\n posteringer\n sat i status igangværende\n indenfor det valgte regnskabsår, samt realiseret resultat i DKK indenfor det valgte regnskabsår.

    \n

    Det er muligt at sortere tabellen ved at klikke på kolonnenavnene i grafen.

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { Router, Routes } from '@angular/router';\nimport { SidebarService } from '@modules/shell/services/sidebar.service';\nimport { MenuItem } from './menu-item';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n})\nexport class MenuComponent implements OnInit {\n sidebarOpen: boolean = true;\n menuItems: MenuItem[] = [];\n\n constructor(private sidebarService: SidebarService, private router: Router) {\n this.createMenu(this.menuItems, this.router.config);\n }\n\n ngOnInit(): void {\n this.sidebarService.sidebarOpen$.subscribe((sidebarState) => {\n this.sidebarOpen = sidebarState;\n });\n }\n\n // Create menu from routes, only add if route has data property\n private createMenu(MenuItems: MenuItem[], routes: Routes, path: string = '') {\n routes.forEach((route) => {\n if (route.data) {\n var menuItem = {\n title: route.data.title,\n icon: route.data.icon,\n description: route.data?.description,\n path: path + '/' + route.path,\n } as MenuItem;\n\n if (route.children?.length > 0) {\n menuItem.open = this.router.url.startsWith('/' + route.path);\n menuItem.children = [];\n this.createMenu(menuItem.children, route.children, menuItem.path);\n }\n\n MenuItems.push(menuItem);\n }\n });\n }\n}\n","","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
    \n
    \n

    404

    \n

    \n Denne side eksisterer ikke, gå tilbage til forsiden.\n

    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { OpenIDCService } from '@modules/auth/services/open-idc.service';\n\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss'],\n})\nexport class SettingsComponent implements OnInit {\n constructor(private openIDCService: OpenIDCService) {}\n\n ngOnInit(): void {}\n\n handleLogoutClick() {\n this.openIDCService.logout();\n }\n}\n","\n\n \n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MenuService } from '@modules/shell/services/menu.service';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\n\n@Component({\n selector: 'app-shell',\n templateUrl: './shell.component.html',\n styleUrls: [ './shell.component.scss' ],\n})\nexport class ShellComponent implements OnInit, AfterViewInit {\n isAuthenticated: boolean = false;\n isBodyFixed: boolean;\n\n constructor(\n private menuService: MenuService,\n public dialog: MatDialog,\n private oidcSecurityService: OidcSecurityService\n ) { }\n\n ngOnInit() {\n this.oidcSecurityService.isAuthenticated$.subscribe((auth) => {\n this.isAuthenticated = auth.isAuthenticated;\n if (auth.isAuthenticated) {\n this.menuService.sidebarState.subscribe((value) => {\n this.isBodyFixed = value;\n });\n }\n });\n }\n\n ngAfterViewInit() { }\n}\n","\n\n
    \n \n
    \n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { faArrowRight, faTimes, faSignOutAlt } from '@fortawesome/free-solid-svg-icons';\nimport { MenuService } from '@modules/shell/services/menu.service';\nimport { AllMessagesComponent } from '@modules/dialog/components/all-messages/all-messages.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { User } from 'src/app/api/vat';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { Router } from '@angular/router';\nimport { InternalUserService } from '@modules/commons/services/internal-user.service';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n})\nexport class SidebarComponent implements OnInit {\n // Icons\n faTimes = faTimes;\n faArrowRight = faArrowRight;\n faSignOutAlt = faSignOutAlt;\n\n sidebarOpen: boolean = false;\n currentUser: User;\n\n constructor(\n private menuService: MenuService,\n private internalUserService: InternalUserService,\n public dialog: MatDialog,\n private oidcSecurityService: OidcSecurityService,\n private router: Router,\n ) { }\n\n ngOnInit() {\n this.menuService.sidebarState.subscribe((value) => {\n this.sidebarOpen = value;\n });\n\n this.internalUserService.user$.subscribe((user: User) => {\n this.currentUser = user;\n });\n }\n\n logout() {\n this.oidcSecurityService.logoff();\n }\n\n sidebarToggle() {\n this.menuService.toggleSidebarState();\n }\n\n openAllNotesDialog(): void {\n const dialogRef = this.dialog.open(AllMessagesComponent, {\n width: '900px',\n data: {\n dataKey: 'notesDialog',\n },\n });\n }\n\n openAllNewsDialog(): void {\n const dialogRef = this.dialog.open(AllMessagesComponent, {\n width: '900px',\n data: {\n dataKey: 'newsDialog',\n },\n });\n }\n\n goToLaw() {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([`/lovgivning`])\n );\n\n window.open(url, '_blank');\n }\n\n gotoManuals() {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([`/manualer`])\n );\n\n window.open(url, '_blank');\n }\n}\n","
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n \n
    \n\n
    \n
    \n","import { Component, OnInit, Inject } from '@angular/core';\nimport {\n faTimes,\n faExclamationCircle,\n faExclamationTriangle,\n faCheck,\n} from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.scss'],\n})\nexport class SnackbarComponent implements OnInit {\n faTimes = faTimes;\n faExclamationCircle = faExclamationCircle;\n faExclamationTriangle = faExclamationTriangle;\n faCheck = faCheck;\n\n constructor(\n private snackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DATA) public data: any\n ) {}\n\n ngOnInit(): void {\n if (this.data.message.includes('audit log')) this.dismiss();\n }\n\n dismiss() {\n this.snackBar.dismiss();\n }\n\n action() {\n this.dismiss();\n }\n}\n","
    \n \n
    \n \n \n \n
    \n

    {{data.message}}

    \n
    \n

    {{data.error}}

    \n
    \n
    \n \n
    ","import { Component, OnInit } from '@angular/core';\nimport { SpinnerService } from '@modules/shell/services/spinner.service';\n\n@Component({\n selector: 'app-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent implements OnInit {\n showSpinner: boolean = false;\n\n constructor(private spinnerService: SpinnerService) {}\n\n ngOnInit(): void {\n this.spinnerService.loading.subscribe((result) => {\n this.showSpinner = result;\n });\n }\n}\n","
    \n
    \n \n \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { LoadingSpinnerService } from '@modules/shell/services/loading-spinner.service';\n\n@Component({\n selector: 'app-throbber',\n templateUrl: './throbber.component.html',\n styleUrls: ['./throbber.component.scss'],\n})\nexport class ThrobberComponent implements OnInit {\n public loading: boolean;\n constructor(private loadingSpinnerService: LoadingSpinnerService) { }\n\n ngOnInit() {\n this.loadingSpinnerService.loading.subscribe((loading) => {\n this.loading = loading;\n });\n }\n}\n","
    \n \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { UserDto, UserService } from '@modules/shell/services/user.service';\nimport { SidebarService } from '@modules/shell/services/sidebar.service';\nimport { SystemService } from 'src/app/services/system.service';\n\n@Component({\n selector: 'app-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss'],\n})\nexport class TopBarComponent implements OnInit {\n title: string = '';\n user: UserDto;\n sidebarOpen: boolean = true;\n\n constructor(\n private titleService: Title,\n private userService: UserService,\n private sidebarService: SidebarService,\n private systemService: SystemService\n ) {\n this.systemService.systemInfo$.subscribe((systemInfo) => {\n this.title = systemInfo.title;\n this.titleService.setTitle(this.title);\n });\n\n this.userService.user$.subscribe((user) => {\n this.user = user;\n });\n }\n\n ngOnInit(): void {}\n\n toggleSidebar() {\n this.sidebarOpen = !this.sidebarOpen;\n this.sidebarService.setSidebarOpen(this.sidebarOpen);\n }\n}\n","
    \n
    \n \n {{ title }}\n
    \n
    \n {{ user.username }}\n \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-unauthorized-site',\n templateUrl: './unauthorized-site.component.html',\n styleUrls: ['./unauthorized-site.component.scss']\n})\nexport class UnauthorizedSiteComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n

    401

    \n

    \n Du har ikke adgang til denne side, kontakt din administrator for yderligere information.\n

    \n

    Gå tilbage til forsiden.

    \n
    \n
    \n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HeaderService {\n private headerTitleState$: BehaviorSubject = new BehaviorSubject(\n ''\n );\n\n public headerTitleState = this.headerTitleState$.asObservable();\n\n constructor() {}\n\n updateTitleHeader(title: string) {\n this.headerTitleState$.next(title);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { InformationDialogComponent } from '../components/information-dialog/information-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InformationDialogService {\n constructor(public dialog: MatDialog) {}\n\n showErrorMessage(data: InformationDialogDto) {\n this.dialog.open(InformationDialogComponent, {\n data: data,\n });\n }\n}\n\nexport interface InformationDialogDto {\n title?: string;\n httpStatusCode?: number;\n correlationId?: string;\n responseTimeInMS?: string;\n url?: string;\n messages?: string[];\n}\n","import { Injectable } from '@angular/core';\nimport { MessagesService } from '@modules/messages/services/messages.service';\nimport { ClientActions, DoAction, Message, SignalService } from 'src/app/api/vat';\nimport { BehaviorSubject } from 'rxjs';\nimport { NotifyService } from '@modules/shell/services/notify.service';\nimport { MessageHelper } from '@modules/messages/helpers/message-helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InternalActionsService {\n clientActions: ClientActions = null;\n public reloadFunctions: BehaviorSubject =\n new BehaviorSubject(null);\n public reloadAdmOrgs: BehaviorSubject =\n new BehaviorSubject(null);\n\n constructor(\n private signalService: SignalService,\n private messagesService: MessagesService,\n private notifyService: NotifyService\n ) {}\n\n handleClientAction(customerId: number, userId: number, action: DoAction) {\n if (this.clientActions === null) {\n this.signalService\n .getClientActionList()\n .subscribe((result: ClientActions) => {\n this.clientActions = result;\n this.setAction(customerId, userId, action);\n });\n } else this.setAction(customerId, userId, action);\n }\n\n private setAction(\n customerId: number,\n userId: number,\n action: DoAction\n ): void {\n switch (action.action) {\n case this.clientActions.reloadFunctionsHierarchy: {\n if (this.validate(action, customerId, userId)) {\n this.reloadFunctions.next(action);\n }\n break;\n }\n case this.clientActions.reloadAdmOrgsHierarchy: {\n if (this.validate(action, customerId, userId)) {\n this.reloadAdmOrgs.next(action);\n }\n break;\n }\n case this.clientActions.mainNewsAdded: {\n if (this.validateCustomerId(action, customerId)) {\n const note = action.parameters as Message;\n const publishedBy = MessageHelper.isPublishedBy(\n note.publishedBy,\n note.createdBy.userName\n );\n this.notifyService.notifySnackBarInformation(\n `Du har modtaget en nyhed ${publishedBy}`,\n 'green'\n );\n this.messagesService.checkForNewMessages();\n }\n break;\n }\n case this.clientActions.sendMessage: {\n if (this.validateCustomerId(action, customerId)) {\n this.messagesService.checkForNewMessages();\n\n if (this.validateUserId(action, userId))\n this.notifyService.notifySnackBarInformation(\n 'Du er blevet tilføjet til en posteringsnote',\n 'green'\n );\n }\n break;\n }\n default: {\n console.error('unhandled signal from server');\n break;\n }\n }\n }\n\n validateCustomerId(action: DoAction, customerId: number): boolean {\n if (action.customerId?.indexOf(customerId) > -1) return true;\n return false;\n }\n\n validateUserId(action: DoAction, userId: number): boolean {\n if (action.userId.indexOf(userId) > -1) return true;\n return false;\n }\n\n validate(action: DoAction, customerId: number, userId: number): boolean {\n if (\n this.validateCustomerId(action, customerId) &&\n this.validateUserId(action, userId)\n )\n return true;\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LocalStorageService } from '@modules/store/services/local-storage.service';\nimport storeKeys from '@modules/store/localStorageKeys.json';\nimport { Customer } from 'src/app/api/vat';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { InternalCustomerService } from './internal-customer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InternalCurrentCustomerService {\n private customerSource$: BehaviorSubject = new BehaviorSubject(\n null\n );\n public customer: Observable = this.customerSource$.asObservable();\n\n constructor(\n private localStorageService: LocalStorageService,\n internalCustomerService: InternalCustomerService,\n ) {\n internalCustomerService.customers.subscribe((customers) => {\n if (customers !== undefined && customers !== null) {\n let currentCustomer =\n this.localStorageService.getObject(\n storeKeys.CurrentSelectedCustomerStorageKey\n ) ?? customers[0];\n\n if (customers?.map(c => c.customerId)?.indexOf(currentCustomer.customerId) === -1)\n currentCustomer = customers[0];\n\n this.updateCustomer(currentCustomer);\n }\n });\n }\n\n updateCustomer(customer: Customer) {\n if (this.customerSource$.getValue()?.customerId !== customer.customerId) {\n this.customerSource$.next(customer);\n this.localStorageService.addOrUpdateObject(\n storeKeys.CurrentSelectedCustomerStorageKey,\n customer\n );\n }\n }\n\n getCustomer(): Customer {\n if (this.customerSource$?.value) {\n return this.customerSource$.value;\n }\n return null;\n }\n\n getCustomerId(): string {\n if (this.customerSource$?.value) {\n return this.customerSource$?.getValue().customerId.toString();\n }\n\n const customer: Customer = this.localStorageService.getObject(\n storeKeys.CurrentSelectedCustomerStorageKey\n );\n\n if (customer !== null && customer !== undefined) {\n this.customerSource$.next(customer);\n return customer.customerId.toString();\n }\n\n return '';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Customer, CustomerService } from 'src/app/api/vat';\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InternalCustomerService {\n private customersSource: BehaviorSubject = new BehaviorSubject<\n Customer[]\n >(null);\n public customers: Observable<\n Customer[]\n > = this.customersSource.asObservable();\n\n constructor(\n private oidcSecurityService: OidcSecurityService,\n private customersService: CustomerService\n ) {\n this.oidcSecurityService.isAuthenticated$.subscribe((auth) => {\n if (auth.isAuthenticated === true) {\n this.customersService\n .getAllCustomers()\n .toPromise()\n .then((result) => {\n this.customersSource.next(result);\n });\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingSpinnerService {\n private loadingSource = new BehaviorSubject(false);\n loading = this.loadingSource.asObservable();\n private count = 0;\n private _isSpinnerEnabeled: boolean = true;\n\n private smallSpinner: Subject = new Subject();\n public SmallSpinner$: Observable = this.smallSpinner.asObservable();\n\n constructor() {}\n\n get isSpinnerEnabeled(): boolean {\n return this._isSpinnerEnabeled;\n }\n\n public pauseSpinner() {\n this._isSpinnerEnabeled = false;\n this.smallSpinner.next(this._isSpinnerEnabeled);\n }\n\n public enableSpinner() {\n this._isSpinnerEnabeled = true;\n this.smallSpinner.next(this._isSpinnerEnabeled);\n }\n\n addSpinner() {\n this.count++;\n this.loadingSource.next(true);\n }\n\n removeSpinner() {\n this.count--;\n if (this.count <= 0) {\n this.loadingSource.next(false);\n this.count = 0;\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MenuService {\n public sidebarState: BehaviorSubject = new BehaviorSubject(\n false\n );\n\n constructor() {}\n\n toggleSidebarState() {\n this.sidebarState.next(!this.sidebarState.value);\n }\n toggleSidebarStateTrue() {\n this.sidebarState.next(true);\n }\n toggleSidebarStateFalse() {\n this.sidebarState.next(false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackbarComponent } from '@modules/shell/components/snackbar/snackbar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotifyService {\n\n constructor(private snackBar: MatSnackBar) { }\n\n openSnackBar() {\n this.snackBar.openFromComponent(SnackbarComponent, {\n duration: 60000,\n panelClass: ['snackbar', 'yellow'],\n data: {\n message: 'Der ingen tilknyttet kundegruppe til denne bruger',\n action: 'Ok',\n },\n });\n }\n\n notifySnackBarInformation(message: string, color: 'green' | 'yellow' | 'red') {\n this.snackBar.openFromComponent(SnackbarComponent, {\n duration: 10000,\n panelClass: ['snackbar', color],\n data: {\n message,\n action: 'Ok',\n },\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SidebarService {\n private sidebarOpen: BehaviorSubject = new BehaviorSubject(\n true\n );\n public sidebarOpen$: Observable = this.sidebarOpen.asObservable();\n\n constructor() {}\n\n toggleSidebar() {\n this.sidebarOpen.next(!this.sidebarOpen.value);\n }\n\n setSidebarOpen(value: boolean) {\n this.sidebarOpen.next(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SpinnerService {\n private loadingSource = new BehaviorSubject(false);\n loading = this.loadingSource.asObservable();\n private count = 0;\n\n constructor() {}\n\n addSpinner() {\n this.count++;\n this.loadingSource.next(true);\n }\n\n removeSpinner() {\n this.count--;\n if (this.count === 0) {\n this.loadingSource.next(false);\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService {\n private user: BehaviorSubject = new BehaviorSubject(null);\n user$: Observable = this.user.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n loadUser() {\n this.httpClient\n .get(environment.VatBackendUrl + '/api/userinfo')\n .subscribe((result) => {\n if (result) {\n this.user.next(result);\n }\n });\n }\n}\n\nexport interface UserDto {\n username: string;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FormsModule } from '@angular/forms';\n\n// Material\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatMenuModule } from '@angular/material/menu';\n\n// Custom modules\nimport { MessagesModule } from '@modules/messages/messages.module';\nimport { StoreModule } from '@modules/store/store.module';\nimport { CommonsModule } from '@modules/commons/commons.module';\n\n// Components\nimport { ShellComponent } from './components/shell/shell.component';\nimport { HeaderComponent } from './components/header/header.component';\nimport { NotFoundComponent } from './components/not-found/not-found.component';\nimport { ThrobberComponent } from './components/throbber/throbber.component';\nimport { SidebarComponent } from './components/sidebar/sidebar.component';\nimport { LawsComponent } from './components/laws/laws.component';\nimport { ManualsComponent } from './components/manuals/manuals.component';\nimport { CustomerSelectorComponent } from './components/customer-selector/customer-selector.component';\nimport { SnackbarComponent } from './components/snackbar/snackbar.component';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { UnauthorizedSiteComponent } from './components/unauthorized-site/unauthorized-site.component';\nimport { TopBarComponent } from './components/top-bar/top-bar.component';\nimport { SpinnerComponent } from './components/spinner/spinner.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { SettingsComponent } from './components/settings/settings.component';\nimport { InformationDialogComponent } from './components/information-dialog/information-dialog.component';\n\n@NgModule({\n declarations: [\n ShellComponent,\n HeaderComponent,\n NotFoundComponent,\n ThrobberComponent,\n SidebarComponent,\n LawsComponent,\n ManualsComponent,\n CustomerSelectorComponent,\n SnackbarComponent,\n UnauthorizedSiteComponent,\n TopBarComponent,\n SpinnerComponent,\n MenuComponent,\n SettingsComponent,\n InformationDialogComponent,\n ],\n imports: [\n CommonModule,\n FontAwesomeModule,\n RouterModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatSnackBarModule,\n MessagesModule,\n StoreModule,\n FormsModule,\n CommonsModule,\n MatExpansionModule,\n MatTooltipModule,\n MatMenuModule,\n ],\n exports: [ShellComponent],\n})\nexport class ShellModule {}\n","export class LocalStorageItem {\n key: string;\n value: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { LocalStorageItem } from '../models/LocalStorageItem';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private localStorageSource: BehaviorSubject> =\n new BehaviorSubject([]);\n public readonly localstorage: Observable> =\n this.localStorageSource.asObservable();\n\n constructor() {\n const keys = Object.keys(localStorage);\n const items: Array = [];\n keys.forEach((key) => {\n const value = localStorage.getItem(key);\n const newLocalStorageItem = new LocalStorageItem();\n newLocalStorageItem.key = key;\n newLocalStorageItem.value = value;\n items.push(newLocalStorageItem);\n });\n this.localStorageSource.next(items);\n }\n\n addOrUpdateObject(key: string, value: object) {\n this.addOrUpdateItem(key, JSON.stringify(value));\n }\n\n addOrUpdateItem(key: string, value: string) {\n localStorage.setItem(key, value);\n const values = this.localStorageSource.value;\n const newLocalStorageItem = new LocalStorageItem();\n newLocalStorageItem.key = key;\n newLocalStorageItem.value = value;\n if (\n this.localStorageSource.value.find((x) => x.key === key) === undefined\n ) {\n values.push(newLocalStorageItem);\n } else {\n const index = this.localStorageSource.value.findIndex(\n (x) => x.key === key\n );\n values[index] = newLocalStorageItem;\n }\n this.localStorageSource.next(values);\n }\n\n removeItem(key: string) {\n localStorage.removeItem(key);\n const values = this.localStorageSource.value;\n const newValues = values.filter((x) => x.key !== key);\n this.localStorageSource.next(newValues);\n }\n\n getObject(key: string): T {\n const str = this.getItem(key)?.value;\n return str ? JSON.parse(str) : undefined;\n }\n\n getItem(key: string): LocalStorageItem {\n return this.localStorageSource.value.find((x) => x.key === key);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class StoreModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-testing',\n templateUrl: './testing.component.html',\n styleUrls: ['./testing.component.scss'],\n})\nexport class TestingComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TestingComponent } from './components/testing/testing.component';\n\n@NgModule({\n declarations: [\n TestingComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n TestingComponent\n ],\n})\nexport class TestingModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AsyncSubject, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SystemService {\n private systemInfo: AsyncSubject =\n new AsyncSubject();\n systemInfo$: Observable = this.systemInfo.asObservable();\n\n constructor(private httpClient: HttpClient) {}\n\n init() {\n return new Observable((subscriber) => {\n // HTTP Get call\n this.httpClient\n .get(environment.VatBackendUrl + '/api/systeminfo')\n .subscribe(\n (result) => {\n this.systemInfo.next(result);\n this.systemInfo.complete();\n subscriber.complete();\n },\n (error) => {\n subscriber.error();\n }\n );\n });\n }\n}\n\nexport interface SystemInfoDto {\n title: string;\n issuer: string;\n clientId: string;\n scope: string;\n domainHints: [key: string];\n}\n","export const environment = {\n production: true,\n \n VatBackendUrl: 'https://momstjek.dk',\n\n openIdConnectConfig: {\n stsServer: 'https://r-sts.mstdm.kmd.dk/adfs',\n redirectUrl: window.location.origin,\n postLogoutRedirectUri: window.location.origin,\n clientId: '692f7da9-c67b-4887-9859-758c500eef5d',\n scope: 'openid',\n responseType: 'code',\n triggerAuthorizationResultEvent: false,\n autoUserinfo: false,\n silentRenew: true,\n silentRenewUrl: `${window.location.origin}/silent-renew.html`,\n renewTimeBeforeTokenExpiresInSeconds: 300,\n customParams: {\n resource: window.location.origin + '/',\n domain_hint: {\n default: 'momstjek.dk',\n kmd: 'kmd.dk',\n bdo: 'bdo.dk',\n billund: 'billund.dk',\n dragoer: 'dragoer.dk',\n favrskov: 'favrskov.dk',\n faxekommune: 'faxekommune.dk', // faxe\n fredensborg: 'fredensborg.dk',\n fredericia: 'fredericia.dk',\n frederikshavn: 'frederikshavn.dk',\n fmk: 'fmk.dk', // faaborg-midtfyn\n goteborg: 'goteborg.se', // goteborgsstad\n greve: 'greve.dk',\n // gribskov: 'gribskov.dk',\n guldborgsund: 'guldborgsund.dk',\n hedensted: 'hedensted.dk',\n helsingor: 'helsingor.dk', // helsingør\n herlev: 'herlev.dk',\n hjoerring: 'hjoerring.dk', // hjørring\n holb: 'holb.dk', // holbæk\n holstebro: 'holstebro.dk',\n horsens: 'horsens.dk',\n hvidovre: 'hvidovre.dk',\n jammerbugt: 'jammerbugt.dk',\n kalundborg: 'kalundborg.dk',\n kerteminde: 'kerteminde.dk',\n kk: 'kk.dk', // koebenhavn\n koege: 'koege.dk',\n langelandkommune: 'langelandkommune.dk', // langeland\n lejre: 'lejre.dk',\n mariagerfjord: 'mariagerfjord.dk',\n middelfart: 'middelfart.dk',\n morsoe: 'morsoe.dk',\n naestved: 'naestved.dk',\n norddjurs: 'norddjurs.dk',\n nordfynskommune: 'nordfynskommune.dk', // nordfyns\n nyborg: 'nyborg.dk',\n odder: 'odder.dk',\n odense: 'odense.dk',\n odsherred: 'odsherred.dk',\n regionh: 'regionh.dk', // regionhovedstaden\n rm: 'rm.dk', // regionmidtjylland\n rn: 'rn.dk', // regionnordjylland\n regionsjaelland: 'regionsjaelland.dk',\n rsyd: 'rsyd.dk', // regionsyddanmark\n rksk: 'rksk.dk', // ringkøbingskjern\n ringsted: 'ringsted.dk',\n roskilde: 'roskilde.dk',\n samsoe: 'samsoe.dk', // samsø\n silkeborg: 'silkeborg.dk',\n skanderborg: 'skanderborg.dk',\n skivekommune: 'skivekommune.dk', // skive\n slagelse: 'slagelse.dk',\n sonderborg: 'sonderborg.dk', // sønderborg\n solrod: 'solrod.dk', // solrød\n soroe: 'soroe.dk', // sorø\n stevns: 'stevns.dk',\n struer: 'struer.dk',\n svendborg: 'svendborg.dk',\n syddjurs: 'syddjurs.dk',\n taarnby: 'taarnby.dk', // tårnby\n vallensbaek: 'vallensbaek.dk', // vallensbæk\n varde: 'varde.dk',\n vejen: 'vejen.dk',\n vejle: 'vejle.dk',\n viborg: 'viborg.dk',\n vordingborg: 'vordingborg.dk',\n aabenraa: 'aabenraa.dk',\n aalborg: 'aalborg.dk',\n aarhus: 'aarhus.dk',\n rudersdal: 'rudersdal.dk',\n },\n },\n },\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { ApplicationRef, enableProdMode } from '@angular/core';\nimport { enableDebugTools } from '@angular/platform-browser';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\n// platformBrowserDynamic().bootstrapModule(AppModule)\n// .catch(err => console.error(err));\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n\n .catch((err) => console.log(err));\n","var map = {\n\t\"./af\": 8685,\n\t\"./af.js\": 8685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 2614,\n\t\"./ar-kw.js\": 2614,\n\t\"./ar-ly\": 8630,\n\t\"./ar-ly.js\": 8630,\n\t\"./ar-ma\": 8674,\n\t\"./ar-ma.js\": 8674,\n\t\"./ar-ps\": 6235,\n\t\"./ar-ps.js\": 6235,\n\t\"./ar-sa\": 9032,\n\t\"./ar-sa.js\": 9032,\n\t\"./ar-tn\": 4730,\n\t\"./ar-tn.js\": 4730,\n\t\"./ar.js\": 254,\n\t\"./az\": 3052,\n\t\"./az.js\": 3052,\n\t\"./be\": 150,\n\t\"./be.js\": 150,\n\t\"./bg\": 3069,\n\t\"./bg.js\": 3069,\n\t\"./bm\": 3466,\n\t\"./bm.js\": 3466,\n\t\"./bn\": 8516,\n\t\"./bn-bd\": 557,\n\t\"./bn-bd.js\": 557,\n\t\"./bn.js\": 8516,\n\t\"./bo\": 6273,\n\t\"./bo.js\": 6273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 9815,\n\t\"./bs.js\": 9815,\n\t\"./ca\": 3331,\n\t\"./ca.js\": 3331,\n\t\"./cs\": 1320,\n\t\"./cs.js\": 1320,\n\t\"./cv\": 2219,\n\t\"./cv.js\": 2219,\n\t\"./cy\": 8266,\n\t\"./cy.js\": 8266,\n\t\"./da\": 6427,\n\t\"./da.js\": 6427,\n\t\"./de\": 7435,\n\t\"./de-at\": 2871,\n\t\"./de-at.js\": 2871,\n\t\"./de-ch\": 2994,\n\t\"./de-ch.js\": 2994,\n\t\"./de.js\": 7435,\n\t\"./dv\": 2357,\n\t\"./dv.js\": 2357,\n\t\"./el\": 5649,\n\t\"./el.js\": 5649,\n\t\"./en-au\": 9961,\n\t\"./en-au.js\": 9961,\n\t\"./en-ca\": 9878,\n\t\"./en-ca.js\": 9878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 864,\n\t\"./en-ie.js\": 864,\n\t\"./en-il\": 1579,\n\t\"./en-il.js\": 1579,\n\t\"./en-in\": 940,\n\t\"./en-in.js\": 940,\n\t\"./en-nz\": 6181,\n\t\"./en-nz.js\": 6181,\n\t\"./en-sg\": 4301,\n\t\"./en-sg.js\": 4301,\n\t\"./eo\": 5291,\n\t\"./eo.js\": 5291,\n\t\"./es\": 4529,\n\t\"./es-do\": 3764,\n\t\"./es-do.js\": 3764,\n\t\"./es-mx\": 2584,\n\t\"./es-mx.js\": 2584,\n\t\"./es-us\": 3425,\n\t\"./es-us.js\": 3425,\n\t\"./es.js\": 4529,\n\t\"./et\": 5203,\n\t\"./et.js\": 5203,\n\t\"./eu\": 678,\n\t\"./eu.js\": 678,\n\t\"./fa\": 3483,\n\t\"./fa.js\": 3483,\n\t\"./fi\": 6262,\n\t\"./fi.js\": 6262,\n\t\"./fil\": 2521,\n\t\"./fil.js\": 2521,\n\t\"./fo\": 4555,\n\t\"./fo.js\": 4555,\n\t\"./fr\": 3131,\n\t\"./fr-ca\": 8239,\n\t\"./fr-ca.js\": 8239,\n\t\"./fr-ch\": 1702,\n\t\"./fr-ch.js\": 1702,\n\t\"./fr.js\": 3131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 3821,\n\t\"./ga.js\": 3821,\n\t\"./gd\": 1753,\n\t\"./gd.js\": 1753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 2762,\n\t\"./gom-deva.js\": 2762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 2809,\n\t\"./gu.js\": 2809,\n\t\"./he\": 5402,\n\t\"./he.js\": 5402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 410,\n\t\"./hr.js\": 410,\n\t\"./hu\": 8288,\n\t\"./hu.js\": 8288,\n\t\"./hy-am\": 7928,\n\t\"./hy-am.js\": 7928,\n\t\"./id\": 1334,\n\t\"./id.js\": 1334,\n\t\"./is\": 6959,\n\t\"./is.js\": 6959,\n\t\"./it\": 4864,\n\t\"./it-ch\": 1124,\n\t\"./it-ch.js\": 1124,\n\t\"./it.js\": 4864,\n\t\"./ja\": 6141,\n\t\"./ja.js\": 6141,\n\t\"./jv\": 9187,\n\t\"./jv.js\": 9187,\n\t\"./ka\": 2136,\n\t\"./ka.js\": 2136,\n\t\"./kk\": 4332,\n\t\"./kk.js\": 4332,\n\t\"./km\": 8607,\n\t\"./km.js\": 8607,\n\t\"./kn\": 4305,\n\t\"./kn.js\": 4305,\n\t\"./ko\": 234,\n\t\"./ko.js\": 234,\n\t\"./ku\": 6003,\n\t\"./ku-kmr\": 9619,\n\t\"./ku-kmr.js\": 9619,\n\t\"./ku.js\": 6003,\n\t\"./ky\": 5061,\n\t\"./ky.js\": 5061,\n\t\"./lb\": 2786,\n\t\"./lb.js\": 2786,\n\t\"./lo\": 6183,\n\t\"./lo.js\": 6183,\n\t\"./lt\": 29,\n\t\"./lt.js\": 29,\n\t\"./lv\": 4169,\n\t\"./lv.js\": 4169,\n\t\"./me\": 8577,\n\t\"./me.js\": 8577,\n\t\"./mi\": 8177,\n\t\"./mi.js\": 8177,\n\t\"./mk\": 337,\n\t\"./mk.js\": 337,\n\t\"./ml\": 5260,\n\t\"./ml.js\": 5260,\n\t\"./mn\": 2325,\n\t\"./mn.js\": 2325,\n\t\"./mr\": 4695,\n\t\"./mr.js\": 4695,\n\t\"./ms\": 5334,\n\t\"./ms-my\": 7151,\n\t\"./ms-my.js\": 7151,\n\t\"./ms.js\": 5334,\n\t\"./mt\": 3570,\n\t\"./mt.js\": 3570,\n\t\"./my\": 7963,\n\t\"./my.js\": 7963,\n\t\"./nb\": 8028,\n\t\"./nb.js\": 8028,\n\t\"./ne\": 6638,\n\t\"./ne.js\": 6638,\n\t\"./nl\": 302,\n\t\"./nl-be\": 6782,\n\t\"./nl-be.js\": 6782,\n\t\"./nl.js\": 302,\n\t\"./nn\": 3501,\n\t\"./nn.js\": 3501,\n\t\"./oc-lnc\": 563,\n\t\"./oc-lnc.js\": 563,\n\t\"./pa-in\": 869,\n\t\"./pa-in.js\": 869,\n\t\"./pl\": 5302,\n\t\"./pl.js\": 5302,\n\t\"./pt\": 9687,\n\t\"./pt-br\": 4884,\n\t\"./pt-br.js\": 4884,\n\t\"./pt.js\": 9687,\n\t\"./ro\": 5773,\n\t\"./ro.js\": 5773,\n\t\"./ru\": 3627,\n\t\"./ru.js\": 3627,\n\t\"./sd\": 355,\n\t\"./sd.js\": 355,\n\t\"./se\": 3427,\n\t\"./se.js\": 3427,\n\t\"./si\": 1848,\n\t\"./si.js\": 1848,\n\t\"./sk\": 4590,\n\t\"./sk.js\": 4590,\n\t\"./sl\": 184,\n\t\"./sl.js\": 184,\n\t\"./sq\": 6361,\n\t\"./sq.js\": 6361,\n\t\"./sr\": 8965,\n\t\"./sr-cyrl\": 1287,\n\t\"./sr-cyrl.js\": 1287,\n\t\"./sr.js\": 8965,\n\t\"./ss\": 5456,\n\t\"./ss.js\": 5456,\n\t\"./sv\": 451,\n\t\"./sv.js\": 451,\n\t\"./sw\": 7558,\n\t\"./sw.js\": 7558,\n\t\"./ta\": 1356,\n\t\"./ta.js\": 1356,\n\t\"./te\": 3693,\n\t\"./te.js\": 3693,\n\t\"./tet\": 1243,\n\t\"./tet.js\": 1243,\n\t\"./tg\": 2500,\n\t\"./tg.js\": 2500,\n\t\"./th\": 5768,\n\t\"./th.js\": 5768,\n\t\"./tk\": 7761,\n\t\"./tk.js\": 7761,\n\t\"./tl-ph\": 5780,\n\t\"./tl-ph.js\": 5780,\n\t\"./tlh\": 9590,\n\t\"./tlh.js\": 9590,\n\t\"./tr\": 3807,\n\t\"./tr.js\": 3807,\n\t\"./tzl\": 3857,\n\t\"./tzl.js\": 3857,\n\t\"./tzm\": 654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 654,\n\t\"./ug-cn\": 845,\n\t\"./ug-cn.js\": 845,\n\t\"./uk\": 9232,\n\t\"./uk.js\": 9232,\n\t\"./ur\": 7052,\n\t\"./ur.js\": 7052,\n\t\"./uz\": 7967,\n\t\"./uz-latn\": 2233,\n\t\"./uz-latn.js\": 2233,\n\t\"./uz.js\": 7967,\n\t\"./vi\": 8615,\n\t\"./vi.js\": 8615,\n\t\"./x-pseudo\": 2320,\n\t\"./x-pseudo.js\": 2320,\n\t\"./yo\": 1313,\n\t\"./yo.js\": 1313,\n\t\"./zh-cn\": 4490,\n\t\"./zh-cn.js\": 4490,\n\t\"./zh-hk\": 5910,\n\t\"./zh-hk.js\": 5910,\n\t\"./zh-mo\": 8262,\n\t\"./zh-mo.js\": 8262,\n\t\"./zh-tw\": 4223,\n\t\"./zh-tw.js\": 4223\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 = 6700;"],"names":["MatAccordion","faUser","faChevronRight","faChevronLeft","BehaviorSubject","ComponentFilterType","filter","take","i0","filtersDataStream_r9","ctx_r16","ctx_r18","_r17","ctx_r12","ctx_r13","ctx_r14","FilterComponent","constructor","filterBarService","internalFilterService","route","labelGlossaryService","filterDataService","ngOnDestroy","subscriptions","forEach","sub","unsubscribe","filtersData","ngOnInit","push","filterBarState","subscribe","state","sideFilterChanged$","changes","noChanges","routePath","snapshot","routeConfig","path","loadFilters","filterDefinitions","analysis","getAnalysisFilterDefinitions","getPostingFilterDefinitions","primaryFilter","pipe","p","periods","undefined","filtersDataStream$","asObservable","analysisFilter","isPeriodsEqual","updatePeriodFilter","next","currentSelectedFiltersStream","expandFilterIfDataIsSelected","postingFilter","searchOnFilter","searchOnSideFilter","firstPeriods","secondPeriods","map","s","fromDate","sort","toDate","financialYear","fd","filterType","length","expanded","expandFilterbar","filterBarExpanded","toggleFilterBar","selectors","viewQuery","ctx","faCalendar","faSyncAlt","TopBarComponent","yearSelectService","isResetButtonVisible","ngAfterViewInit","years","selectedYear","globalYear$","resetFilters","resetAllYearSelection","selectYear","year","setGlobalYear","decls","vars","consts","template","EventEmitter","YearSelectorComponent","yearsList","selectedYearChange","emit","selectedListItemEvent","item","setResetButton","outputs"],"sourceRoot":"webpack:///","x_google_ignoreList":[212]}