<?php

namespace App\Controllers;

class Home extends BaseController
{
    // PORTAL PUBLIK: Bebas diakses petani tanpa login
    public function index()
    {
        $db = \Config\Database::connect();

        // 1. Ambil 5 log data kiriman pasokan pupuk masuk terbaru
        $pupukMasuk = $db->table('pupuk_masuk')
                         ->select('pupuk_masuk.*, pupuk.nama_pupuk, pupuk.kode_pupuk')
                         ->join('pupuk', 'pupuk.id_pupuk = pupuk_masuk.id_pupuk')
                         ->orderBy('pupuk_masuk.tanggal_masuk', 'DESC')
                         ->limit(5)
                         ->get()->getResultArray();

        // 2. Hitung Pupuk Terlaris (Paling Banyak Ditebus Petani)
        $terlarisRow = $db->table('transaksi_penebusan')
                          ->select('pupuk.nama_pupuk, SUM(transaksi_penebusan.jumlah_beli) as total_keluar')
                          ->join('pupuk', 'pupuk.id_pupuk = transaksi_penebusan.id_pupuk')
                          ->groupBy('transaksi_penebusan.id_pupuk')
                          ->orderBy('total_keluar', 'DESC')
                          ->get()->getRowArray();

        $terlaris = [
            'nama_pupuk' => $terlarisRow['nama_pupuk'] ?? '-',
            'jumlah'     => $terlarisRow['total_keluar'] ?? 0
        ];

        // 3. Fitur Cek Mandiri Alokasi Kuota e-RDKK via GET NIK
        $nikQuery = $this->request->getGet('nik');
        $alokasiData = null;

        if (!empty($nikQuery)) {
            $namaTabel = 'alokasi_kuota'; 

            $alokasiData = $db->table($namaTabel)
                              ->select($namaTabel . '.*, petani.nama_petani, petani.nik, pupuk.nama_pupuk')
                              ->join('petani', 'petani.id_petani = ' . $namaTabel . '.id_petani')
                              ->join('pupuk', 'pupuk.id_pupuk = ' . $namaTabel . '.id_pupuk')
                              ->where('petani.nik', $nikQuery)
                              ->get()->getResultArray();
        }

        $data = [
            'title'       => 'Portal Informasi SIM Sari Rasa - Desa Trahean',
            'pupuk_masuk' => $pupukMasuk,
            'terlaris'    => $terlaris,
            'alokasi'     => $alokasiData,
            'nik'         => $nikQuery
        ];

        return view('public/landing_page', $data);
    }

    // INTERNAL DASHBOARD: Wajib login petugas
    public function dashboard()
    {
        $db = \Config\Database::connect();

        $totalPetani = $db->table('petani')->countAllResults();
        $totalStok   = $db->table('pupuk')->selectSum('stok_global')->get()->getRow()->stok_global ?? 0;
        $kasTerakhir = $db->table('keuangan')->orderBy('id_kas', 'DESC')->get()->getRowArray();
        $saldoKas    = $kasTerakhir ? $kasTerakhir['saldo_akhir'] : 0;

        $data = [
            'title'        => 'Dashboard Manajemen Sistem',
            'total_petani' => $totalPetani,
            'total_stok'   => $totalStok,
            'saldo_kas'    => $saldoKas
        ];

        return view('dashboard', $data);
        // Jika file dashboard lama Anda berada langsung di app/Views/index.php, ubah menjadi return view('index', $data);
    }
}