Add Monalisa dispatching time gangguan queries
This commit is contained in:
@ -69,9 +69,9 @@
|
||||
"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
:width="250"
|
||||
alignment="center"
|
||||
data-field="jenisGangguan"
|
||||
data-field="tipe_permasalahan"
|
||||
caption="Jenis Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
@ -80,7 +80,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="laporan.total"
|
||||
data-field="total"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
@ -90,7 +90,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="laporan.sudahSelesai.jml"
|
||||
data-field="total_selesai"
|
||||
data-type="number"
|
||||
caption="Jml"
|
||||
css-class="custom-table-column"
|
||||
@ -99,7 +99,7 @@
|
||||
<DxColumn
|
||||
:width="70"
|
||||
alignment="center"
|
||||
data-field="laporan.sudahSelesai.persen"
|
||||
data-field="persen_selesai"
|
||||
data-type="number"
|
||||
caption="%"
|
||||
css-class="custom-table-column"
|
||||
@ -110,7 +110,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="laporan.belumSelesai.jml"
|
||||
data-field="total_inproses"
|
||||
data-type="number"
|
||||
caption="Jml"
|
||||
css-class="custom-table-column"
|
||||
@ -119,7 +119,7 @@
|
||||
<DxColumn
|
||||
:width="70"
|
||||
alignment="center"
|
||||
data-field="laporan.belumSelesai.persen"
|
||||
data-field="persen_inproses"
|
||||
data-type="number"
|
||||
caption="%"
|
||||
css-class="custom-table-column"
|
||||
@ -132,7 +132,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.menit.total"
|
||||
data-field="total_durasi_response"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
@ -141,7 +141,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.menit.rataRata"
|
||||
data-field="avg_durasi_response"
|
||||
data-type="number"
|
||||
caption="Rata-Rata"
|
||||
css-class="custom-table-column"
|
||||
@ -150,7 +150,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.menit.max"
|
||||
data-field="max_durasi_response"
|
||||
data-type="number"
|
||||
caption="Max"
|
||||
css-class="custom-table-column"
|
||||
@ -159,7 +159,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.menit.min"
|
||||
data-field="min_durasi_response"
|
||||
data-type="number"
|
||||
caption="Min"
|
||||
css-class="custom-table-column"
|
||||
@ -170,7 +170,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.laporan.lebihSla"
|
||||
data-field="total_diatas_sla_response"
|
||||
data-type="number"
|
||||
caption=">SLA"
|
||||
css-class="custom-table-column"
|
||||
@ -179,7 +179,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="responseTime.laporan.kurangSla"
|
||||
data-field="total_dibawah_sla_response"
|
||||
data-type="number"
|
||||
caption="≤SLA"
|
||||
css-class="custom-table-column"
|
||||
@ -192,7 +192,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.menit.total"
|
||||
data-field="total_durasi_recovery"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
@ -201,7 +201,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.menit.rataRata"
|
||||
data-field="avg_durasi_recovery"
|
||||
data-type="number"
|
||||
caption="Rata-Rata"
|
||||
css-class="custom-table-column"
|
||||
@ -210,7 +210,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.menit.max"
|
||||
data-field="max_durasi_recovery"
|
||||
data-type="number"
|
||||
caption="Max"
|
||||
css-class="custom-table-column"
|
||||
@ -219,7 +219,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.menit.min"
|
||||
data-field="min_durasi_recovery"
|
||||
data-type="number"
|
||||
caption="Min"
|
||||
css-class="custom-table-column"
|
||||
@ -230,7 +230,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.laporan.lebihSla"
|
||||
data-field="total_diatas_sla_recovery"
|
||||
data-type="number"
|
||||
caption=">SLA"
|
||||
css-class="custom-table-column"
|
||||
@ -239,7 +239,7 @@
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="recoveryTime.laporan.kurangSla"
|
||||
data-field="total_dibawah_sla_recovery"
|
||||
data-type="number"
|
||||
caption="≤SLA"
|
||||
css-class="custom-table-column"
|
||||
@ -248,7 +248,7 @@
|
||||
</DxColumn>
|
||||
</DxColumn>
|
||||
|
||||
<DxSummary>
|
||||
<DxSummary :calculate-custom-summary="calculateCustomSummary">
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="no"
|
||||
@ -257,7 +257,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="laporan.total"
|
||||
column="total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -265,7 +265,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="laporan.sudahSelesai.jml"
|
||||
column="total_selesai"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -273,7 +273,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="laporan.sudahSelesai.persen"
|
||||
column="persen_selesai"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -281,7 +281,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="laporan.belumSelesai.jml"
|
||||
column="total_inproses"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -289,7 +289,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="laporan.belumSelesai.persen"
|
||||
column="persen_inproses"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -297,7 +297,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.menit.total"
|
||||
column="total_durasi_response"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -305,7 +305,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.menit.rataRata"
|
||||
column="avg_durasi_response"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -313,7 +313,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.menit.max"
|
||||
column="max_durasi_response"
|
||||
summary-type="max"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -321,7 +321,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.menit.min"
|
||||
column="min_durasi_response"
|
||||
summary-type="min"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -329,7 +329,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.laporan.lebihSla"
|
||||
column="total_diatas_sla_response"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -337,7 +337,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="responseTime.laporan.kurangSla"
|
||||
column="total_dibawah_sla_response"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -345,7 +345,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.menit.total"
|
||||
column="total_durasi_recovery"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -353,7 +353,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.menit.rataRata"
|
||||
column="avg_durasi_recovery"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -361,7 +361,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.menit.max"
|
||||
column="max_durasi_recovery"
|
||||
summary-type="max"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -369,7 +369,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.menit.min"
|
||||
column="min_durasi_recovery"
|
||||
summary-type="min"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -377,7 +377,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.laporan.lebihSla"
|
||||
column="total_diatas_sla_recovery"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -385,7 +385,7 @@
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="true"
|
||||
column="recoveryTime.laporan.kurangSla"
|
||||
column="total_dibawah_sla_recovery"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="!text-right"
|
||||
@ -563,46 +563,8 @@ const filterData = async (params: any) => {
|
||||
data.value = [...result.data.data.rekapitulasiPerJenisGangguan].map(
|
||||
(item: any, index: number) => {
|
||||
return {
|
||||
no: ++index,
|
||||
sub_kelompok: item.sub_kelompok,
|
||||
nama_sub_kelompok: item.nama_sub_kelompok,
|
||||
kode: item.kode,
|
||||
jenisGangguan: item.tipe_permasalahan,
|
||||
laporan: {
|
||||
total: item.total,
|
||||
sudahSelesai: {
|
||||
jml: item.total_selesai,
|
||||
persen: item.persen_selesai
|
||||
},
|
||||
belumSelesai: {
|
||||
jml: item.total_inproses,
|
||||
persen: item.persen_inproses
|
||||
}
|
||||
},
|
||||
responseTime: {
|
||||
menit: {
|
||||
total: item.total_durasi_response,
|
||||
rataRata: item.avg_durasi_response,
|
||||
max: item.max_durasi_response,
|
||||
min: item.min_durasi_response
|
||||
},
|
||||
laporan: {
|
||||
lebihSla: item.total_diatas_sla_response,
|
||||
kurangSla: item.total_dibawah_sla_response
|
||||
}
|
||||
},
|
||||
recoveryTime: {
|
||||
menit: {
|
||||
total: item.total_durasi_recovery,
|
||||
rataRata: item.avg_durasi_recovery,
|
||||
max: item.max_durasi_recovery,
|
||||
min: item.min_durasi_recovery
|
||||
},
|
||||
laporan: {
|
||||
lebihSla: item.total_diatas_sla_recovery,
|
||||
kurangSla: item.total_dibawah_sla_recovery
|
||||
}
|
||||
}
|
||||
...item,
|
||||
no: ++index
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -619,6 +581,50 @@ const filterData = async (params: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
let total = 0
|
||||
let total_selesai = 0
|
||||
let total_inproses = 0
|
||||
let count_durasi_dispatch = 0
|
||||
let total_durasi_dispatch = 0
|
||||
let count_durasi_response = 0
|
||||
let total_durasi_response = 0
|
||||
let count_durasi_recovery = 0
|
||||
let total_durasi_recovery = 0
|
||||
const calculateCustomSummary = (options: any) => {
|
||||
if (options.name === 'total') {
|
||||
if (options.summaryProcess === 'calculate') {
|
||||
total += options.value
|
||||
} else if (options.summaryProcess === 'finalize') {
|
||||
options.totalValue = total
|
||||
}
|
||||
}
|
||||
|
||||
if (options.name === 'total_selesai') {
|
||||
if (options.summaryProcess === 'calculate') {
|
||||
total_selesai += options.value
|
||||
} else if (options.summaryProcess === 'finalize') {
|
||||
options.totalValue = total_selesai
|
||||
}
|
||||
}
|
||||
|
||||
if (options.name === 'total_inproses') {
|
||||
if (options.summaryProcess === 'calculate') {
|
||||
total_inproses += options.value
|
||||
} else if (options.summaryProcess === 'finalize') {
|
||||
options.totalValue = total_inproses
|
||||
}
|
||||
}
|
||||
|
||||
if (options.name === 'persen_selesai') {
|
||||
if (options.summaryProcess === 'start') {
|
||||
total = 0
|
||||
total_selesai = 0
|
||||
} else if (options.summaryProcess === 'finalize') {
|
||||
options.totalValue = (total_selesai / total) * 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const filters = ref()
|
||||
onMounted(() => {
|
||||
if (import.meta.env.DEV) {
|
||||
|
Reference in New Issue
Block a user