Files
manjapro_v6/load/cronjob/update_summary_tran_agen.php
2025-09-21 21:40:17 +07:00

39 lines
1.4 KiB
PHP

<?php
include "/www/wwwroot/bilspro/config/connect.php";
try {
// Update / replace summary table
$sql = "
REPLACE INTO summary_transaksi_agen_bulanan
SELECT
a.id_agen_voucher AS id_agen_voucher,
a.id_data_server AS id_data_server,
SUBSTR(a.generate_time, 1, 7) AS generate_time,
SUM(a.debet) AS debet,
SUM(a.kredit) AS kredit,
(SUM(COALESCE(a.kredit, 0)) - SUM(COALESCE(a.debet, 0))) AS saldo,
COUNT(DISTINCT (CASE WHEN (a.kredit IS NOT NULL) THEN a.id END)) AS jumlah_voucher,
COUNT(DISTINCT (CASE WHEN (c.active_time IS NULL) THEN c.id END)) AS jumlah_voucher_belum_aktif,
COUNT(DISTINCT (CASE WHEN (c.expaired_time > NOW()) THEN c.id END)) AS jumlah_voucher_aktif,
COUNT(DISTINCT (CASE WHEN (c.expaired_time < NOW()) THEN c.id END)) AS jumlah_voucher_expaired
FROM
transaksi_agen_voucher a
JOIN agen_voucher b ON (a.id_agen_voucher = b.id)
LEFT JOIN ganerate_voucher c ON (a.id_ganerate_voucher = c.id)
WHERE
b.jenis_agen = 'Pascabayar'
AND a.generate_time < DATE_FORMAT(CURDATE(), '%Y-%m-01')
GROUP BY
SUBSTR(a.generate_time, 1, 7),
a.id_agen_voucher
";
$affected = $pdo->exec($sql);
echo date('Y-m-d H:i:s') . " ✅ Summary updated, rows affected: {$affected}\n";
} catch (PDOException $e) {
echo date('Y-m-d H:i:s') . " ❌ Error: " . $e->getMessage() . "\n";
exit(1);
}