<?php

namespace App\Models;

use CodeIgniter\Model;

class ModelResepObat extends Model
{
    protected $table            = 'resep_obat';
    protected $primaryKey       = 'id_resep';
    protected $allowedFields    = ['id_rekam_medis', 'tanggal_resep', 'catatan'];

    // Mengambil semua resep dengan data rekam medis jika perlu
    public function getAll()
    {
        return $this->db->table('resep_obat')
            ->select('resep_obat.*, pasien.nama_lengkap')
            ->join('rekam_medis', 'rekam_medis.id_rekam_medis = resep_obat.id_rekam_medis')
            ->join('kunjungan', 'kunjungan.id_kunjungan = rekam_medis.id_kunjungan')
            ->join('pasien', 'pasien.id_pasien = kunjungan.id_pasien')
            ->orderBy('resep_obat.tanggal_resep', 'DESC')
            ->get()->getResultArray();
    }

    public function getById($id)
    {
        return $this->where('id_resep', $id)->first();
    }

    public function tambahData($data)
    {
        return $this->insert($data);
    }

    public function updateData($id, $data)
    {
        return $this->update($id, $data);
    }

    public function deleteData($id)
    {
        return $this->delete($id);
    }

    public function getDetailByKunjungan($id_kunjungan)
    {
        return $this->db->table('resep_obat')
            ->select('resep_obat_detail.*, obat.nama_obat, obat.harga')
            ->join('rekam_medis', 'rekam_medis.id_rekam_medis = resep_obat.id_rekam_medis')
            ->join('resep_obat_detail', 'resep_obat_detail.id_resep = resep_obat.id_resep')
            ->join('obat', 'obat.id_obat = resep_obat_detail.id_obat')
            ->where('rekam_medis.id_kunjungan', $id_kunjungan)
            ->get()->getResultArray();
    }
}
