fix: formatPercentage in report rekapitulasi gangguan
This commit is contained in:
parent
2f399e53c3
commit
8577814bd4
@ -173,7 +173,11 @@ const formatData = (rawData: any) => {
|
|||||||
? formatPercentage((summary.total_selesai / summary.total) * 100)
|
? formatPercentage((summary.total_selesai / summary.total) * 100)
|
||||||
: '100%',
|
: '100%',
|
||||||
formatNumber(summary.total_inproses),
|
formatNumber(summary.total_inproses),
|
||||||
formatPercentage((summary.total_inproses / summary.total) * 100),
|
formatPercentage(
|
||||||
|
!summary.total_inproses || !summary.total
|
||||||
|
? '0%'
|
||||||
|
: (summary.total_inproses / summary.total) * 100
|
||||||
|
),
|
||||||
formatNumber(avgDurasiDispatch),
|
formatNumber(avgDurasiDispatch),
|
||||||
formatWaktu(summary.max_durasi_dispatch),
|
formatWaktu(summary.max_durasi_dispatch),
|
||||||
formatWaktu(summary.min_durasi_dispatch),
|
formatWaktu(summary.min_durasi_dispatch),
|
||||||
@ -221,9 +225,13 @@ const formatData = (rawData: any) => {
|
|||||||
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(total.total),
|
formatNumber(total.total),
|
||||||
formatNumber(total.total_selesai),
|
formatNumber(total.total_selesai),
|
||||||
formatPercentage((total.total_selesai / total.total) * 100),
|
formatPercentage(
|
||||||
|
!total.total_selesai || !total.total ? '0%' : (total.total_selesai / total.total) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_inproses),
|
formatNumber(total.total_inproses),
|
||||||
formatPercentage((total.total_inproses / total.total) * 100),
|
formatPercentage(
|
||||||
|
!total.total_inproses || !total.total ? '0%' : (total.total_inproses / total.total) * 100
|
||||||
|
),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
total.avg_durasi_dispatch.length
|
total.avg_durasi_dispatch.length
|
||||||
? total.avg_durasi_dispatch.reduce((a: any, b: any) => a + b) /
|
? total.avg_durasi_dispatch.reduce((a: any, b: any) => a + b) /
|
||||||
|
@ -16,9 +16,8 @@ import { saveAs } from 'file-saver'
|
|||||||
import { jsPDF } from 'jspdf'
|
import { jsPDF } from 'jspdf'
|
||||||
import autoTable from 'jspdf-autotable'
|
import autoTable from 'jspdf-autotable'
|
||||||
import { Workbook } from 'exceljs'
|
import { Workbook } from 'exceljs'
|
||||||
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
|
||||||
import { setHeaderStyle } from '@/report/utils/xlsx'
|
import { setHeaderStyle } from '@/report/utils/xlsx'
|
||||||
import { formatNumber, formatPercentage } from '@/utils/numbers'
|
import { formatNumber } from '@/utils/numbers'
|
||||||
|
|
||||||
const reportName = 'Rekapitulasi Gangguan Berdasarkan Media'
|
const reportName = 'Rekapitulasi Gangguan Berdasarkan Media'
|
||||||
const fontSize = 5
|
const fontSize = 5
|
||||||
|
@ -88,10 +88,14 @@ const formatData = (rawData: any) => {
|
|||||||
data[nama_up3][i].nama_posko,
|
data[nama_up3][i].nama_posko,
|
||||||
formatNumber(data[nama_up3][i].total),
|
formatNumber(data[nama_up3][i].total),
|
||||||
formatNumber(data[nama_up3][i].total_selesai),
|
formatNumber(data[nama_up3][i].total_selesai),
|
||||||
formatPercentage((data[nama_up3][i].total_selesai / data[nama_up3][i].total) * 100),
|
formatPercentage(
|
||||||
|
!data[nama_up3][i].total_selesai || !data[nama_up3][i].total
|
||||||
|
? '0%'
|
||||||
|
: (data[nama_up3][i].total_selesai / data[nama_up3][i].total) * 100
|
||||||
|
),
|
||||||
formatNumber(data[nama_up3][i].total_inproses),
|
formatNumber(data[nama_up3][i].total_inproses),
|
||||||
formatPercentage(
|
formatPercentage(
|
||||||
data[nama_up3][i].total_inproses == null || data[nama_up3][i].total == null
|
!data[nama_up3][i].total_inproses || !data[nama_up3][i].total
|
||||||
? '0%'
|
? '0%'
|
||||||
: (data[nama_up3][i].total_inproses / data[nama_up3][i].total) * 100
|
: (data[nama_up3][i].total_inproses / data[nama_up3][i].total) * 100
|
||||||
),
|
),
|
||||||
@ -146,9 +150,17 @@ const formatData = (rawData: any) => {
|
|||||||
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(total.total_laporan),
|
formatNumber(total.total_laporan),
|
||||||
formatNumber(total.total_laporan_sudah_selesai),
|
formatNumber(total.total_laporan_sudah_selesai),
|
||||||
formatPercentage((total.total_laporan_sudah_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan_sudah_selesai || !total.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_sudah_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_laporan_belum_selesai),
|
formatNumber(total.total_laporan_belum_selesai),
|
||||||
formatPercentage((total.total_laporan_belum_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan_belum_selesai || !total.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_belum_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_response_time_total),
|
formatNumber(total.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
total.total_response_time_rata_rata.length
|
total.total_response_time_rata_rata.length
|
||||||
@ -178,9 +190,17 @@ const formatData = (rawData: any) => {
|
|||||||
{ content: 'GRAND TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
{ content: 'GRAND TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(grandTotal.total_laporan),
|
formatNumber(grandTotal.total_laporan),
|
||||||
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan_sudah_selesai || !grandTotal.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_laporan_belum_selesai),
|
formatNumber(grandTotal.total_laporan_belum_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan_belum_selesai || !grandTotal.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_response_time_total),
|
formatNumber(grandTotal.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
grandTotal.total_response_time_rata_rata.length
|
grandTotal.total_response_time_rata_rata.length
|
||||||
|
@ -91,10 +91,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
data[nama_uid][i].nama_regu,
|
data[nama_uid][i].nama_regu,
|
||||||
formatNumber(data[nama_uid][i].total),
|
formatNumber(data[nama_uid][i].total),
|
||||||
formatNumber(data[nama_uid][i].total_selesai),
|
formatNumber(data[nama_uid][i].total_selesai),
|
||||||
formatPercentage((data[nama_uid][i].total_selesai / data[nama_uid][i].total) * 100),
|
formatPercentage(
|
||||||
|
!data[nama_uid][i].total || !data[nama_uid][i].total_selesai
|
||||||
|
? '0%'
|
||||||
|
: (data[nama_uid][i].total_selesai / data[nama_uid][i].total) * 100
|
||||||
|
),
|
||||||
formatNumber(data[nama_uid][i].total_inproses),
|
formatNumber(data[nama_uid][i].total_inproses),
|
||||||
formatPercentage(
|
formatPercentage(
|
||||||
data[nama_uid][i].total_inproses == null || data[nama_uid][i].total == null
|
!data[nama_uid][i].total_inproses || !data[nama_uid][i].total
|
||||||
? '0%'
|
? '0%'
|
||||||
: (data[nama_uid][i].total_inproses / data[nama_uid][i].total) * 100
|
: (data[nama_uid][i].total_inproses / data[nama_uid][i].total) * 100
|
||||||
),
|
),
|
||||||
@ -149,9 +153,17 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
{ content: 'TOTAL', colSpan: 3, styles: { fontStyle: 'bold' } },
|
{ content: 'TOTAL', colSpan: 3, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(total.total_laporan),
|
formatNumber(total.total_laporan),
|
||||||
formatNumber(total.total_laporan_sudah_selesai),
|
formatNumber(total.total_laporan_sudah_selesai),
|
||||||
formatPercentage((total.total_laporan_sudah_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan || !total.total_laporan_sudah_selesai
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_sudah_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_laporan_belum_selesai),
|
formatNumber(total.total_laporan_belum_selesai),
|
||||||
formatPercentage((total.total_laporan_belum_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan || !total.total_laporan_belum_selesai
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_belum_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_response_time_total),
|
formatNumber(total.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
total.total_response_time_rata_rata.length
|
total.total_response_time_rata_rata.length
|
||||||
@ -184,10 +196,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
rawData[i].nama_regu,
|
rawData[i].nama_regu,
|
||||||
formatNumber(rawData[i].total),
|
formatNumber(rawData[i].total),
|
||||||
formatNumber(rawData[i].total_selesai),
|
formatNumber(rawData[i].total_selesai),
|
||||||
formatPercentage((rawData[i].total_selesai / rawData[i].total) * 100),
|
formatPercentage(
|
||||||
|
!rawData[i].total || !rawData[i].total_selesai
|
||||||
|
? '0%'
|
||||||
|
: (rawData[i].total_selesai / rawData[i].total) * 100
|
||||||
|
),
|
||||||
formatNumber(rawData[i].total_inproses),
|
formatNumber(rawData[i].total_inproses),
|
||||||
formatPercentage(
|
formatPercentage(
|
||||||
rawData[i].total_inproses == null || rawData[i].total == null
|
!rawData[i].total_inproses || !rawData[i].total
|
||||||
? '0%'
|
? '0%'
|
||||||
: (rawData[i].total_inproses / rawData[i].total) * 100
|
: (rawData[i].total_inproses / rawData[i].total) * 100
|
||||||
),
|
),
|
||||||
@ -227,9 +243,17 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
{ content: 'GRAND TOTAL', colSpan: 3, styles: { fontStyle: 'bold' } },
|
{ content: 'GRAND TOTAL', colSpan: 3, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(grandTotal.total_laporan),
|
formatNumber(grandTotal.total_laporan),
|
||||||
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan || !grandTotal.total_laporan_sudah_selesai
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_laporan_belum_selesai),
|
formatNumber(grandTotal.total_laporan_belum_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan || !grandTotal.total_laporan_belum_selesai
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_response_time_total),
|
formatNumber(grandTotal.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
grandTotal.total_response_time_rata_rata.length
|
grandTotal.total_response_time_rata_rata.length
|
||||||
|
@ -90,10 +90,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
data[nama_uid][i].tanggal,
|
data[nama_uid][i].tanggal,
|
||||||
formatNumber(data[nama_uid][i].total),
|
formatNumber(data[nama_uid][i].total),
|
||||||
formatNumber(data[nama_uid][i].total_selesai),
|
formatNumber(data[nama_uid][i].total_selesai),
|
||||||
formatPercentage((data[nama_uid][i].total_selesai / data[nama_uid][i].total) * 100),
|
formatPercentage(
|
||||||
|
!data[nama_uid][i].total || !data[nama_uid][i].total_selesai
|
||||||
|
? '0%'
|
||||||
|
: (data[nama_uid][i].total_selesai / data[nama_uid][i].total) * 100
|
||||||
|
),
|
||||||
formatNumber(data[nama_uid][i].total_inproses),
|
formatNumber(data[nama_uid][i].total_inproses),
|
||||||
formatPercentage(
|
formatPercentage(
|
||||||
data[nama_uid][i].total_inproses == null || data[nama_uid][i].total == null
|
!data[nama_uid][i].total_inproses || !data[nama_uid][i].total
|
||||||
? '0%'
|
? '0%'
|
||||||
: (data[nama_uid][i].total_inproses / data[nama_uid][i].total) * 100
|
: (data[nama_uid][i].total_inproses / data[nama_uid][i].total) * 100
|
||||||
),
|
),
|
||||||
@ -148,9 +152,17 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(total.total_laporan),
|
formatNumber(total.total_laporan),
|
||||||
formatNumber(total.total_laporan_sudah_selesai),
|
formatNumber(total.total_laporan_sudah_selesai),
|
||||||
formatPercentage((total.total_laporan_sudah_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan || !total.total_laporan_sudah_selesai
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_sudah_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_laporan_belum_selesai),
|
formatNumber(total.total_laporan_belum_selesai),
|
||||||
formatPercentage((total.total_laporan_belum_selesai / total.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!total.total_laporan_belum_selesai || !total.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (total.total_laporan_belum_selesai / total.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(total.total_response_time_total),
|
formatNumber(total.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
total.total_response_time_rata_rata.length
|
total.total_response_time_rata_rata.length
|
||||||
@ -182,10 +194,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
rawData[i].tanggal,
|
rawData[i].tanggal,
|
||||||
formatNumber(rawData[i].total),
|
formatNumber(rawData[i].total),
|
||||||
formatNumber(rawData[i].total_selesai),
|
formatNumber(rawData[i].total_selesai),
|
||||||
formatPercentage((rawData[i].total_selesai / rawData[i].total) * 100),
|
formatPercentage(
|
||||||
|
!rawData[i].total || !rawData[i].total_selesai
|
||||||
|
? '0%'
|
||||||
|
: (rawData[i].total_selesai / rawData[i].total) * 100
|
||||||
|
),
|
||||||
formatNumber(rawData[i].total_inproses),
|
formatNumber(rawData[i].total_inproses),
|
||||||
formatPercentage(
|
formatPercentage(
|
||||||
rawData[i].total_inproses == null || rawData[i].total == null
|
!rawData[i].total_inproses || !rawData[i].total
|
||||||
? '0%'
|
? '0%'
|
||||||
: (rawData[i].total_inproses / rawData[i].total) * 100
|
: (rawData[i].total_inproses / rawData[i].total) * 100
|
||||||
),
|
),
|
||||||
@ -225,9 +241,17 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
|||||||
{ content: 'GRAND TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
{ content: 'GRAND TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||||
formatNumber(grandTotal.total_laporan),
|
formatNumber(grandTotal.total_laporan),
|
||||||
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
formatNumber(grandTotal.total_laporan_sudah_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan || !grandTotal.total_laporan_sudah_selesai
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_sudah_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_laporan_belum_selesai),
|
formatNumber(grandTotal.total_laporan_belum_selesai),
|
||||||
formatPercentage((grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100),
|
formatPercentage(
|
||||||
|
!grandTotal.total_laporan_belum_selesai || !grandTotal.total_laporan
|
||||||
|
? '0%'
|
||||||
|
: (grandTotal.total_laporan_belum_selesai / grandTotal.total_laporan) * 100
|
||||||
|
),
|
||||||
formatNumber(grandTotal.total_response_time_total),
|
formatNumber(grandTotal.total_response_time_total),
|
||||||
formatNumber(
|
formatNumber(
|
||||||
grandTotal.total_response_time_rata_rata.length
|
grandTotal.total_response_time_rata_rata.length
|
||||||
|
Loading…
x
Reference in New Issue
Block a user