diff --git a/src/components/Pages/Gangguan/Rekap/RGangguan_ALL.vue b/src/components/Pages/Gangguan/Rekap/RGangguan_ALL.vue index 420b953..7ae89c4 100755 --- a/src/components/Pages/Gangguan/Rekap/RGangguan_ALL.vue +++ b/src/components/Pages/Gangguan/Rekap/RGangguan_ALL.vue @@ -1109,6 +1109,8 @@ const filterData = (params: any) => { data.value = queryResult.data.rekapitulasiAllGangguan loadingData.value = false } + + reportMeta.value = filters.value }) onError((error) => { diff --git a/src/report/Gangguan/Rekap/RGangguan_ALL.ts b/src/report/Gangguan/Rekap/RGangguan_ALL.ts index edfc07a..76b0f62 100644 --- a/src/report/Gangguan/Rekap/RGangguan_ALL.ts +++ b/src/report/Gangguan/Rekap/RGangguan_ALL.ts @@ -53,17 +53,17 @@ const groupingData = (data: any) => { persen_inproses: [], avg_durasi_dispatch: [], max_durasi_dispatch: 0, - min_durasi_dispatch: 0, + min_durasi_dispatch: item.min_durasi_dispatch, total_diatas_sla_dispatch: 0, total_dibawah_sla_dispatch: 0, avg_durasi_response: [], max_durasi_response: 0, - min_durasi_response: 0, + min_durasi_response: item.min_durasi_response, total_diatas_sla_response: 0, total_dibawah_sla_response: 0, avg_durasi_recovery: [], max_durasi_recovery: 0, - min_durasi_recovery: 0, + min_durasi_recovery: item.min_durasi_recovery, total_diatas_sla_recovery: 0, total_dibawah_sla_recovery: 0 } @@ -75,22 +75,40 @@ const groupingData = (data: any) => { groupedData[regional][uid].summary.total_inproses += item.total_inproses groupedData[regional][uid].summary.persen_inproses.push(item.persen_inproses) groupedData[regional][uid].summary.avg_durasi_dispatch.push(item.avg_durasi_dispatch) - groupedData[regional][uid].summary.max_durasi_dispatch += item.max_durasi_dispatch - groupedData[regional][uid].summary.min_durasi_dispatch += item.min_durasi_dispatch + groupedData[regional][uid].summary.max_durasi_dispatch = + groupedData[regional][uid].summary.max_durasi_dispatch < item.max_durasi_dispatch + ? item.max_durasi_dispatch + : groupedData[regional][uid].summary.max_durasi_dispatch + groupedData[regional][uid].summary.min_durasi_dispatch = + groupedData[regional][uid].summary.min_durasi_dispatch > item.min_durasi_dispatch + ? item.min_durasi_dispatch + : groupedData[regional][uid].summary.min_durasi_dispatch groupedData[regional][uid].summary.total_diatas_sla_dispatch += item.total_diatas_sla_dispatch groupedData[regional][uid].summary.total_dibawah_sla_dispatch += item.total_dibawah_sla_dispatch groupedData[regional][uid].summary.avg_durasi_response.push(item.avg_durasi_response) - groupedData[regional][uid].summary.max_durasi_response += item.max_durasi_response - groupedData[regional][uid].summary.min_durasi_response += item.min_durasi_response + groupedData[regional][uid].summary.max_durasi_response = + groupedData[regional][uid].summary.max_durasi_response < item.max_durasi_response + ? item.max_durasi_response + : groupedData[regional][uid].summary.max_durasi_response + groupedData[regional][uid].summary.min_durasi_response = + groupedData[regional][uid].summary.min_durasi_response > item.min_durasi_response + ? item.min_durasi_response + : groupedData[regional][uid].summary.min_durasi_response groupedData[regional][uid].summary.total_diatas_sla_response += item.total_diatas_sla_response groupedData[regional][uid].summary.total_dibawah_sla_response += item.total_dibawah_sla_response groupedData[regional][uid].summary.avg_durasi_recovery.push(item.avg_durasi_recovery) - groupedData[regional][uid].summary.max_durasi_recovery += item.max_durasi_recovery - groupedData[regional][uid].summary.min_durasi_recovery += item.min_durasi_recovery + groupedData[regional][uid].summary.max_durasi_recovery = + groupedData[regional][uid].summary.max_durasi_recovery < item.max_durasi_recovery + ? item.max_durasi_recovery + : groupedData[regional][uid].summary.max_durasi_recovery + groupedData[regional][uid].summary.min_durasi_recovery = + groupedData[regional][uid].summary.min_durasi_recovery > item.min_durasi_recovery + ? item.min_durasi_recovery + : groupedData[regional][uid].summary.min_durasi_recovery groupedData[regional][uid].summary.total_diatas_sla_recovery += item.total_diatas_sla_recovery groupedData[regional][uid].summary.total_dibawah_sla_recovery += @@ -107,23 +125,31 @@ const formatData = (rawData: any) => { const formattedData: any = [] for (const regional in data) { - formattedData.push([{ content: regional, colSpan: 21, styles: { fontStyle: 'bold' } }]) + let no = 1 + + formattedData.push([{ content: regional, colSpan: 22, styles: { fontStyle: 'bold' } }]) for (const uid in data[regional]) { const summary = data[regional][uid].summary formattedData.push([ + { content: no++, styles: { halign: 'right' } }, uid, formatNumber(summary.total), formatNumber(summary.total_selesai), summary.persen_selesai.length - ? summary.persen_selesai.reduce((a: any, b: any) => a + b) / summary.persen_selesai.length - : 0, + ? formatPercentage( + summary.persen_selesai.reduce((a: any, b: any) => a + b) / + summary.persen_selesai.length + ) + : '0%', summary.total_inproses, summary.persen_inproses.length - ? summary.persen_inproses.reduce((a: any, b: any) => a + b) / - summary.persen_inproses.length - : 0, + ? formatPercentage( + summary.persen_inproses.reduce((a: any, b: any) => a + b) / + summary.persen_inproses.length + ) + : '0%', formatNumber( summary.avg_durasi_dispatch.length ? summary.avg_durasi_dispatch.reduce((a: any, b: any) => a + b) / @@ -247,6 +273,10 @@ const exportToPDF = (reportMeta: any, rawData: any) => { autoTable(doc, { head: [ [ + { + content: 'No', + rowSpan: 2 + }, { content: 'Nama Unit', rowSpan: 2