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)
|
||||
: '100%',
|
||||
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),
|
||||
formatWaktu(summary.max_durasi_dispatch),
|
||||
formatWaktu(summary.min_durasi_dispatch),
|
||||
@ -221,9 +225,13 @@ const formatData = (rawData: any) => {
|
||||
{ content: 'TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||
formatNumber(total.total),
|
||||
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),
|
||||
formatPercentage((total.total_inproses / total.total) * 100),
|
||||
formatPercentage(
|
||||
!total.total_inproses || !total.total ? '0%' : (total.total_inproses / total.total) * 100
|
||||
),
|
||||
formatNumber(
|
||||
total.avg_durasi_dispatch.length
|
||||
? 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 autoTable from 'jspdf-autotable'
|
||||
import { Workbook } from 'exceljs'
|
||||
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
||||
import { setHeaderStyle } from '@/report/utils/xlsx'
|
||||
import { formatNumber, formatPercentage } from '@/utils/numbers'
|
||||
import { formatNumber } from '@/utils/numbers'
|
||||
|
||||
const reportName = 'Rekapitulasi Gangguan Berdasarkan Media'
|
||||
const fontSize = 5
|
||||
|
@ -88,10 +88,14 @@ const formatData = (rawData: any) => {
|
||||
data[nama_up3][i].nama_posko,
|
||||
formatNumber(data[nama_up3][i].total),
|
||||
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),
|
||||
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%'
|
||||
: (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' } },
|
||||
formatNumber(total.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
@ -178,9 +190,17 @@ const formatData = (rawData: any) => {
|
||||
{ content: 'GRAND TOTAL', colSpan: 2, styles: { fontStyle: 'bold' } },
|
||||
formatNumber(grandTotal.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
|
@ -91,10 +91,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
||||
data[nama_uid][i].nama_regu,
|
||||
formatNumber(data[nama_uid][i].total),
|
||||
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),
|
||||
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%'
|
||||
: (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' } },
|
||||
formatNumber(total.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
@ -184,10 +196,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
||||
rawData[i].nama_regu,
|
||||
formatNumber(rawData[i].total),
|
||||
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),
|
||||
formatPercentage(
|
||||
rawData[i].total_inproses == null || rawData[i].total == null
|
||||
!rawData[i].total_inproses || !rawData[i].total
|
||||
? '0%'
|
||||
: (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' } },
|
||||
formatNumber(grandTotal.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
|
@ -90,10 +90,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
||||
data[nama_uid][i].tanggal,
|
||||
formatNumber(data[nama_uid][i].total),
|
||||
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),
|
||||
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%'
|
||||
: (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' } },
|
||||
formatNumber(total.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
@ -182,10 +194,14 @@ const formatData = (rawData: any, groupBy: boolean) => {
|
||||
rawData[i].tanggal,
|
||||
formatNumber(rawData[i].total),
|
||||
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),
|
||||
formatPercentage(
|
||||
rawData[i].total_inproses == null || rawData[i].total == null
|
||||
!rawData[i].total_inproses || !rawData[i].total
|
||||
? '0%'
|
||||
: (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' } },
|
||||
formatNumber(grandTotal.total_laporan),
|
||||
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),
|
||||
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_rata_rata.length
|
||||
|
Loading…
x
Reference in New Issue
Block a user