39 lines
1.4 KiB
PHP
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);
|
|
}
|