From 32ac2ad74b8466abba432648734564ec825b2f90 Mon Sep 17 00:00:00 2001 From: kur0nek-o Date: Tue, 23 Apr 2024 11:41:05 +0700 Subject: [PATCH] fix: report in monalisa jumlah kali gangguan --- .../Rekap/MonalisaGR_JumlahKaliGangguan.ts | 60 ++++++++++++------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/src/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahKaliGangguan.ts b/src/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahKaliGangguan.ts index 5459c59..6e707c4 100644 --- a/src/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahKaliGangguan.ts +++ b/src/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahKaliGangguan.ts @@ -50,23 +50,35 @@ const getGroupParent = (reportMeta: any) => { const groupingData = (data: any, reportMeta: any) => { const groupedData: any = {} - if (reportMeta.regional.id == 0) { - data.forEach((item: any) => { - const { nama_regional } = item + if (reportMeta.regional.id == 0 || reportMeta.uid.id == 0) { + if (reportMeta.regional.id != 0) { + data.forEach((item: any) => { + const { nama_uid } = item - if (!groupedData[nama_regional]) { - groupedData[nama_regional] = { data: [] } - } + if (!groupedData[nama_uid]) { + groupedData[nama_uid] = { data: [] } + } - groupedData[nama_regional].data.push(item) - }) + groupedData[nama_uid].data.push(item) + }) + } else { + data.forEach((item: any) => { + const { nama_regional } = item - for (const regional in groupedData) { - const data = groupedData[regional].data + if (!groupedData[nama_regional]) { + groupedData[nama_regional] = { data: [] } + } + + groupedData[nama_regional].data.push(item) + }) + } + + for (const key in groupedData) { + const data = groupedData[key].data data.forEach((item: any) => { - if (!groupedData[regional].summary) { - groupedData[regional].summary = { + if (!groupedData[key].summary) { + groupedData[key].summary = { mom_bulan_kemarin: 0, mom_bulan_ini: 0, persen_mom: [], @@ -76,12 +88,12 @@ const groupingData = (data: any, reportMeta: any) => { } } - groupedData[regional].summary.mom_bulan_kemarin += item.mom_bulan_kemarin - groupedData[regional].summary.mom_bulan_ini += item.mom_bulan_ini - groupedData[regional].summary.persen_mom.push(item.persen_mom) - groupedData[regional].summary.yoy_tahun_kemarin += item.yoy_tahun_kemarin - groupedData[regional].summary.yoy_tahun_ini += item.yoy_tahun_ini - groupedData[regional].summary.persen_yoy.push(item.persen_yoy) + groupedData[key].summary.mom_bulan_kemarin += item.mom_bulan_kemarin + groupedData[key].summary.mom_bulan_ini += item.mom_bulan_ini + groupedData[key].summary.persen_mom.push(item.persen_mom) + groupedData[key].summary.yoy_tahun_kemarin += item.yoy_tahun_kemarin + groupedData[key].summary.yoy_tahun_ini += item.yoy_tahun_ini + groupedData[key].summary.persen_yoy.push(item.persen_yoy) }) } @@ -125,18 +137,20 @@ const formatData = (rawData: any, reportMeta: any) => { yoy_tahun_ini: 0 } - if (reportMeta.regional.id == 0) { + if (reportMeta.regional.id == 0 || reportMeta.uid.id == 0) { const data = groupingData(rawData, reportMeta) + console.log(data) + const title = reportMeta.regional.id != 0 ? reportMeta.regional.name : 'NASIONAL' - formattedData.push([{ content: 'NASIONAL', colSpan: 7, styles: { fontStyle: 'bold' } }]) + formattedData.push([{ content: title, colSpan: 7, styles: { fontStyle: 'bold' } }]) let no = 1 - for (const regional in data) { - const summary = data[regional].summary + for (const key in data) { + const summary = data[key].summary formattedData.push([ { content: no++, styles: { halign: 'right' } }, - regional, + key, formatNumber(summary.mom_bulan_kemarin), formatNumber(summary.mom_bulan_ini), formatPercentage(