<?php

namespace App\Models;

use CodeIgniter\Model;

class TransaksiModel extends Model
{
    protected $table            = 'transaksi_penebusan';
    protected $primaryKey       = 'id_transaksi';
    protected $useAutoIncrement = true;

    protected $allowedFields    = [
        'no_invoice',
        'id_petani',
        'id_pupuk',
        'jumlah_beli',
        'total_bayar',
        'tanggal_transaksi'
    ];

    public function laporan_distribusi()
    {
        // Menggunakan Query Builder untuk Join Tabel Transaksi, Petani, dan Pupuk
        $builder = $this->db->table('transaksi_penebusan');
        $builder->select('transaksi_penebusan.*, petani.nama_petani, pupuk.nama_pupuk');
        $builder->join('petani', 'petani.id_petani = transaksi_penebusan.id_petani');
        $builder->join('pupuk', 'pupuk.id_pupuk = transaksi_penebusan.id_pupuk');
        $builder->orderBy('transaksi_penebusan.tanggal_transaksi', 'DESC');
        $distribusi = $builder->get()->getResultArray();

        // Menghitung total tonase per jenis pupuk
        $rekap_pupuk = $this->db->table('transaksi_penebusan')
            ->select('pupuk.nama_pupuk, SUM(transaksi_penebusan.jumlah_beli) as total_kg')
            ->join('pupuk', 'pupuk.id_pupuk = transaksi_penebusan.id_pupuk')
            ->groupBy('transaksi_penebusan.id_pupuk')
            ->get()->getResultArray();

        $data = [
            'title'       => 'Laporan Distribusi Pupuk Subsidi',
            'distribusi'  => $distribusi,
            'rekap_pupuk' => $rekap_pupuk
        ];

        return view('transaksi/laporan', $data);
    }
}
