{"version":3,"sources":["webpack:///./src/views/App/FitnessStatistics/StatisticsReport/index.vue?2972","webpack:///./src/model/data/fitnessStatistics/SemesterEnum.ts","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/FiltersCard.vue?971f","webpack:///./src/model/communication/fitnessStatistics/GetFitnessStatisticsYearsDistinctCommand.ts","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/FiltersCard.vue","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/FiltersCard.vue?e7a7","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/FiltersCard.vue?b45b","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/MainTable.vue?9799","webpack:///./src/model/data/fitnessStatistics/SourceDestEnum.ts","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/MainTable.vue","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/MainTable.vue?6b37","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/MainTable.vue?2392","webpack:///./src/model/data/fitnessStatistics/FitnessStatisticsTotals.ts","webpack:///./src/model/communication/fitnessStatistics/GetFitnessStatisticsReportResData.ts","webpack:///./src/model/communication/fitnessStatistics/GetFitnessStatisticsReportCommand.ts","webpack:///./src/model/communication/fitnessStatistics/GetFitnessStatisticsReportReqData.ts","webpack:///./src/model/communication/fitnessStatistics/DownloadFitnessStatisticsReportCommand.ts","webpack:///./src/model/communication/fitnessStatistics/DownloadFitnessStatisticsReportReqData.ts","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/index.vue","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/index.vue?9451","webpack:///./src/views/App/FitnessStatistics/StatisticsReport/index.vue?519f"],"names":["SemesterEnum","render","_vm","this","_h","$createElement","_c","_self","attrs","title","icon","color","staticClass","_v","_s","$t","_e","loading","on","$event","sendRequest","statisticsList","confExists","onDownload","staticRenderFns","$vuetify","breakpoint","mdAndDown","loadingFilterAvailableItems","model","value","callback","$$v","selectedSearchMode","expression","availableYears","length","selectedYear","availableSemesters","selectedSemester","availableBranchesItems","availableBranches","selectedBranchId","selectedInstallationNames","scopedSlots","_u","key","fn","ref","_g","rerender","staticStyle","deviceTreeSelectedObjectItems","class","canSubmit","onSubmit","getSemesterEnumLabel","First","Second","ENDPOINT","endPoint","httpVerb","executeCommand","res","Command","response","data","Payload","forEach","e","push","ApiGenericResponse","extend","components","DeviceTree","ignoreSelectedInstallationNames","props","computed","semesters","Object","keys","filter","item","isNaN","Number","map","c","branch","text","gln","name","id","watch","newValue","type","DeviceTreeNodeTypeEnum","Device","indexOf","methods","request","year","semester","branchId","installationNames","$emit","mounted","execute","responseStatus","ApiResponseStatusEnum","Success","console","error","GetBranchesCommand","GetBranchesReqData","resp","component","VBadge","VBtn","VCard","VCardText","VCol","VCombobox","VMenu","VRadio","VRadioGroup","VRow","VSelect","VSpacer","VToolbar","VToolbarTitle","SourceDestEnum","items","headers","downloadDialog","domProps","proxy","source","smAndDown","exportRadio","_l","exportType","i18nLabel","csvConfSelectItem","selectedModeCsvConf","xmlRadioSelection","glnReporter","glnOwner","onDownloadClick","getSourceDestEnumLabel","Customer","CIT","CashDesk","CentralFund","ATMs","NotCertifiedCIT","NotCertifiedCashDesk","NotCertifiedCentralFund","StatisticsTypeEnum","exportTypes","splice","groupable","denominations","den","toString","values","Denomination","currency","CashTypeEnum","Banknote","s","sourceDest","find","denomination","isEquals","quantity","LocalStorageManager","Write","GlnReporter","GlnOwner","reset","Read","fromConf","mode","VCardActions","VCardTitle","VDataTable","VDialog","VDivider","VTextField","VTooltip","totInFit","totInUnfit","totOut","obj","TotInFit","cashDetailToParse","cashDetail","CashDetail","parse","TotInUnfit","TotOut","cd","fitnessStatisticsTotals","sum","statisticsGroupBySourceDest","Map","ConfExists","StatisticsGroupBySourceDest","includes","set","ServiceResponseData","params","assign","installationName","responseType","AppPage","FiltersCard","MainTable","routes","tempStatisticsGroupBySourceDest","currentReqData","menuRoutes","$store","getters","availableMenu","styleProps","found","resultObj","findIconColorAndTitle","node","children","child","path","StatisticsReport","name_i18n","route","get","reqData","promises","singleInstallationRequest","Promise","all","then","log","has","sumFitnessStatisticsTotals","downloadRequest","downloadReqData","fileURL","window","URL","createObjectURL","Blob","fileLink","document","createElement","href","setAttribute","substring","body","appendChild","click","VAlert"],"mappings":"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","file":"js/chunk_app_statistics_report_view.6da556a9.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AppPage',{attrs:{\"pageTitle\":_vm.title,\"icon\":_vm.icon,\"color\":_vm.color}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[(_vm.error)?_c('v-alert',{staticClass:\"text-center\",attrs:{\"type\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"statisticsReport.errorMessage\")))]):_vm._e()],1),_c('FiltersCard',{attrs:{\"loading\":_vm.loading},on:{\"send-request\":function($event){return _vm.sendRequest($event)}}}),_c('MainTable',{staticClass:\"mt-6\",attrs:{\"loading\":_vm.loading,\"statisticsList\":_vm.statisticsList,\"confExists\":_vm.confExists},on:{\"download\":function($event){return _vm.onDownload($event)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export enum SemesterEnum {\r\n First = 0,\r\n Second = 1,\r\n}\r\n\r\nexport function getSemesterEnumLabel(value: SemesterEnum): string {\r\n switch (value) {\r\n case SemesterEnum.First:\r\n return \"enum.semester.first\";\r\n case SemesterEnum.Second:\r\n return \"enum.semester.second\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-spacer'):_vm._e(),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 8}},[_c('v-card',{staticClass:\"mt-3\",attrs:{\"loading\":_vm.loadingFilterAvailableItems}},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"filter\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"common.filters\"))+\" \")])],1),_c('v-row',{staticClass:\"px-4\"},[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 10,\"align-self\":\"center\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-row',{staticClass:\"pa-0 pb-5\"},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('v-card-text',{staticClass:\"pa-0 text-subtitle-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.filterBy\"))+\": \")])],1),_c('v-col',{staticClass:\"py-0\",attrs:{\"align-self\":\"center\"}},[_c('v-radio-group',{staticClass:\"my-0\",attrs:{\"row\":\"\",\"hide-details\":\"\"},model:{value:(_vm.selectedSearchMode),callback:function ($$v) {_vm.selectedSearchMode=$$v},expression:\"selectedSearchMode\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('statisticsReport.GLN'),\"value\":1}}),_c('v-radio',{attrs:{\"label\":_vm.$t('common.installationName'),\"value\":2}})],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 3,\"align-self\":\"center\"}},[_c('v-select',{attrs:{\"items\":_vm.availableYears,\"label\":_vm.$t('statisticsReport.year'),\"disabled\":_vm.availableYears.length <= 0},model:{value:(_vm.selectedYear),callback:function ($$v) {_vm.selectedYear=$$v},expression:\"selectedYear\"}})],1),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 3,\"align-self\":\"center\"}},[_c('v-select',{attrs:{\"items\":_vm.availableSemesters,\"label\":_vm.$t('statisticsReport.semester'),\"disabled\":_vm.availableSemesters.length <= 0},model:{value:(_vm.selectedSemester),callback:function ($$v) {_vm.selectedSemester=$$v},expression:\"selectedSemester\"}})],1),(_vm.selectedSearchMode == 1)?_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 4,\"align-self\":\"center\"}},[_c('v-combobox',{attrs:{\"items\":_vm.availableBranchesItems,\"item-key\":\"id\",\"label\":_vm.$t('statisticsReport.filterByGLN'),\"disabled\":_vm.availableBranches.length <= 0,\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.selectedBranchId),callback:function ($$v) {_vm.selectedBranchId=$$v},expression:\"selectedBranchId\"}})],1):_vm._e()],1),(_vm.selectedSearchMode == 2)?_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"8\",\"align-self\":\"center\"}},[_c('v-combobox',{staticClass:\"my-0 py-0\",attrs:{\"label\":_vm.$t('statisticsReport.selectOneInstallation'),\"multiple\":\"\",\"chips\":\"\",\"deletable-chips\":\"\",\"hide-details\":\"\",\"append-icon\":null,\"clearable\":\"\",\"autofocus\":\"\"},model:{value:(_vm.selectedInstallationNames),callback:function ($$v) {_vm.selectedInstallationNames=$$v},expression:\"selectedInstallationNames\"}})],1),_c('v-col',{staticClass:\"px-0\",attrs:{\"cols\":\"\",\"align-self\":\"center\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":_vm.selectedInstallationNames != null ? _vm.selectedInstallationNames.length : 0,\"value\":_vm.selectedInstallationNames != null}},[_c('v-btn',_vm._g({attrs:{\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"filter\",\"medium\":\"\"}})],1)],1)]}}],null,false,1655421953)},[_c('v-card',{attrs:{\"flat\":\"\",\"min-width\":\"400px\"}},[_c('DeviceTree',{key:_vm.rerender,staticStyle:{\"max-height\":\"600px\",\"overflow\":\"auto\"},attrs:{\"title\":_vm.$t('device_tree.default_title'),\"selectable\":\"\",\"editable\":false,\"returnObject\":true,\"ignoreEmptyFolder\":true},model:{value:(_vm.deviceTreeSelectedObjectItems),callback:function ($$v) {_vm.deviceTreeSelectedObjectItems=$$v},expression:\"deviceTreeSelectedObjectItems\"}})],1)],1)],1)],1):_vm._e()],1),_c('v-col',{class:_vm.$vuetify.breakpoint.mdAndDown ? 'd-flex justify-center' : 'd-flex justify-end',attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 2,\"align-self\":\"end\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.loading || !_vm.canSubmit},on:{\"click\":function($event){return _vm.onSubmit()}}},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"search\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"common.submit\"))+\" \")],1)],1)],1)],1)],1),(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-spacer'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\n\r\nconst ENDPOINT = \"/fitness_statistics/available_years\";\r\n\r\nexport class GetFitnessStatisticsYearsDistinctCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new GetFitnessStatisticsYearsDistinctResData(res);\r\n }\r\n}\r\n\r\nexport class GetFitnessStatisticsYearsDistinctResData extends ApiGenericResponse {\r\n availableYears: number[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.availableYears = [];\r\n if (response.data && response.data.Payload && response.data.Payload.length > 0) {\r\n response.data.Payload.forEach((e) => {\r\n this.availableYears.push(e);\r\n });\r\n }\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport DeviceTree from \"@/components/DeviceTree/index.vue\";\r\n\r\n// Model\r\nimport { SemesterEnum, getSemesterEnumLabel } from \"@/model/data/fitnessStatistics/SemesterEnum\";\r\nimport { DeviceTreeNodeTypeEnum } from \"@/model/data/deviceTree/DeviceTreeNodeTypeEnum\";\r\nimport {\r\n GetFitnessStatisticsYearsDistinctCommand,\r\n GetFitnessStatisticsYearsDistinctResData,\r\n} from \"@/model/communication/fitnessStatistics/GetFitnessStatisticsYearsDistinctCommand\";\r\nimport { GetBranchesCommand } from \"@/model/communication/branch/GetBranchesCommand\";\r\nimport { GetBranchesResData } from \"@/model/communication/branch/GetBranchesResData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { Branch } from \"@/model/data/Branch\";\r\nimport { GetBranchesReqData } from \"@/model/communication/branch/GetBranchesReqData\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeviceTree,\r\n },\r\n data() {\r\n return {\r\n loadingFilterAvailableItems: false,\r\n selectedSearchMode: 1,\r\n availableYears: [],\r\n availableBranches: [],\r\n selectedYear: null,\r\n selectedSemester: null,\r\n selectedBranchId: null,\r\n deviceTreeSelectedObjectItems: [],\r\n selectedInstallationNames: null,\r\n ignoreSelectedInstallationNames: false,\r\n rerender: 0,\r\n };\r\n },\r\n props: [\"loading\"],\r\n computed: {\r\n availableSemesters() {\r\n let semesters = Object.keys(SemesterEnum)\r\n .filter((item) => isNaN(Number(item)))\r\n .map((c) => this.$t(getSemesterEnumLabel(SemesterEnum[c])));\r\n return semesters;\r\n },\r\n\r\n availableBranchesItems() {\r\n let res = [];\r\n this.availableBranches.forEach((branch: Branch) => {\r\n res.push({ text: branch.gln ? branch.name + \" - \" + branch.gln : branch.name, value: branch.id });\r\n });\r\n\r\n return res;\r\n },\r\n\r\n canSubmit() {\r\n return this.selectedYear != null && this.selectedSemester != null;\r\n },\r\n },\r\n watch: {\r\n deviceTreeSelectedObjectItems(newValue) {\r\n this.selectedInstallationNames = null;\r\n if (newValue) {\r\n if (newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).length > 0) {\r\n this.ignoreSelectedInstallationNames = true;\r\n this.selectedInstallationNames = newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).map((c) => c.id);\r\n }\r\n }\r\n },\r\n\r\n selectedInstallationNames(newValue) {\r\n if (!this.ignoreSelectedInstallationNames) {\r\n if (newValue && this.deviceTreeSelectedObjectItems != null) {\r\n this.rerender += 1;\r\n this.deviceTreeSelectedObjectItems = this.deviceTreeSelectedObjectItems.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device && newValue.indexOf(c.id) >= 0);\r\n }\r\n } else this.ignoreSelectedInstallationNames = false;\r\n },\r\n\r\n selectedSearchMode() {\r\n this.selectedBranchId = null;\r\n this.selectedInstallationNames = null;\r\n },\r\n },\r\n methods: {\r\n onSubmit() {\r\n let request = { year: null, semester: null, branchId: null, installationNames: null };\r\n request.year = this.selectedYear;\r\n request.semester = this.availableSemesters.indexOf(this.selectedSemester);\r\n request.branchId = this.selectedBranchId ? this.selectedBranchId.value : \"\";\r\n request.installationNames = this.selectedInstallationNames;\r\n this.$emit(\"send-request\", request);\r\n },\r\n },\r\n async mounted() {\r\n this.loadingFilterAvailableItems = true;\r\n\r\n // recupero gli availableYears con una distinct sul db\r\n try {\r\n let res: GetFitnessStatisticsYearsDistinctResData = await new GetFitnessStatisticsYearsDistinctCommand().execute();\r\n\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) this.availableYears = res.availableYears;\r\n else console.error(\"cannot fetch available years for filters\");\r\n } catch (e) {\r\n console.error(\"cannot fetch available years for filters\");\r\n }\r\n\r\n // recupero gli availableGLNs con una distinct sul db\r\n try {\r\n let resp: GetBranchesResData = await new GetBranchesCommand(new GetBranchesReqData(true, false)).execute();\r\n\r\n if (resp.responseStatus == ApiResponseStatusEnum.Success) this.availableBranches = resp.availableBranches;\r\n else console.error(\"cannot fetch available branches for filters\");\r\n } catch (e) {\r\n console.error(\"cannot fetch available branches for filters\");\r\n }\r\n\r\n // preseleziono alcuni valori di default\r\n if (this.availableYears.length > 0) this.selectedYear = this.availableYears[0];\r\n if (this.availableSemesters.length > 0) this.selectedSemester = this.availableSemesters[0];\r\n\r\n this.loadingFilterAvailableItems = false;\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiltersCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiltersCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FiltersCard.vue?vue&type=template&id=924b55e6&\"\nimport script from \"./FiltersCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./FiltersCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBadge,VBtn,VCard,VCardText,VCol,VCombobox,VMenu,VRadio,VRadioGroup,VRow,VSelect,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-spacer'):_vm._e(),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 8}},[_c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-data-table',{staticClass:\"pb-4\",attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"group-by\":\"source\",\"show-group-by\":\"\",\"dense\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('v-toolbar',{staticClass:\"mb-5\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"list\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"statisticsReport.fitnessStatistics\")))]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mr-1\",attrs:{\"icon\":\"\",\"color\":\"primary\",\"small\":\"\",\"disabled\":_vm.items.length == 0 || _vm.loading},on:{\"click\":function($event){_vm.downloadDialog = true}}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"fas fa-file-download\"}})],1)]}}])},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.exportFS'))}})])],1),_c('TableTopScrollbar')]},proxy:true},{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nreturn [_c('th',{staticClass:\"light-blue lighten-5\",attrs:{\"colspan\":_vm.headers.length}},[_c('v-card-text',{staticClass:\"text-subtitle-1 pa-0 py-2 font-weight-medium\"},[_vm._v(\" \"+_vm._s(items[0].source)+\" \")])],1)]}}],null,true)})],1)],1),(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-spacer'):_vm._e(),_c('v-dialog',{attrs:{\"width\":_vm.$vuetify.breakpoint.smAndDown ? '95%' : '60%'},model:{value:(_vm.downloadDialog),callback:function ($$v) {_vm.downloadDialog=$$v},expression:\"downloadDialog\"}},[_c('v-card',{staticClass:\"px-6\"},[_c('v-card-title',{staticClass:\"px-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.exportFS\"))+\" \")]),_c('v-divider'),_c('v-row',{staticClass:\"px-3 d-flex justify-center\"},[_c('v-radio-group',{attrs:{\"row\":\"\",\"mandatory\":\"\"},model:{value:(_vm.exportRadio),callback:function ($$v) {_vm.exportRadio=$$v},expression:\"exportRadio\"}},_vm._l((_vm.exportTypes),function(exportType){return _c('v-radio',{key:exportType.type,attrs:{\"label\":_vm.$t(exportType.i18nLabel),\"value\":exportType.type}})}),1)],1),(_vm.exportRadio == 'csvConf')?_c('v-card',{staticClass:\"px-6\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"px-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.exportAsCsvConf\"))+\" \")]),_c('v-divider'),_c('v-row',{staticClass:\"px-3\"},[_c('v-col',{staticClass:\"ma-0 pa-0\",attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('v-card-text',{staticClass:\"ma-0 pa-0 subtitle-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"statisticsReport.selectMode\"))+\": \")])],1),_c('v-col',{staticClass:\"ma-0 pa-0 mx-2\"},[_c('v-select',{attrs:{\"items\":_vm.csvConfSelectItem},model:{value:(_vm.selectedModeCsvConf),callback:function ($$v) {_vm.selectedModeCsvConf=$$v},expression:\"selectedModeCsvConf\"}})],1)],1)],1):_vm._e(),(_vm.exportRadio == 'xml')?_c('v-card',{staticClass:\"px-6\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"px-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"statisticsReport.downloadXml\"))+\" \")]),_c('v-divider'),_c('v-row',{staticClass:\"px-3\"},[_c('v-col',{staticClass:\"ma-0 pa-0\",attrs:{\"cols\":\"auto\",\"align-self\":\"center\"}},[_c('v-card-text',{staticClass:\"ma-0 pa-0 subtitle-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"statisticsReport.selectMode\"))+\": \")])],1),_c('v-col',{staticClass:\"ma-0 pa-0 mx-2\"},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.xmlRadioSelection),callback:function ($$v) {_vm.xmlRadioSelection=$$v},expression:\"xmlRadioSelection\"}},[_c('v-radio',{attrs:{\"label\":_vm.$t('statisticsReport.oprReport'),\"value\":\"xml_opr\"}}),_c('v-radio',{attrs:{\"label\":_vm.$t('statisticsReport.completeReport'),\"value\":\"xml_legacy\"}})],1)],1)],1),(_vm.xmlRadioSelection == 'xml_opr')?_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('statisticsReport.glnReporter')},model:{value:(_vm.glnReporter),callback:function ($$v) {_vm.glnReporter=$$v},expression:\"glnReporter\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('statisticsReport.glnOwner')},model:{value:(_vm.glnOwner),callback:function ($$v) {_vm.glnOwner=$$v},expression:\"glnOwner\"}})],1):_vm._e()],1):_vm._e(),_c('v-card-actions',{staticClass:\"d-flex justify-end\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.items.length == 0 || _vm.loading},on:{\"click\":function($event){return _vm.onDownloadClick()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.download\"))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export enum SourceDestEnum {\r\n Unknown = -1,\r\n Customer = 0,\r\n CIT = 1,\r\n CashDesk = 2,\r\n CentralFund = 3,\r\n ATMs = 4,\r\n NotCertifiedCIT = 5,\r\n NotCertifiedCashDesk = 6,\r\n NotCertifiedCentralFund = 7,\r\n}\r\n\r\nexport function getSourceDestEnumLabel(value: SourceDestEnum): string {\r\n switch (value) {\r\n case SourceDestEnum.Customer:\r\n return \"enum.sourceDest.Customer\";\r\n case SourceDestEnum.CIT:\r\n return \"enum.sourceDest.CIT\";\r\n case SourceDestEnum.CashDesk:\r\n return \"enum.sourceDest.CashDesk\";\r\n case SourceDestEnum.CentralFund:\r\n return \"enum.sourceDest.CentralFund\";\r\n case SourceDestEnum.ATMs:\r\n return \"enum.sourceDest.ATMs\";\r\n case SourceDestEnum.NotCertifiedCIT:\r\n return \"enum.sourceDest.NotCertifiedCIT\";\r\n case SourceDestEnum.NotCertifiedCashDesk:\r\n return \"enum.sourceDest.NotCertifiedCashDesk\";\r\n case SourceDestEnum.NotCertifiedCentralFund:\r\n return \"enum.sourceDest.NotCertifiedCentralFund\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Model\r\nimport { Denomination } from \"@/model/data/Denomination\";\r\nimport { CashTypeEnum } from \"@/model/data/enums/CashTypeEnum\";\r\nimport { CashDetail } from \"@/model/data/CashDetail\";\r\nimport { getSourceDestEnumLabel, SourceDestEnum } from \"@/model/data/fitnessStatistics/SourceDestEnum\";\r\nimport { LocalStorageManager, LocalStorageRequests } from \"@/plugins/LocalStorageManager\";\r\n\r\nenum StatisticsTypeEnum {\r\n totInFit,\r\n totInUnfit,\r\n totOut,\r\n}\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n exportRadio: \"csv\",\r\n downloadDialog: false,\r\n glnReporter: null,\r\n glnOwner: null,\r\n xmlRadioSelection: \"xml_opr\",\r\n selectedModeCsvConf: \"branch\",\r\n csvConfSelectItem: [\r\n {\r\n text: this.$t(\"statisticsReport.branch\"),\r\n value: \"branch\",\r\n },\r\n {\r\n text: this.$t(\"statisticsReport.installation\"),\r\n value: \"installation\",\r\n },\r\n ],\r\n };\r\n },\r\n props: [\"loading\", \"statisticsList\", \"confExists\"],\r\n computed: {\r\n exportTypes() {\r\n let exportTypes = [\r\n { type: \"csv\", icon: \"file-csv\", i18nLabel: \"common.exportAsCsv\" },\r\n { type: \"pdf\", icon: \"file-pdf\", i18nLabel: \"common.exportAsPdf\" },\r\n { type: \"xml\", icon: \"file-code\", i18nLabel: \"statisticsReport.downloadXml\" },\r\n ];\r\n if (this.confExists) exportTypes.splice(1, 0, { type: \"csvConf\", icon: \"file-csv\", i18nLabel: \"common.exportAsCsvConf\" });\r\n return exportTypes;\r\n },\r\n headers() {\r\n let res = [];\r\n res.push({ text: this.$t(\"statisticsReport.source\"), value: \"source\", groupable: true });\r\n res.push({ text: this.$t(\"common.type\"), value: \"type\", groupable: false });\r\n this.denominations.forEach((den: Denomination) => {\r\n res.push({ text: den.toString(), value: den.toString(), groupable: false });\r\n });\r\n return res;\r\n },\r\n\r\n denominations() {\r\n let denominations = [];\r\n let values = [500, 200, 100, 50, 20, 10, 5];\r\n\r\n values.forEach((value) => {\r\n let den: Denomination = new Denomination();\r\n den.currency = \"EUR\";\r\n den.value = value;\r\n den.type = CashTypeEnum.Banknote;\r\n denominations.push(den);\r\n });\r\n\r\n return denominations;\r\n },\r\n\r\n items() {\r\n let items = [];\r\n for (let s of this.statisticsList) {\r\n Object.keys(StatisticsTypeEnum)\r\n .filter((item) => isNaN(Number(item)))\r\n .forEach((type) => {\r\n let item = {};\r\n item[\"source\"] = this.$t(getSourceDestEnumLabel(SourceDestEnum[s.sourceDest] as any));\r\n item[\"type\"] = this.$t(\"statisticsReport.\" + type);\r\n\r\n items.push(item);\r\n this.denominations.forEach((den) => {\r\n item[den.toString()] = s[type].find((c: CashDetail) => c.denomination.isEquals(den))\r\n ? s[type].find((c: CashDetail) => c.denomination.isEquals(den)).quantity\r\n : 0;\r\n });\r\n });\r\n }\r\n return items;\r\n },\r\n },\r\n watch: {\r\n glnReporter(newValue) {\r\n LocalStorageManager.Write(LocalStorageRequests.GlnReporter, newValue);\r\n },\r\n\r\n glnOwner(newValue) {\r\n LocalStorageManager.Write(LocalStorageRequests.GlnOwner, newValue);\r\n },\r\n },\r\n methods: {\r\n reset() {\r\n this.glnReporter = LocalStorageManager.Read(LocalStorageRequests.GlnReporter);\r\n this.glnOwner = LocalStorageManager.Read(LocalStorageRequests.GlnOwner);\r\n this.downloadDialog = false;\r\n },\r\n\r\n onDownloadClick() {\r\n if (this.items.length == 0) return;\r\n if (this.exportRadio != \"xml\") {\r\n if (this.exportRadio == \"csvConf\") this.$emit(\"download\", { exportType: \"csv\", fromConf: true, glnReporter: null, glnOwner: null, mode: this.selectedModeCsvConf });\r\n else this.$emit(\"download\", { exportType: this.exportRadio, glnReporter: null, glnOwner: null });\r\n } else {\r\n switch (this.xmlRadioSelection) {\r\n case \"xml_opr\":\r\n this.$emit(\"download\", { exportType: \"xml\", glnReporter: this.glnReporter, glnOwner: this.glnOwner });\r\n break;\r\n case \"xml_legacy\":\r\n this.$emit(\"download\", { exportType: \"zip\", glnReporter: null, glnOwner: null });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n this.reset();\r\n },\r\n },\r\n mounted() {\r\n this.reset();\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainTable.vue?vue&type=template&id=13104800&\"\nimport script from \"./MainTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VDataTable,VDialog,VDivider,VRadio,VRadioGroup,VRow,VSelect,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","import { CashDetail } from \"../CashDetail\";\r\n\r\nexport class FitnessStatisticsTotals {\r\n public totInFit: CashDetail[] = [];\r\n public totInUnfit: CashDetail[] = [];\r\n public totOut: CashDetail[] = [];\r\n\r\n public parse(obj: any) {\r\n if (obj.TotInFit && obj.TotInFit.length > 0) {\r\n obj.TotInFit.forEach((cashDetailToParse) => {\r\n var cashDetail: CashDetail = new CashDetail();\r\n cashDetail.parse(cashDetailToParse);\r\n this.totInFit.push(cashDetail);\r\n });\r\n }\r\n\r\n if (obj.TotInUnfit && obj.TotInUnfit.length > 0) {\r\n obj.TotInUnfit.forEach((cashDetailToParse) => {\r\n var cashDetail: CashDetail = new CashDetail();\r\n cashDetail.parse(cashDetailToParse);\r\n this.totInUnfit.push(cashDetail);\r\n });\r\n }\r\n\r\n if (obj.TotOut && obj.TotOut.length > 0) {\r\n obj.TotOut.forEach((cashDetailToParse) => {\r\n var cashDetail: CashDetail = new CashDetail();\r\n cashDetail.parse(cashDetailToParse);\r\n this.totOut.push(cashDetail);\r\n });\r\n }\r\n }\r\n\r\n public sum(totInFit: CashDetail[], totInUnfit: CashDetail[], totOut: CashDetail[]) {\r\n totInFit.forEach((cashDetail) => {\r\n if (this.totInFit.find((cd) => cd.denomination.isEquals(cashDetail.denomination)))\r\n this.totInFit.find((cd) => cd.denomination.isEquals(cashDetail.denomination)).quantity += cashDetail.quantity;\r\n else this.totInFit.push(cashDetail);\r\n });\r\n\r\n totInUnfit.forEach((cashDetail) => {\r\n if (this.totInUnfit.find((cd) => cd.denomination.isEquals(cashDetail.denomination)))\r\n this.totInUnfit.find((cd) => cd.denomination.isEquals(cashDetail.denomination)).quantity += cashDetail.quantity;\r\n else this.totInUnfit.push(cashDetail);\r\n });\r\n\r\n totOut.forEach((cashDetail) => {\r\n if (this.totOut.find((cd) => cd.denomination.isEquals(cashDetail.denomination)))\r\n this.totOut.find((cd) => cd.denomination.isEquals(cashDetail.denomination)).quantity += cashDetail.quantity;\r\n else this.totOut.push(cashDetail);\r\n });\r\n }\r\n\r\n public sumFitnessStatisticsTotals(fitnessStatisticsTotals: FitnessStatisticsTotals) {\r\n this.sum(fitnessStatisticsTotals.totInFit, fitnessStatisticsTotals.totInUnfit, fitnessStatisticsTotals.totOut);\r\n }\r\n}\r\n","import { FitnessStatisticsTotals } from \"@/model/data/fitnessStatistics/FitnessStatisticsTotals\";\r\nimport { SourceDestEnum } from \"@/model/data/fitnessStatistics/SourceDestEnum\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class GetFitnessStatisticsReportResData extends ServiceResponseData {\r\n public statisticsGroupBySourceDest: Map;\r\n public confExists: boolean;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n this.statisticsGroupBySourceDest = new Map();\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.ConfExists) this.confExists = obj.ConfExists;\r\n if (obj.StatisticsGroupBySourceDest) {\r\n for (let key in obj.StatisticsGroupBySourceDest) {\r\n if (key != null && Object.values(SourceDestEnum).includes(key)) {\r\n var fitnessStatisticsTotals: FitnessStatisticsTotals = new FitnessStatisticsTotals();\r\n fitnessStatisticsTotals.parse(obj.StatisticsGroupBySourceDest[key]);\r\n this.statisticsGroupBySourceDest.set(SourceDestEnum[key], fitnessStatisticsTotals);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetFitnessStatisticsReportReqData } from \"./GetFitnessStatisticsReportReqData\";\r\nimport { GetFitnessStatisticsReportResData } from \"./GetFitnessStatisticsReportResData\";\r\n\r\nconst ENDPOINT = \"/fitness_statistics/report\";\r\n\r\nexport class GetFitnessStatisticsReportCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetFitnessStatisticsReportReqData = null;\r\n\r\n constructor(params: GetFitnessStatisticsReportReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetFitnessStatisticsReportResData(res);\r\n }\r\n}\r\n","import { SemesterEnum } from \"@/model/data/fitnessStatistics/SemesterEnum\";\r\n\r\nexport class GetFitnessStatisticsReportReqData {\r\n year: number;\r\n semester: SemesterEnum;\r\n branchId: number | undefined;\r\n installationName: string = \"\";\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { DownloadFitnessStatisticsReportReqData } from \"./DownloadFitnessStatisticsReportReqData\";\r\n\r\nconst ENDPOINT = \"/fitness_statistics/download_report\";\r\n\r\nexport class DownloadFitnessStatisticsReportCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: any = null;\r\n\r\n constructor(params: DownloadFitnessStatisticsReportReqData, exportType: string) {\r\n super();\r\n this.params = { exportType, ...params };\r\n\r\n this.responseType = exportType == \"pdf\" || exportType == \"zip\" ? \"blob\" : \"text\";\r\n }\r\n\r\n public async execute(): Promise {\r\n return await this.executeCommand(this.params);\r\n }\r\n}\r\n","import { SemesterEnum } from \"@/model/data/fitnessStatistics/SemesterEnum\";\r\n\r\nexport class DownloadFitnessStatisticsReportReqData {\r\n year: number;\r\n semester: SemesterEnum;\r\n branchId: number | undefined;\r\n installationNames: string[] = [];\r\n glnReporter: string;\r\n glnOwner: string;\r\n fromConf: boolean;\r\n mode: string;\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport AppPage from \"@/components/AppPage.vue\";\r\nimport FiltersCard from \"./FiltersCard.vue\";\r\nimport MainTable from \"./MainTable.vue\";\r\n\r\n// Model\r\nimport * as routes from \"@/router/routes\";\r\nimport { GetFitnessStatisticsReportCommand } from \"@/model/communication/fitnessStatistics/GetFitnessStatisticsReportCommand\";\r\nimport { GetFitnessStatisticsReportReqData } from \"@/model/communication/fitnessStatistics/GetFitnessStatisticsReportReqData\";\r\nimport { GetFitnessStatisticsReportResData } from \"@/model/communication/fitnessStatistics/GetFitnessStatisticsReportResData\";\r\nimport { DownloadFitnessStatisticsReportCommand } from \"@/model/communication/fitnessStatistics/DownloadFitnessStatisticsReportCommand\";\r\nimport { DownloadFitnessStatisticsReportReqData } from \"@/model/communication/fitnessStatistics/DownloadFitnessStatisticsReportReqData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { SourceDestEnum } from \"@/model/data/fitnessStatistics/SourceDestEnum\";\r\nimport { FitnessStatisticsTotals } from \"@/model/data/fitnessStatistics/FitnessStatisticsTotals\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AppPage,\r\n FiltersCard,\r\n MainTable,\r\n },\r\n data() {\r\n return {\r\n routes,\r\n loading: false,\r\n statisticsGroupBySourceDest: null,\r\n tempStatisticsGroupBySourceDest: null,\r\n currentReqData: null,\r\n error: false,\r\n confExists: false,\r\n };\r\n },\r\n computed: {\r\n menuRoutes() {\r\n return this.$store.getters.availableMenu;\r\n },\r\n\r\n styleProps() {\r\n let found = false;\r\n let resultObj = { icon: null, title: null, color: null };\r\n\r\n let findIconColorAndTitle: Function = (node: any) => {\r\n if (!found) {\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n findIconColorAndTitle(child);\r\n });\r\n } else if (node.path == this.routes.StatisticsReport) {\r\n resultObj.icon = node.icon;\r\n resultObj.title = this.$t(node.name_i18n);\r\n resultObj.color = node.color;\r\n found = true;\r\n }\r\n }\r\n };\r\n\r\n this.menuRoutes.forEach((route) => {\r\n findIconColorAndTitle(route);\r\n });\r\n\r\n return resultObj;\r\n },\r\n\r\n icon() {\r\n return this.styleProps.icon ? this.styleProps.icon : \"\";\r\n },\r\n\r\n title() {\r\n return this.styleProps.title ? this.styleProps.title : \"\";\r\n },\r\n\r\n color() {\r\n return this.styleProps.color ? this.styleProps.color : \"\";\r\n },\r\n\r\n statisticsList() {\r\n let res = [];\r\n\r\n //Iterate over map keys\r\n if (this.statisticsGroupBySourceDest != null) {\r\n for (let key of this.statisticsGroupBySourceDest.keys()) res.push({ sourceDest: SourceDestEnum[key], ...this.statisticsGroupBySourceDest.get(key) });\r\n }\r\n\r\n return res;\r\n },\r\n },\r\n methods: {\r\n async sendRequest(request) {\r\n try {\r\n this.loading = true;\r\n\r\n let reqData: GetFitnessStatisticsReportReqData = new GetFitnessStatisticsReportReqData();\r\n reqData.year = request.year;\r\n reqData.semester = request.semester;\r\n reqData.branchId = request.branchId;\r\n\r\n this.currentReqData = { ...request };\r\n\r\n // se ho selezionato delle installazioni specifiche faccio una chiamata per ogni installazione poi aggrego\r\n if (request.installationNames != null && request.installationNames.length > 0) {\r\n this.tempStatisticsGroupBySourceDest = new Map();\r\n\r\n let promises = [];\r\n request.installationNames.forEach(async (installationName) => {\r\n reqData.installationName = installationName;\r\n promises.push(this.singleInstallationRequest(reqData));\r\n });\r\n\r\n await Promise.all(promises).then(() => {\r\n this.statisticsGroupBySourceDest = this.tempStatisticsGroupBySourceDest;\r\n this.loading = false;\r\n });\r\n } else {\r\n reqData.installationName = \"\";\r\n let response: GetFitnessStatisticsReportResData = await new GetFitnessStatisticsReportCommand(reqData).execute();\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.statisticsGroupBySourceDest = response.statisticsGroupBySourceDest;\r\n this.confExists = response.confExists;\r\n }\r\n this.loading = false;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetFitnessStatisticsReport request \", e);\r\n this.loading = false;\r\n }\r\n },\r\n\r\n async singleInstallationRequest(reqData: GetFitnessStatisticsReportReqData) {\r\n let response: GetFitnessStatisticsReportResData = await new GetFitnessStatisticsReportCommand(reqData).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.confExists = response.confExists;\r\n for (let key of response.statisticsGroupBySourceDest.keys()) {\r\n // se è già presente una sourceDest allora vado a sommare i FitnessStatisticsTotals\r\n if (this.tempStatisticsGroupBySourceDest.has(key)) {\r\n (this.tempStatisticsGroupBySourceDest.get(key) as FitnessStatisticsTotals).sumFitnessStatisticsTotals(response.statisticsGroupBySourceDest.get(key));\r\n } else this.tempStatisticsGroupBySourceDest.set(key, response.statisticsGroupBySourceDest.get(key));\r\n }\r\n }\r\n },\r\n\r\n async onDownload(downloadRequest) {\r\n let exportType = downloadRequest.exportType;\r\n console.log(\"Download required, exportType: \", exportType);\r\n\r\n if (!this.loading) {\r\n this.loading = true;\r\n try {\r\n let downloadReqData: DownloadFitnessStatisticsReportReqData = new DownloadFitnessStatisticsReportReqData();\r\n downloadReqData.year = this.currentReqData.year;\r\n downloadReqData.semester = this.currentReqData.semester;\r\n downloadReqData.branchId = this.currentReqData.branchId;\r\n downloadReqData.installationNames = this.currentReqData.installationNames;\r\n downloadReqData.glnReporter = downloadRequest.glnReporter;\r\n downloadReqData.glnOwner = downloadRequest.glnOwner;\r\n downloadReqData.fromConf = downloadRequest.fromConf;\r\n downloadReqData.mode = downloadRequest.mode;\r\n const res = await new DownloadFitnessStatisticsReportCommand(downloadReqData, exportType).execute();\r\n let fileURL = window.URL.createObjectURL(new Blob([res.data]));\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", res.headers[\"content-disposition\"].substring(\"attachment; filename=\".length));\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n this.loading = false;\r\n this.error = false;\r\n } catch (e) {\r\n console.log(\"Something went wrong during DownloadFitnessStatisticsReportCommand execution: \", e);\r\n this.loading = false;\r\n this.error = true;\r\n }\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1b1fdbec&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VRow})\n"],"sourceRoot":""}