Update Banyak
This commit is contained in:
+29
-12
@@ -14,6 +14,7 @@ try {
|
||||
$length = intval($_GET['length'] ?? 10);
|
||||
$searchValue = $_GET['search']['value'] ?? '';
|
||||
$svid = $_GET['i'] ?? '';
|
||||
$statusFilter = $_GET['s'] ?? '';
|
||||
|
||||
// Kolom yang bisa diurutkan
|
||||
$columns = ['nama_server', 'voucher', 'harga', 'status', 'create_time', 'active_time', 'expaired_time'];
|
||||
@@ -22,14 +23,14 @@ try {
|
||||
$orderColumn = $columns[$orderColumnIndex] ?? 'create_time';
|
||||
|
||||
// Kondisi dasar (statis)
|
||||
$baseCondition = "id_data_server IN (".$svid.")";
|
||||
$baseCondition = "id_data_server IN (".$svid.") AND status = '" . $statusFilter . "'";
|
||||
|
||||
// Hitung total data
|
||||
$totalQuery = $pdo->query("SELECT COUNT(*) FROM v_generate_voucher_manual WHERE $baseCondition");
|
||||
$totalRecords = $totalQuery->fetchColumn();
|
||||
|
||||
// Query data + search
|
||||
$sql = "SELECT nama_server, nama_mikrotik, create_time, voucher, harga, jenis, active_time, expaired_time
|
||||
$sql = "SELECT *
|
||||
FROM v_generate_voucher_manual
|
||||
WHERE $baseCondition";
|
||||
$params = [];
|
||||
@@ -49,7 +50,7 @@ try {
|
||||
|
||||
// Hitung total setelah filter
|
||||
$filteredSql = str_replace(
|
||||
"SELECT nama_server, nama_mikrotik, create_time, voucher, harga, jenis, active_time, expaired_time",
|
||||
"SELECT *",
|
||||
"SELECT COUNT(*)",
|
||||
$sql
|
||||
);
|
||||
@@ -75,23 +76,39 @@ try {
|
||||
$data = [];
|
||||
foreach ($rows as $row) {
|
||||
$harga = floatval($row['harga']);
|
||||
if ($row['jenis'] === 'api-pw') {
|
||||
if (($row['jenis'] === 'api-pw' || $row['jenis'] === 'rad-api-pw') && $row['status'] == 'LUNAS') {
|
||||
$biaya = $harga * $potongan;
|
||||
$active = $row['active_time'];
|
||||
$expired = $row['expaired_time'];
|
||||
$saldo = $harga - $biaya;
|
||||
} else {
|
||||
$biaya = 0; // Tidak ada biaya jika bukan sv-radius
|
||||
if (($row['jenis'] != 'api-pw' || $row['jenis'] != 'rad-api-pw') && $row['status'] == NULL) {
|
||||
$biaya = 0; // Tidak ada biaya jika bukan sv-radius
|
||||
$active = $row['active_time'];
|
||||
$expired = $row['expaired_time'];
|
||||
$saldo = 0;
|
||||
} else {
|
||||
$biaya = 0; // Tidak ada biaya jika bukan sv-radius
|
||||
$active = "";
|
||||
$expired = "";
|
||||
$saldo = 0;
|
||||
}
|
||||
}
|
||||
$saldo = $harga - $biaya;
|
||||
|
||||
|
||||
$data[] = [
|
||||
$row['nama_server'] . '<br>' . $row['nama_mikrotik'],
|
||||
$row['voucher'],
|
||||
number_format($harga), // harga
|
||||
number_format($biaya), // biaya
|
||||
number_format($saldo), // saldo
|
||||
$row['jenis'],
|
||||
number_format((float)$harga, 0, ',', '.'),
|
||||
number_format((float)$biaya, 0, ',', '.'),
|
||||
number_format((float)$saldo, 0, ',', '.'),
|
||||
// number_format($harga), // harga
|
||||
// number_format($biaya), // biaya
|
||||
// number_format($saldo), // saldo
|
||||
$row['jenis'] . '<br>' . $row['status'],
|
||||
$row['create_time'],
|
||||
$row['active_time'],
|
||||
$row['expaired_time'],
|
||||
$active,
|
||||
$expired,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user