const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData)
var preHtml = `
${filename}
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]
var column = '
'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"'
}
i === 0
? (column += `${content.content} | `)
: (column += `${content} | `)
}
column += '
'
tbody += column
}
var body = `
${company.toUpperCase()} |
Unit Induk Distribusi/Wilayah |
: |
${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
} |
Unit Pelaksanaan Pelayanan Pelanggan |
: |
${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
} |
Posko |
: |
${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()} |
${filename.toUpperCase()}
Periode : ${periode.dateFromFormat} s/d ${periode.dateToFormat} (${periode.dayTo})
No |
Kode |
Sub Kelompok (Equipment) |
Laporan |
Response Time |
Recovery Time |
Total |
Sudah Selesai |
Belum Selesai |
Menit |
Laporan |
Menit |
Laporan |
Jml |
% |
Jml |
% |
Total |
Rata-Rata |
Max |
Min |
>Sla |
Total |
Rata-Rata |
Max |
Min |
>Sla |
| |
${tbody}
`
var postHtml = `
`
var html = preHtml + body + postHtml
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink)
downloadLink.href = url
downloadLink.download = filename
downloadLink.click()
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `${filename}
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '
'
cr += `${i + 1} | `
cr += ` ${item.no_laporan} | `
cr += ` ${item.waktu_lapor} | `
cr += ` ${item.waktu_response} | `
cr += ` ${item.waktu_recovery} | `
cr += ` ${item.durasi_response_time} | `
cr += ` ${item.durasi_recovery_time} | `
cr += ` ${item.status_akhir} | `
cr += ` ${item.referensi_marking} | `
cr += ` ${item.id_pelnomormeter} | `
cr += ` ${item.nama_pelapor} | `
cr += ` ${item.alamat_pelapor} | `
cr += ` ${item.no_telp_pelapor} | `
cr += ` ${item.keterangan_pelapor} | `
cr += ` ${item.nama_posko} | `
cr += ` ${item.tindakan} | `
cr += ` ${item.penyebab} | `
cr += '
'
})
tbody += cr
var body = `
${company.toUpperCase()} |
Unit Induk Distribusi/Wilayah |
: |
${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
} |
Unit Pelaksanaan Pelayanan Pelanggan |
: |
${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
} |
Posko |
: |
${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()} |
${filename.toUpperCase()}
Periode : ${periode.dateFromFormat} s/d ${periode.dateToFormat} (${periode.dayTo})
No |
No Laporan |
Tgl Lapor |
Tgl Datang |
Tgl Nyala |
Durasi Response Time |
Durasi Recovery Time |
Status |
Referensi Marking |
IDPEL/NO METER |
Nama Pelapor |
Alamat Pelapor |
No Telp Pelapor |
Keterangan Pelapor |
Posko |
Tindakan |
Penyebab |
${tbody}
`
var postHtml = `
`
var html = preHtml + body + postHtml
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink)
downloadLink.href = url
downloadLink.download = filename
downloadLink.click()
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }