import { formatWaktu } from '@/components/Form/FiltersType/reference' export const exportToWord = ( rawMeta: any, formattedMeta: any, rawData: any, reportName: String ) => { 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() const filename = 'Laporan ' + reportName + '.doc' let tbody = '' for (let index = 0; index < rawData.length; index++) { const element = rawData[index] let 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' } i === 0 ? (column += `${content.content}`) : (column += `${content}`) } column += `` tbody += column } let columnTanggal = '' for (let i = 1; i <= 31; i++) { columnTanggal += `${i}` } let preHtml = ` ${reportName} ` const body = `
PT. PLN(Persero)
UNIT INDUK
:
${ rawMeta.uid ? rawMeta.uid.name.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() }
UNIT PELAKSANA PELAYANAN PELANGGAN
:
${ rawMeta.up3 ? rawMeta.up3.name.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() }
UNIT LAYANAN PELANGGAN
:
${ rawMeta.ulp ? rawMeta.ulp.name.toUpperCase() : 'Semua Unit Layanan Pelanggan'.toUpperCase() }


${reportName.toUpperCase()}
${`PERIODE TANGGAL : ${formattedMeta.dateFromFormat} SD TGL ${formattedMeta.dateToFormat}`}

${columnTanggal} ${tbody}
No Nama Media Tanggal

` const postHtml = '' const html = preHtml + body + postHtml const url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html) const downloadLink = document.createElement('a') document.body.appendChild(downloadLink) downloadLink.href = url downloadLink.download = filename downloadLink.click() document.body.removeChild(downloadLink) } export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { 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() const filename = 'Laporan Detail ' + reportName + '.doc' let preHtml = ` Daftar Detail ${reportName} ` const body = `
PT. PLN(Persero)

${'DAFTAR DETAIL ' + reportName.toUpperCase()}
${`PERIODE TANGGAL : ${formattedMeta.dateFromFormat} SD TGL ${formattedMeta.dateToFormat}`}

${rawData .map( (item: any, i: any) => ` ` ) .join('')}
No No Laporan Tgl Lapor Dalam Proses Bidang Selesai Bidang Unit Durasi Response Time Durasi Recovery Time Status IDPEL/NO METER Nama Pelapor Alamat Pelapor No Telp Pelapor Keterangan Pelapor Rayon Uraian Response Pelanggan
${i + 1} ${item.no_laporan} ${item.waktu_lapor} ${item.waktu_response} ${item.waktu_recovery} ${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'} ${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'} ${item.status_akhir} ${item.idpel_nometer} ${item.nama_pelapor} ${item.alamat_pelapor} ${item.no_telp_pelapor} ${item.keterangan_pelapor} ${item.nama_ulp} ${item.uraian} ${item.respon_pelanggan}

` const postHtml = '' const html = preHtml + body + postHtml const url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html) const downloadLink = document.createElement('a') document.body.appendChild(downloadLink) downloadLink.href = url downloadLink.download = filename downloadLink.click() document.body.removeChild(downloadLink) }