Files
Antrean-Reguler/application/models/m_klinik.php
2025-05-14 12:02:52 +07:00

224 lines
8.3 KiB
PHP

<?php
class M_klinik extends CI_Model {
function index() {
$this->db->order_by('mk_nama', 'asc');
$query = $this->db->get('master_klinik');
return $query->result();
}
function klinikasc(){
$this->db->order_by("mk_nama", "asc");
$query = $this->db->get('master_klinik');
return $query->result();
}
function insert() {
$datjadwal="";
$setautoshift="";
$waktu="";
if($this->input->post('autoshift')=="on"){$setautoshift="1";}else{ $setautoshift="0";}
if(isset($_POST['senin'])){$datjadwal = $datjadwal."senin|";}
if(isset($_POST['selasa'])){$datjadwal = $datjadwal."selasa|";}
if(isset($_POST['rabu'])){$datjadwal = $datjadwal."rabu|";}
if(isset($_POST['kamis'])){$datjadwal = $datjadwal."kamis|";}
if(isset($_POST['jumat'])){$datjadwal = $datjadwal."jumat|";}
if(isset($_POST['jam'])){
$jam = $_POST['jam'];
$menit = $_POST['menit'];
$count = count($jam);
for($i=0;$i<$count;$i++){
$waktu = $waktu.$jam[$i].":".$menit[$i]."|";
}
}
$insert_klinik = array(
'mk_nama' => $this->input->post('nama'),
'mk_kode' => $this->input->post('kode'),
'mk_shift' => $this->input->post('shift'),
//'mk_menit' => $this->input->post('menit'),
'mk_quota' => $this->input->post('quota'),
'mk_quota_bangku' => $this->input->post('quotabangku'),
//'mk_status_shift' => $this->input->post('statusshift'),
//'mk_aktif' => $this->input->post('aktif'),
'mk_jadwal' => $datjadwal,
'mk_auto_shift' => $setautoshift,
'mk_jam_shift' => $waktu,
);
$insert = $this->db->insert('master_klinik', $insert_klinik);
}
function edit($id) {
$this->db->where('mk_id', $id);
$query = $this->db->get('master_klinik');
return $query;
}
function prosesedit() {
$datjadwal="";
$setautoshift="";
if($this->input->post('autoshift')=="on"){$setautoshift="1";}else{ $setautoshift="0";}
if(isset($_POST['senin'])){$datjadwal = $datjadwal."senin|";}
if(isset($_POST['selasa'])){$datjadwal = $datjadwal."selasa|";}
if(isset($_POST['rabu'])){$datjadwal = $datjadwal."rabu|";}
if(isset($_POST['kamis'])){$datjadwal = $datjadwal."kamis|";}
if(isset($_POST['jumat'])){$datjadwal = $datjadwal."jumat|";}
if(isset($_POST['jam'])){
$jam = $_POST['jam'];
$menit = $_POST['menit'];
$count = count($jam);
for($i=0;$i<$count;$i++){
$waktu = $waktu.$jam[$i].":".$menit[$i]."|";
}
}
$update_klinik = array(
'mk_nama' => $this->input->post('nama'),
'mk_kode' => $this->input->post('kode'),
'mk_shift' => $this->input->post('shift'),
'mk_menit' => 0,
'mk_quota' => $this->input->post('quota'),
'mk_quota_bangku' => $this->input->post('quotabangku'),
//'mk_status_shift' => $this->input->post('statusshift'),
//'mk_aktif' => $this->input->post('aktif'),
'mk_jadwal' => $datjadwal,
'mk_auto_shift' => $setautoshift,
'mk_jam_shift' => $waktu,
);
$id = $this->input->post('id');
$this->db->where('mk_id', $id);
$this->db->update('master_klinik', $update_klinik);
}
function view($id) {
$this->db->where('mk_id', $id);
$query = $this->db->get('master_klinik');
return $query;
}
function delete($id) {
$this->db->where('mk_id', $id);
$this->db->delete('master_klinik');
}
//-------------------------------------Klinik Admin--------------------------------//
function pengunjungklinik($klinik) {
$this->db->order_by('pp_fasttrack', 'desc');
$this->db->order_by('pp_konsul', 'desc');
$this->db->join('proses_pengunjung', 'pp_id = prt_pengunjung_id', 'left');
$this->db->join('master_klinik', 'mk_id = pp_klinik_id', 'left');
$this->db->where('pp_tanggal_periksa', date('Y-m-d'));
$this->db->where('prt_aktif ', '0');
$this->db->where('prt_status >=', '5');
$this->db->where('prt_status <=', '8');
$this->db->where('pp_klinik_id', $klinik);
$this->db->order_by('pp_nomor_antrian_klinik', 'asc');
$query = $this->db->get('proses_ruang_tunggu');
return $query->result();
}
function infopengunjung($idklinik){
$this->db->join('proses_pengunjung', 'pp_id = prt_pengunjung_id', 'left');
$this->db->where('pp_tanggal_periksa', date('Y-m-d'));
$this->db->where('prt_aktif ', '0');
$this->db->where('pp_klinik_id ', $idklinik);
$this->db->where('prt_status =', '4');
$query = $this->db->get('proses_ruang_tunggu');
return $query->result();
}
function panggil($jumlah,$klinik){
$this->db->join('proses_pengunjung', 'pp_id = prt_pengunjung_id', 'left');
$this->db->where('pp_tanggal_periksa', date('Y-m-d'));
$this->db->where('prt_aktif ', '0');
$this->db->where('prt_status', '4');
$this->db->where('pp_klinik_id', $klinik);
$prt = $this->db->get('proses_ruang_tunggu');
$nomor=1;
foreach ($prt->result() as $datpengunjung){
if($nomor<=$jumlah){$nomor++;
$update_prt = array(
'prt_status' => 5,
);
$this->db->where('prt_id', $datpengunjung->prt_id);
$this->db->update('proses_ruang_tunggu', $update_prt);
}
}
}
function proses($pengunjung,$kode){
$update_rt = array(
'prt_status' => $kode,
);
$this->db->where('prt_id', $pengunjung);
$this->db->update('proses_ruang_tunggu', $update_rt);
}
function ubahklinik(){
$update_pp = array(
'pp_klinik_id' => $this->input->post('klinik'),
'pp_konsul' => null,
);
$this->db->where('pp_id', $this->input->post('idpengunjung'));
$this->db->update('proses_pengunjung', $update_pp);
$update_prt = array(
'prt_status' =>5,
);
$this->db->where('prt_id', $this->input->post('idprt'));
$this->db->update('proses_ruang_tunggu', $update_prt);
}
function konsul(){
$update_pp = array(
'pp_klinik_id' => $this->input->post('klinik'),
'pp_konsul' => 1,
);
$this->db->where('pp_id', $this->input->post('idpengunjung'));
$this->db->update('proses_pengunjung', $update_pp);
$update_prt = array(
'prt_status' => 7,
);
$this->db->where('prt_id', $this->input->post('idprt'));
$this->db->update('proses_ruang_tunggu', $update_prt);
}
function autoshift($klinik,$kode){
$update_autoshift = array(
'mk_auto_shift' => $kode,
);
$this->db->where('mk_id', $klinik);
$this->db->update('master_klinik', $update_autoshift);
}
function datapengunjung($idklinik){
$this->db->join('proses_ruang_tunggu', 'prt_pengunjung_id = pp_id', 'left');
$this->db->join('master_klinik', 'mk_id = pp_klinik_id');
$this->db->order_by('prt_tanggal', 'asc');
$this->db->where('pp_tanggal_periksa', date("Y-m-d"));
$this->db->where('pp_klinik_id', $idklinik);
$query = $this->db->get('proses_pengunjung');
return $query->result();
}
function aktif($idprt){
$update_prt = array(
'prt_status' => '7',
);
$this->db->where('prt_id', $idprt);
$this->db->update('proses_ruang_tunggu', $update_prt);
}
}
?>