<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Slide_sidang_m extends CI_Model{
	function getJadwalSidang($alurPerkara,$tanggalSidang){
		try {
			$query = "SELECT
				perkara.perkara_id AS IDPerkara,
				perkara.alur_perkara_id AS IDAlurPerkara,
				perkara.nomor_perkara AS noPerkara,
				jadwalSidang.ruangan AS ruangSidang, 
				CONCAT(jadwalSidang.jam_sidang,' ', (SELECT VALUE FROM sys_config WHERE id = 75)) AS jamSidang, 
				jadwalSidang.agenda AS agendaSidang,
				IF(pj.pangkat IS NOT NULL, CONCAT(COALESCE(pj.pangkat,''),' ',perkara.pihak1_text), perkara.pihak1_text) AS pihak1,
				IF(pp2.pangkat IS NOT NULL, CONCAT(COALESCE(pp2.pangkat,''),' ',perkara.pihak2_text), perkara.pihak2_text) AS pihak2,
				(SELECT IF(COUNT(perkara_pihak1.id)>1,CONCAT(perkara_pihak1.nama,',','dkk'),perkara_pihak1.nama)
					FROM perkara_pihak1					
					WHERE perkara_pihak1.perkara_id=perkara.perkara_id) AS penggugat,
				(SELECT IF(COUNT(perkara_pihak2.id)>1,CONCAT(perkara_pihak2.nama,',','dkk'),perkara_pihak2.nama)
					FROM perkara_pihak2
					WHERE perkara_pihak2.perkara_id=perkara.perkara_id) AS tergugat,
				(SELECT IF(COUNT(perkara_pihak4.id)>1,CONCAT(perkara_pihak4.nama,',','dkk'),perkara_pihak4.nama)
					FROM perkara_pihak4
					WHERE perkara_pihak4.perkara_id=perkara.perkara_id) AS turut_tergugat,
				(SELECT GROUP_CONCAT(IF (hakim_pn.pangkat = '0', hakim_pn.nama_gelar, CONCAT(perkara_hakim_pn.jabatan_hakim_nama,': ', CONCAT(hakim_pn.pangkat,' ', hakim_pn.nama_gelar))) SEPARATOR '<br/>')
					FROM perkara_hakim_pn
					LEFT JOIN hakim_pn ON hakim_pn.id=perkara_hakim_pn.hakim_id
					WHERE perkara_hakim_pn.perkara_id=perkara.perkara_id AND perkara_hakim_pn.aktif = 'Y'
					ORDER BY perkara_hakim_pn.urutan ASC) AS namaHakim,
				(SELECT GROUP_CONCAT(IF (panitera_pn.pangkat = '0', panitera_pn.nama_gelar, CONCAT(panitera_pn.pangkat,' ', panitera_pn.nama_gelar)) SEPARATOR '<br/>')
					FROM perkara_panitera_pn
					LEFT JOIN panitera_pn ON panitera_pn.id=perkara_panitera_pn.panitera_id
					WHERE perkara_panitera_pn.perkara_id=perkara.perkara_id AND perkara_panitera_pn.aktif = 'Y'
					ORDER BY perkara_panitera_pn.urutan ASC) AS namaPanitera
				FROM perkara_jadwal_sidang AS jadwalSidang
				LEFT JOIN perkara ON perkara.perkara_id=jadwalSidang.perkara_id 
				LEFT JOIN perkara_pihak1 AS pp1 ON perkara.perkara_id = pp1.perkara_id 
				LEFT JOIN pihak_jaksa AS pj ON pp1.pihak_id = pj.pihak_id 
				LEFT JOIN perkara_pihak2 AS pp2 ON perkara.perkara_id = pp2.perkara_id 
				WHERE jadwalSidang.tanggal_sidang='".$tanggalSidang."'";
			if($alurPerkara==1){
				$query .= "AND perkara.alur_perkara_id >= '111' AND perkara.alur_perkara_id <> '114' GROUP BY IDPerkara ORDER BY jadwalSidang.jam_sidang ASC;";
			} else {
				$query .= "AND perkara.alur_perkara_id <= '100' GROUP BY IDPerkara ORDER BY jadwalSidang.jam_sidang ASC;";
			}
			$sql=$this->db->query($query);
			return $sql;
		} catch (Exception $e) {
			log_message('error', $e);
		}
	}

	/*function getJadwalSidang($alurPerkara,$tanggalSidang){
		try {
			$query = "SELECT
				perkara.perkara_id AS IDPerkara,
				perkara.nomor_perkara AS noPerkara,
				jadwalSidang.ruangan AS ruangSidang, 
				jadwalSidang.agenda AS agendaSidang,
				perkara.pihak1_text AS pihak1,
				perkara.pihak2_text AS pihak2,
				perkara.para_pihak AS paraPihak,
				(SELECT GROUP_CONCAT(CONCAT(perkara_hakim_pn.jabatan_hakim_nama,': ',hakim_pn.nama_gelar) SEPARATOR '<br/>')
					FROM perkara_hakim_pn
					LEFT JOIN hakim_pn ON hakim_pn.id=perkara_hakim_pn.hakim_id
					WHERE perkara_hakim_pn.perkara_id=perkara.perkara_id AND perkara_hakim_pn.aktif = 'Y'
					ORDER BY perkara_hakim_pn.urutan ASC) AS namaHakim,
				(SELECT GROUP_CONCAT(panitera_pn.nama_gelar SEPARATOR '<br/>')
					FROM perkara_panitera_pn
					LEFT JOIN panitera_pn ON panitera_pn.id=perkara_panitera_pn.panitera_id
					WHERE perkara_panitera_pn.perkara_id=perkara.perkara_id AND perkara_panitera_pn.aktif = 'Y'
					ORDER BY perkara_panitera_pn.urutan ASC) AS namaPanitera
				FROM perkara_jadwal_sidang AS jadwalSidang
				LEFT JOIN perkara ON perkara.perkara_id=jadwalSidang.perkara_id
				WHERE jadwalSidang.tanggal_sidang='".$tanggalSidang."' ";
			if($alurPerkara==1){
				$query .= "AND perkara.alur_perkara_id >= '111' AND perkara.alur_perkara_id <> '114'";
			} else {
				$query .= "AND perkara.alur_perkara_id <= '100'";
			}
			$sql=$this->db->query($query);
			return $sql;
		} catch (Exception $e) {
			log_message('error', $e);
		}
	}*/

	function getJadwalPersiapan($tanggalSidang){
		try {
			$query =
					"
					SELECT
					perkara.perkara_id AS IDPerkara,
					perkara.nomor_perkara AS noPerkara,
					jadwalSidang.agenda_musyawarah AS agendaSidang,
					perkara.pihak1_text AS pihak1,
					perkara.pihak2_text AS pihak2,
					perkara.para_pihak AS paraPihak,
					(SELECT GROUP_CONCAT(CONCAT(perkara_hakim_pn.jabatan_hakim_nama,': ',hakim_pn.nama_gelar) SEPARATOR '<br/>')
						FROM perkara_hakim_pn
						LEFT JOIN hakim_pn ON hakim_pn.id=perkara_hakim_pn.hakim_id
						WHERE perkara_hakim_pn.perkara_id=perkara.perkara_id AND perkara_hakim_pn.aktif = 'Y'
						ORDER BY perkara_hakim_pn.urutan ASC) AS namaHakim,
					(SELECT GROUP_CONCAT(panitera_pn.nama_gelar SEPARATOR '<br/>')
						FROM perkara_panitera_pn
						LEFT JOIN panitera_pn ON panitera_pn.id=perkara_panitera_pn.panitera_id
						WHERE perkara_panitera_pn.perkara_id=perkara.perkara_id AND perkara_panitera_pn.aktif = 'Y'
						ORDER BY perkara_panitera_pn.urutan ASC) AS namaPanitera
					FROM perkara_persiapan_proses AS jadwalSidang
					LEFT JOIN perkara ON perkara.perkara_id=jadwalSidang.perkara_id
					WHERE jadwalSidang.tanggal_musyawarah='".$tanggalSidang."' 
					";
			$sql=$this->db->query($query);
			return $sql;
			echo json_encode($sql);
		} catch (Exception $e) {
			log_message('error', $e);
		}
	}

	function getNamaPN(){
		try {
			$sql=$this->db->query("SELECT value AS namaPN FROM sys_config WHERE NAME='NamaPN'");
			return $sql->result();
		} catch (Exception $e) {
			log_message('error', $e);
		}
	}

	function getSystemInfo(){
		try {
            if($this->db=='xxx'){
                show_error('Database belum disetting.');
            }
			$this->db->select('*');
			$this->db->where('id >=', 61); 
			return $this->db->get('sys_config');
		} catch (Exception $e) {
			log_message('error', $e);
		}
	}
}
?>