<?php 
header('Content-Type: application/json');

include "../config/connect.php";

// Ambil tahun dan bulan dari query string, jika tidak ada gunakan tahun dan bulan saat ini
$tahun = date('Y');
$bulan = isset($_GET['m']) ? $_GET['m'] : date('m');
$id = isset($_GET['i']) ? $_GET['i'] : '6258';

// Mengambil data dari database berdasarkan tahun dan bulan
$stmt = $pdo->prepare("SELECT * FROM monitoring_pelanggan WHERE id_pelanggan = :id AND YEAR(waktu) = :tahun AND MONTH(waktu) = :bulan");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->bindParam(':tahun', $tahun);
$stmt->bindParam(':bulan', $bulan);
$stmt->execute();
$monitor = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Memeriksa apakah data ditemukan
if (!empty($monitor)) {
    $status = [];
    $waktu = [];
    
    $status[] = 4;
    $waktu[] = date('Y-'.$bulan.'-01 00:00:01');
    
    $days = date('d') - 1; // Mendapatkan jumlah hari dalam bulan

    // Saya ingin data per harinya ada sesuai dengan status hari sebelumnya
    for ($day = 2; $day <= $days; $day++) {
        $wak = date('Y-'.$bulan.'-'.str_pad($day, 2, '0', STR_PAD_LEFT));
        $found = false;

        foreach ($monitor as $row) {
            if (substr($row['waktu'], 0, 10) == $wak) {
                $status[] = $row['status'];
                $waktu[] = $row['waktu'];
                $found = true;
                // break;
            }
        }

        if (!$found) {
            $status[] = 4; // Status default
            $waktu[] = $wak . ' 00:00:00'; // Waktu default
            $status[] = 4; // Status default
            $waktu[] = $wak . ' 09:00:00'; // Waktu default
            $status[] = 4; // Status default
            $waktu[] = $wak . ' 18:00:00'; // Waktu default
        }
    }

    // Tambahkan status dan waktu saat ini
    $status[] = 4; // Menambahkan status sekarang
    if (date('m') == $bulan) {
        $waktu[] = date('Y-m-d H:i:s'); // Menambahkan waktu saat ini
    } else {
        $date = new DateTime('last day of previous month');
        $waktu[] = $date->format('Y-m-d 00:00:00');
    }

    // Mengisi data ke dalam array hasil
    $data = [
        'status' => $status,
        'waktu' => $waktu,
    ];
} else {
    // Jika tidak ada data ditemukan
    $d1 = date('Y-'.$bulan.'-01 00:00:01');
    $d2 = date('Y-'.$bulan.'-t H:i:s'); // Menggunakan 't' untuk hari terakhir dalam bulan
    $data = [
        'status' => [4, 4],
        'waktu' => [$d1, $d2],
    ];
}

// Mengirimkan data sebagai JSON
echo json_encode($data);
?>
