[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
models
/
akademik
/
[
Home
]
File: Presensisiswa_model.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Presensisiswa_model extends CI_Model{ public $database = 'duakademik'; public $table = 'presensi_siswa'; function __construct(){ parent::__construct(); } function save($data){ $this->db->insert($this->database.'.'.$this->table, $data); } function delete($id){ $this->db->where('id', $id) ->delete($this->database.'.'.$this->table); } function delete_by_presensi_siswa($id_presensi, $id_siswa){ $this->db->where('(id_presensi='.$id_presensi.' AND id_siswa='.$id_siswa.')') ->delete($this->database.'.'.$this->table); } function delete_by_presensi_kelas($id_presensi, $id_kelas){ $this->db->where('(id_presensi='.$id_presensi.' AND id_kelas='.$id_kelas.')') ->delete($this->database.'.'.$this->table); } function update($data, $id){ $this->db->where('id', $id) ->update($this->database.'.'.$this->table, $data); } function cek_presensisiswa_by_idpresensi($idpresensi){ $this->db->select('COUNT(*) AS hasil') ->from($this->database.'.'.$this->table) ->where('id_presensi', $idpresensi); return $this->db->get(); } function cek_presensisiswa_by_idpresensi_siswa($id_presensi, $id_siswa){ $this->db->select('COUNT(*) AS hasil') ->from($this->database.'.'.$this->table) ->where('id_presensi', $id_presensi) ->where('id_siswa', $id_siswa); return $this->db->get(); } function count_presensi_by_siswa_tanggal($id_siswa, $tglawal, $tglakhir){ $this->db->select('COUNT(CASE WHEN `status`="H" THEN 1 END) AS hadir, COUNT(CASE WHEN `status`="S" THEN 1 END) AS sakit, COUNT(CASE WHEN `status`="I" THEN 1 END) AS ijin, COUNT(CASE WHEN `status`="A" THEN 1 END) AS alpha') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->where('(id_siswa='.$id_siswa.' AND tanggal>="'.$tglawal.'" AND tanggal<="'.$tglakhir.'")'); return $this->db->get(); } function count_presensi_tdk_hadir_by_tanggal($tglawal, $tglakhir){ $this->db->select('presensi_siswa.id_siswa, COUNT(CASE WHEN `status`="S" THEN 1 END) AS sakit, COUNT(CASE WHEN `status`="I" THEN 1 END) AS ijin, COUNT(CASE WHEN `status`="A" THEN 1 END) AS alpha') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->where('(tanggal>="'.$tglawal.'" AND tanggal<="'.$tglakhir.'" AND `status`!="H")') ->group_by('id_siswa') ->order_by('alpha','DESC') ->order_by('ijin','DESC'); return $this->db->get(); } function get_presensi_by_siswa_tanggal_tunggal($id_siswa, $tanggal){ $this->db->select('presensi.tanggal, kelas.kelas, presensi_siswa.*') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->join('duakademik.kelas','presensi_siswa.id_kelas = kelas.id') ->where('(id_siswa="'.$id_siswa.'" AND tanggal="'.$tanggal.'")') ->limit(1); return $this->db->get(); } function get_presensi_by_siswa_tanggal_tunggal_tidakhadir($id_siswa, $tanggal){ $this->db->select('presensi.tanggal, kelas.kelas, presensi_siswa.*') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->join('duakademik.kelas','presensi_siswa.id_kelas = kelas.id') ->where('(id_siswa="'.$id_siswa.'" AND tanggal="'.$tanggal.'" AND status!="H")') ->limit(1); return $this->db->get(); } function get_presensi_by_siswa_tanggal($id_siswa, $tglawal, $tglakhir){ $this->db->select('presensi.tanggal, kelas.kelas, presensi_siswa.*') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->join('duakademik.kelas','presensi_siswa.id_kelas = kelas.id') ->where('(id_siswa="'.$id_siswa.'" AND tanggal>="'.$tglawal.'" AND tanggal<="'.$tglakhir.'")') ->order_by('tanggal','DESC'); return $this->db->get(); } function get_presensi_by_status_tanggal($status, $tglawal, $tglakhir){ if($status=='semua'){ $this->db->select('presensi.tanggal, kelas.kelas, presensi_siswa.*') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->join('duakademik.kelas','presensi_siswa.id_kelas = kelas.id') ->where('(status!="H" AND tanggal>="'.$tglawal.'" AND tanggal<="'.$tglakhir.'")') ->order_by('tanggal','DESC'); }else{ $this->db->select('presensi.tanggal, kelas.kelas, presensi_siswa.*') ->from($this->database.'.'.$this->table) ->join('duakademik.presensi','presensi_siswa.id_presensi = presensi.id') ->join('duakademik.kelas','presensi_siswa.id_kelas = kelas.id') ->where('(status="'.$status.'" AND tanggal>="'.$tglawal.'" AND tanggal<="'.$tglakhir.'")') ->order_by('tanggal','DESC'); } return $this->db->get(); } function get_presensisiswa_by_id($id){ $this->db->select('*') ->from($this->database.'.'.$this->table) ->where('id', $id) ->limit(1); return $this->db->get(); } function get_siswa_by_siswa_presensi($id_siswa, $id_presensi){ $this->db->select('*') ->from($this->database.'.'.$this->table) ->where('(id_siswa='.$id_siswa.' AND id_presensi='.$id_presensi.')') ->limit(1); return $this->db->get(); } function get_siswa_by_kelas_presensi($id_kelas, $id_presensi){ $this->db->select($this->table.'*, siswa.nis, siswa.nama, siswa.kelamin') ->from($this->database.'.'.$this->table) ->join('duakademik.siswa','presensi_siswa.id_siswa = siswa.id') ->where('(id_presensi='.$id_presensi.' AND id_kelas='.$id_kelas.')') ->order_by('nama_siswa', 'ASC'); return $this->db->get(); } }