Files
simak/app/reset_akumulasi.php
2025-10-10 09:25:05 +07:00

24 lines
894 B
PHP

<?php
/* Cek apakah sudah memiliki data pelunasan */
$cek=pg_query("SELECT p.sub_kegiatan_id
FROM pekerjaan p
INNER JOIN vr_realisasi r ON (p.id=r.pekerjaan_id)
INNER JOIN vr_pelunasan l ON (r.id=l.vr_realisasi_id)
WHERE l.id=$id");
while($rcek=pg_fetch_array($cek)) {$sub_kegiatan_id=$rcek[0];}
/* re-seting akumulasi NPD */
pg_query("UPDATE vr_pelunasan c
SET akumulasi_npd = c2.cum_amt
FROM
(
SELECT c2.id_npd,c2.akumulasi_npd,c2.nilai_pelunasan,c2.status_npd,c2.id,
CASE WHEN c2.status_npd IS NULL THEN NULL ELSE
sum(c2.nilai_pelunasan) OVER (PARTITION BY p2.sub_kegiatan_id ORDER BY COALESCE(c2.id_npd,0))-c2.nilai_pelunasan END AS cum_amt
FROM vr_pelunasan c2
INNER JOIN vr_realisasi r2 ON (r2.id=c2.vr_realisasi_id)
INNER JOIN pekerjaan p2 ON (p2.id=r2.pekerjaan_id)
WHERE p2.sub_kegiatan_id=$sub_kegiatan_id AND c2.npdman='x'
) c2
WHERE c2.id = c.id");
?>