<script>
$(document).ready(function() {
$('#Loading').hide();
// async function generatePdf(gurih) {
// const content = document.getElementById(gurih);
// const options = {
// margin: 1,
// filename: 'document.pdf',
// image: { type: 'jpeg', quality: 0.98 },
// html2canvas: { scale: 2 },
// jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }
// };
// try {
// const pdf = await html2pdf().set(options).from(content).outputPdf();
// pdf.save('document.pdf');
// } catch (error) {
// console.error('Error generating PDF:', error);
// }
// } pdfWorker.js
async function generatePdf() {
const content = document.getElementById('content-data');
const options = {
margin: 1,
filename: 'document.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }
};
try {
const pdf = await html2pdf().set(options).from(content).save();
} catch (error) {
console.error('Error generating PDF:', error);
}
}
// const worker = new Worker("{{asset('pdfWorker.js')}}");
// worker.onmessage = function(e) {
// if (e.data.status === 'done') {
// // Handle the generated PDF, e.g., download or display it
// const pdf = e.data.pdf;
// const link = document.createElement('a');
// link.href = pdf;
// link.download = 'document.pdf';
// link.click();
// } else if (e.data.status === 'error') {
// console.error('Error generating PDF:', e.data.error);
// }
// };
$('#GeneratePDF').click(function() {
// let content = document.getElementById('content-data');
// const options = {
// margin: 1,
// filename: 'document.pdf',
// image: { type: 'jpeg', quality: 0.98 },
// html2canvas: { scale: 2 },
// jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' }
// };
// worker.postMessage({ content: content.innerHTML, options });
generatePdf();
});
$('#Gdata').click(function() {
// alert("MOOOO");
$('#Gdata').hide();
$('#Loading').show();
var dataAvailable = parseInt("{{($ProkerSubKegiatanTotalData / 150) + 1}}");
// console.log(dataAvailable);
var pageList = [];
for(var i = 0; i < dataAvailable; i++) {
pageList.push(i + 1);
}
var promises = [];
pageList.forEach(function(id) {
promises.push(
$.ajax({
url: `{{url('umkm')}}?pd={{ $request->get('pd') }}&jenis_umk={{ $request->get('jenis_umk') }}&tanggal_awal={{ $request->get('tanggal_awal') }}&tanggal_akhir={{ $request->get('tanggal_akhir') }}&printpdf=print&page=${id}`,
method: 'GET'
})
);
});
// console.log(promises);
Promise.all(promises).then(function(responses) {
// Tambahkan hasil ke dalam elemen di halaman
// $('#results').append(`<div>ID: ${response.id}, Data: ${response.name}</div>`);
// console.log(responses);
// console.log(response.ProkerSubKegiatans.data);
var urutan = 1;
responses.forEach(function (response) {
response.ProkerSubKegiatans.data.forEach(function(item) {
// Tambahkan data ke dalam elemen dengan ID 'result'
var pagu_sm = 0;
var CustomNilaiKontrak = 0;
var PaguBerjalan = 0;
var keuanganTotal = 0;;
var PersenFisik = 0;
item.rincian_kegiatan.forEach(function(rk) {
pagu_sm += rk.pagu;
if (rk.realisasi_rincian_kegiatan.realisasi_fisik.length > 0 || rk.realisasi_rincian_kegiatan.realisasi_keuangan.length > 0) {
CustomNilaiKontrak += parseInt(rk.realisasi_rincian_kegiatan.nilai_kontrak);
}
if (Object.keys(rk.realisasi_rincian_kegiatan).length > 0) {
var countPaguKAh = parseInt(rk.realisasi_rincian_kegiatan.realisasi_fisik.length + rk.realisasi_rincian_kegiatan.realisasi_keuangan.length);
if (countPaguKAh > 0) {
PaguBerjalan += parseInt(rk.pagu);
}
rk.realisasi_rincian_kegiatan.realisasi_keuangan.forEach(function (rku) {
keuanganTotal += parseInt(rku.realisasi);
});
}
});
var html = `<tr class="table-primary">
<td>${urutan}</td>
<td>${item.sub_kegiatan.kode}</td>
<td>${item.sub_kegiatan.nama_sub_kegiatan}</td>
<td>Rp${ numeral(pagu_sm).format('0,0') }</td>
<td>Rp${ numeral(CustomNilaiKontrak).format('0,0') }</td>
<td>Rp${ numeral(parseInt(PaguBerjalan - CustomNilaiKontrak)).format('0,0') }</td>
<td>${(PersenFisik).toFixed(2)}%</td>
<td>Rp${ numeral(keuanganTotal).format('0,0') }</td>
<td>${ ((keuanganTotal / pagu_sm) * 100).toFixed(2) }%</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>`;
$('#SiCantikTableIni').append(html);
item.rincian_kegiatan.forEach(function(rk) {
var CustomNilaiKontrak = 0;
var PaguBerjalan = 0;
var keuanganTotal = 0;;
var PersenFisik = 0;
var RealisasiFisik = 0;
if (rk.realisasi_rincian_kegiatan.realisasi_fisik.length > 0 || rk.realisasi_rincian_kegiatan.realisasi_keuangan.length > 0) {
CustomNilaiKontrak += parseInt(rk.realisasi_rincian_kegiatan.nilai_kontrak);
}
if (Object.keys(rk.realisasi_rincian_kegiatan).length > 0) {
var countPaguKAh = parseInt(rk.realisasi_rincian_kegiatan.realisasi_fisik.length + rk.realisasi_rincian_kegiatan.realisasi_keuangan.length);
if (countPaguKAh > 0) {
PaguBerjalan += parseInt(rk.pagu);
}
rk.realisasi_rincian_kegiatan.realisasi_keuangan.forEach(function (rku) {
keuanganTotal += parseInt(rku.realisasi);
});
rk.realisasi_rincian_kegiatan.realisasi_fisik.forEach(function (rkf) {
RealisasiFisik += parseInt(rkf.realisasi);
});
let volumeCheck = 0;
if (rk.volume == 0) {
volumeCheck = 1;
} else {
volumeCheck = rk.volume;
}
PersenFisik = (RealisasiFisik / volumeCheck) * 100;
}
var html = `<tr class="table-secondary">
<td></td>
<td>${rk.kode_rekening}</td>
<td>${rk.uraian}</td>
<td>Rp${ numeral(rk.pagu).format('0,0')}</td>
<td>Rp${ numeral(CustomNilaiKontrak).format('0,0')}</td>
<td>Rp${ numeral(parseInt(PaguBerjalan - CustomNilaiKontrak)).format('0,0') }</td>
<td>${ (PersenFisik).toFixed(2) }%</td>
<td>Rp${ numeral(parseInt(keuanganTotal)).format('0,0') }</td>
<td>${ ((keuanganTotal / rk.pagu) * 100).toFixed(2) }%</td>
<td>${ rk.opd.nama_perangkat_daerah }</td>
<td>${ rk.proker_sub_kegiatan.pptk.nama ?? '-' }}</td> --}}
<td></td>
<td></td>
<td></td>
</tr>`;
$('#SiCantikTableIni').append(html);
});
urutan += 1;
});
$('#Loading').hide();
});
}).catch(function(error) {
console.error('Error handling one of the requests:', error);
});
// console.log(pageList);
// pageList
// $.ajax({
// url: `{{url('umkm')}}??pd={{ $request->get('pd') }}&jenis_umk={{ $request->get('jenis_umk') }}&tanggal_awal={{ $request->get('tanggal_awal') }}&tanggal_akhir={{ $request->get('tanggal_akhir') }}&printpdf=print&page=1`, // URL ke route Laravel
// method: 'GET',
// success: function(response) {
// },
// error: function(xhr) {
// console.error(`Error fetching data for ID ${id}:`, xhr);
// }
// });
});
});
</script>
@php
$looplah = 1;
@endphp
@foreach ($ProkerSubKegiatanContent as $PSKC)
<tr class="table-primary">
<td>{{ $looplah++ }}</td>
<td>{{$PSKC->kode }}</td>
<td>{{$PSKC->nama_sub_kegiatan }}</td>
<td>Rp{{ number_format($PSKC->total_pagu, 0, ',', '.') }}</td>
<td>Rp{{ number_format($PSKC->total_nilai_kontrak, 0, ',', '.') }}</td>
<td>Rp{{ number_format($PSKC->total_pagu_berjalan - $PSKC->total_nilai_kontrak, 0, ',', '.') }}</td>
<td class="text-center">{{ number_format($PSKC->total_realisasi/ max($PSKC->total_pagu, 1) , 2, ',', '.') }}%</td>
<td class="text-nowrap text-end">Rp{{ number_format($PSKC->realisasi_keuangan_pd , 0, ',', '.') }}</td>
<td class="text-center">
{{ number_format(($PSKC->realisasi_keuangan_pd / $PSKC->total_pagu ) * 100 ,2 , ',', '.') }}%
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
@php
for ($i = 1; $i <= 12; $i++) {
$RincianKegiatansContent = DB::select("SELECT
rincian_kegiatans.id,
rincian_kegiatans.kode_rekening,
rincian_kegiatans.uraian,
SUM(rincian_kegiatans.pagu) AS total_pagu,
SUM(CASE WHEN rf.total_realisasi > 0 OR rk.realisasi > 0 THEN rincian_kegiatans.pagu ELSE 0 END) AS total_pagu_berjalan,
SUM(rincian_kegiatans.pagu * (rf.total_realisasi / rincian_kegiatans.volume) * 100) AS total_realisasi,
SUM(rk.realisasi) AS realisasi_keuangan_pd,
SUM(CASE WHEN rf.total_realisasi > 0 OR rk.realisasi > 0 THEN rrk.total_nilai_kontrak ELSE 0 END) AS total_nilai_kontrak,
SUM(CASE WHEN rf.total_realisasi IS NULL AND rk.realisasi IS NULL THEN rincian_kegiatans.pagu ELSE 0 END) AS total_pagu_tanpa_realisasi
FROM
rincian_kegiatans
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rf.realisasi) AS total_realisasi
FROM realisasi_rincian_kegiatans AS rrk
INNER JOIN realisasi_fisiks AS rf ON rrk.id = rf.realisasi_rincian_kegiatan_id
WHERE rrk.deleted_at IS NULL
AND rf.deleted_at IS NULL
-- AND rf.tanggal_realisasi >= :tanggal_awal
-- AND rf.tanggal_realisasi <= :tanggal_akhir
GROUP BY rrk.rincian_kegiatan_id
) AS rf ON rincian_kegiatans.id = rf.rincian_kegiatan_id
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rk.realisasi) AS realisasi
FROM realisasi_rincian_kegiatans AS rrk
INNER JOIN realisasi_keuangans AS rk ON rrk.id = rk.realisasi_rincian_kegiatan_id
WHERE rrk.deleted_at IS NULL
AND rk.deleted_at IS NULL
-- AND rk.tanggal_realisasi >= :tanggal_awalk
-- AND rk.tanggal_realisasi <= :tanggal_akhirk
GROUP BY rrk.rincian_kegiatan_id
) AS rk ON rincian_kegiatans.id = rk.rincian_kegiatan_id
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rrk.nilai_kontrak) AS total_nilai_kontrak
FROM realisasi_rincian_kegiatans AS rrk
WHERE rrk.deleted_at IS NULL
GROUP BY rrk.rincian_kegiatan_id
) AS rrk ON rincian_kegiatans.id = rrk.rincian_kegiatan_id WHERE rincian_kegiatans.proker_sub_kegiatan_id = 1 GROUP BY rincian_kegiatans.id, rincian_kegiatans.kode_rekening,
rincian_kegiatans.uraian");
$RincianKegiatansContent = collect($RincianKegiatansContent);
}
// dd($RincianKegiatansContent);
@endphp
@foreach ($RincianKegiatansContent as $RKC)
<tr class="table-primary">
<td></td>
<td>{{$RKC->kode_rekening }}</td>
<td>{{$RKC->uraian }}</td>
<td>Rp{{ number_format($RKC->total_pagu, 0, ',', '.') }}</td>
<td>Rp{{ number_format($RKC->total_nilai_kontrak, 0, ',', '.') }}</td>
<td>Rp{{ number_format($RKC->total_pagu_berjalan - $RKC->total_nilai_kontrak, 0, ',', '.') }}</td>
<td class="text-center">{{ number_format($RKC->total_realisasi/ max($RKC->total_pagu, 1) , 2, ',', '.') }}%</td>
<td class="text-nowrap text-end">Rp{{ number_format($RKC->realisasi_keuangan_pd , 0, ',', '.') }}</td>
<td class="text-center">
{{ number_format(($RKC->realisasi_keuangan_pd / $RKC->total_pagu ) * 100 ,2 , ',', '.') }}%
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
@endforeach
@endforeach
for ($i = 1; $i <= 12; $i++) {
$ProkerSubKegiatanContent = DB::select("SELECT
-- sub_kegiatans.id,
sub_kegiatans.kode,
sub_kegiatans.nama_sub_kegiatan,
-- rincian_kegiatans.proker_sub_kegiatan_id
proker_sub_kegiatans.id,
SUM(rincian_kegiatans.pagu) AS total_pagu,
SUM(CASE WHEN rf.total_realisasi > 0 OR rk.realisasi > 0 THEN rincian_kegiatans.pagu ELSE 0 END) AS total_pagu_berjalan,
SUM(rincian_kegiatans.pagu * (rf.total_realisasi / rincian_kegiatans.volume) * 100) AS total_realisasi,
SUM(rk.realisasi) AS realisasi_keuangan_pd,
SUM(CASE WHEN rf.total_realisasi > 0 OR rk.realisasi > 0 THEN rrk.total_nilai_kontrak ELSE 0 END) AS total_nilai_kontrak,
SUM(rincian_kegiatans.pagu * (proker_sub_kegiatans.target_fisik_$i / 100)) AS target_fisik,
SUM(rincian_kegiatans.pagu * (proker_sub_kegiatans.target_keuangan_$i / 100)) AS target_keuangan,
SUM(CASE WHEN rf.total_realisasi IS NULL AND rk.realisasi IS NULL THEN rincian_kegiatans.pagu ELSE 0 END) AS total_pagu_tanpa_realisasi
FROM
proker_sub_kegiatans
JOIN sub_kegiatans ON sub_kegiatans.id = proker_sub_kegiatans.sub_kegiatan_id
JOIN rincian_kegiatans ON proker_sub_kegiatans.id = rincian_kegiatans.proker_sub_kegiatan_id
AND proker_sub_kegiatans.deleted_at IS NULL
AND rincian_kegiatans.deleted_at IS NULL
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rf.realisasi) AS total_realisasi
FROM realisasi_rincian_kegiatans AS rrk
INNER JOIN realisasi_fisiks AS rf ON rrk.id = rf.realisasi_rincian_kegiatan_id
WHERE rrk.deleted_at IS NULL
AND rf.deleted_at IS NULL
-- AND rf.tanggal_realisasi >= :tanggal_awal
-- AND rf.tanggal_realisasi <= :tanggal_akhir
GROUP BY rrk.rincian_kegiatan_id
) AS rf ON rincian_kegiatans.id = rf.rincian_kegiatan_id
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rk.realisasi) AS realisasi
FROM realisasi_rincian_kegiatans AS rrk
INNER JOIN realisasi_keuangans AS rk ON rrk.id = rk.realisasi_rincian_kegiatan_id
WHERE rrk.deleted_at IS NULL
AND rk.deleted_at IS NULL
-- AND rk.tanggal_realisasi >= :tanggal_awalk
-- AND rk.tanggal_realisasi <= :tanggal_akhirk
GROUP BY rrk.rincian_kegiatan_id
) AS rk ON rincian_kegiatans.id = rk.rincian_kegiatan_id
LEFT JOIN (
SELECT rrk.rincian_kegiatan_id, SUM(rrk.nilai_kontrak) AS total_nilai_kontrak
FROM realisasi_rincian_kegiatans AS rrk
WHERE rrk.deleted_at IS NULL
GROUP BY rrk.rincian_kegiatan_id
) AS rrk ON rincian_kegiatans.id = rrk.rincian_kegiatan_id GROUP BY sub_kegiatans.id,
sub_kegiatans.kode,
sub_kegiatans.nama_sub_kegiatan, proker_sub_kegiatans.id ");
// ->join('proker_programs', 'proker_programs.id', '=', 'proker_sub_kegiatans.proker_program_id')
// ->join('prokers', 'prokers.id', '=', 'proker_programs.proker_id')
// ->join('opds', 'opds.id', '=', 'prokers.opd_id')
$ProkerSubKegiatanContent = collect($ProkerSubKegiatanContent);
// dd($dataopd);
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]