From cb7745308d126d5f74278ee0bb3ceb77401e930a Mon Sep 17 00:00:00 2001 From: rpurnama1409 Date: Tue, 23 Apr 2024 13:11:44 +0700 Subject: [PATCH] Fix grouping logic in MonalisaKR_JumlahKaliKeluhan.ts --- .../Rekap/MonalisaKR_JumlahKaliKeluhan.ts | 45 ++++++++++++------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/src/report/Monalisa/Keluhan/Rekap/MonalisaKR_JumlahKaliKeluhan.ts b/src/report/Monalisa/Keluhan/Rekap/MonalisaKR_JumlahKaliKeluhan.ts index de414dd..e27758e 100644 --- a/src/report/Monalisa/Keluhan/Rekap/MonalisaKR_JumlahKaliKeluhan.ts +++ b/src/report/Monalisa/Keluhan/Rekap/MonalisaKR_JumlahKaliKeluhan.ts @@ -50,7 +50,18 @@ const getGroupParent = (reportMeta: any) => { const groupingData = (data: any, reportMeta: any) => { const groupedData: any = {} - if (reportMeta.regional.id == 0) { + 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_uid]) { + groupedData[nama_uid] = { data: [] } + } + + groupedData[nama_uid].data.push(item) + }) + }else{ data.forEach((item: any) => { const { nama_regional } = item @@ -60,13 +71,14 @@ const groupingData = (data: any, reportMeta: any) => { groupedData[nama_regional].data.push(item) }) + } - for (const regional in groupedData) { - const data = groupedData[regional].data + 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,19 @@ 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) + 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(