<?php
class M_pengunjung extends CI_Model
{
	function list_data($id_pelayanan="", $bulan="", $tahun="")
	{
		$q = "SELECT p.id, p.tanggal, p.id_pasien, p.id_pelayanan, p.keterangan, p.umur_bulan, p.created_at, p.updated_at, 
			ps.nama nama_pasien, pl.nama nama_pelayanan 
			FROM pengunjung p
			LEFT JOIN pasien ps ON p.id_pasien = ps.id
			LEFT JOIN pelayanan pl ON p.id_pelayanan = pl.id  
			WHERE p.id is not null 
		";

		if ($id_pelayanan != "") {
			$q .= " AND p.id_pelayanan = '$id_pelayanan' ";
		}
		if ($bulan!="") {
			$q .= " AND MONTH(p.tanggal) = '$bulan' ";
		}
		if ($tahun!="") {
			$q .= " AND YEAR(p.tanggal) = '$tahun' ";
		}
		$q .= " ORDER BY p.created_at DESC ";

		$query = $this->db->query($q);
		return $query;
	}

	function get_detail($id)
	{
		$query = $this->db->query("
			SELECT p.id, p.tanggal, p.id_pasien, p.id_pelayanan, p.keterangan, p.umur_bulan, p.created_at, p.updated_at, 
			ps.nama nama_pasien, pl.nama nama_pelayanan 
			FROM pengunjung p
			LEFT JOIN pasien ps ON p.id_pasien = ps.id
			LEFT JOIN pelayanan pl ON p.id_pelayanan = pl.id
			WHERE p.id='$id'
		");
		return $query;
	}

	function get_rekap_pengunjung($id_pelayanan)
	{
		$q = "SELECT DATE_FORMAT(tanggal, '%m-%Y') bulan, COUNT(*) jumlah FROM pengunjung
		WHERE tanggal IS NOT NULL ";
		if ($id_pelayanan != "") {
			$q .= " AND id_pelayanan = '$id_pelayanan' ";
		}

		$q .= " GROUP BY DATE_FORMAT(tanggal, '%m-%Y'), YEAR(tanggal), MONTH(tanggal)
		ORDER BY YEAR(tanggal), MONTH(tanggal) ";

		$query = $this->db->query($q);
		return $query;
	}

  function get_rekap_total_pengunjung()
	{
		$q = "SELECT bulan, COUNT(*) jumlah FROM (
        SELECT DATE_FORMAT(tanggal, '%m-%Y') bulan, MONTH(tanggal) bln, YEAR(tanggal) thn, id_pasien FROM pengunjung
        WHERE tanggal IS NOT NULL
        GROUP BY DATE_FORMAT(tanggal, '%m-%Y'), MONTH(tanggal), YEAR(tanggal), id_pasien
      )x
      GROUP BY bulan
      ORDER BY thn, bln ";

		$query = $this->db->query($q);
		return $query;
	}

	function tgl_kunjungan($id_pelayanan='', $order='asc')
	{
		$q = "SELECT tanggal FROM pengunjung ";
		if ($id_pelayanan != "") {
			$q .= " where id_pelayanan='$id_pelayanan' ";
		}
		$q .= " order by tanggal $order ";

		$query = $this->db->query($q);
		return $query;
	}

	function get_tahun()
	{
		$query = $this->db->query("
			select YEAR(tanggal) tahun from pengunjung
			group by YEAR(tanggal)
			order by YEAR(tanggal) asc
		");
		return $query;
	}

	function insert($data, $table)
	{
		$this->db->insert($table, $data);
	}

	function delete($where, $table)
	{
		$this->db->where($where);
		$this->db->delete($table);
	}

	function edit($where, $table)
	{
		return $this->db->get_where($table, $where);
	}

	function update($where, $data, $table)
	{
		$this->db->where($where);
		$this->db->update($table, $data);
	}
}
