350 lines
14 KiB
PHP
350 lines
14 KiB
PHP
<?php
|
|
class M_loket extends CI_Model {
|
|
|
|
function index() {
|
|
$query = $this->db->get('master_loket');
|
|
return $query->result();
|
|
}
|
|
|
|
function insert() {
|
|
$datpelayanan = "";
|
|
if(isset($_POST['klinik'])){
|
|
$dataklinik=$this->input->post('klinik');
|
|
$jumlahklinik = count($this->input->post('klinik'));
|
|
for($x = 0; $x <= $jumlahklinik; $x++){
|
|
if(isset($dataklinik[$x])){
|
|
$datpelayanan = $datpelayanan.$dataklinik[$x].",";
|
|
}
|
|
}
|
|
}
|
|
$insert_loket = array(
|
|
'ml_nama' => $this->input->post('nama'),
|
|
'ml_pelayanan' => $datpelayanan,
|
|
'ml_quota_bangku' => $this->input->post('quota'),
|
|
'ml_pembayaran' => $this->input->post('pembayaran'),
|
|
'ml_online' => $this->input->post('online'),
|
|
'ml_statuspelayanan'=> $this->input->post('statuspelayanan'),
|
|
);
|
|
$insert = $this->db->insert('master_loket', $insert_loket);
|
|
}
|
|
|
|
function edit($id) {
|
|
$this->db->where('ml_id', $id);
|
|
$query = $this->db->get('master_loket');
|
|
return $query;
|
|
}
|
|
|
|
function prosesedit() {
|
|
$datpelayanan = "";
|
|
if(isset($_POST['klinik'])){
|
|
$dataklinik=$this->input->post('klinik');
|
|
$jumlahklinik = count($this->input->post('klinik'));
|
|
for($x = 0; $x <= $jumlahklinik; $x++){
|
|
if(isset($dataklinik[$x])){
|
|
$datpelayanan = $datpelayanan.$dataklinik[$x].",";
|
|
}
|
|
}
|
|
}
|
|
$update_loket = array(
|
|
'ml_nama' => $this->input->post('nama'),
|
|
'ml_pelayanan' => $datpelayanan,
|
|
'ml_quota_bangku' => $this->input->post('quota'),
|
|
'ml_pembayaran' => $this->input->post('pembayaran'),
|
|
'ml_online' => $this->input->post('online'),
|
|
'ml_statuspelayanan'=> $this->input->post('statuspelayanan'),
|
|
);
|
|
$id = $this->input->post('id');
|
|
$this->db->where('ml_id', $id);
|
|
$this->db->update('master_loket', $update_loket);
|
|
}
|
|
|
|
function view($id) {
|
|
$this->db->where('ml_id', $id);
|
|
$query = $this->db->get('master_loket');
|
|
return $query;
|
|
}
|
|
|
|
function delete($id) {
|
|
$this->db->where('ml_id', $id);
|
|
$this->db->delete('master_loket');
|
|
}
|
|
|
|
//-------------------------------------Loket Admin--------------------------------//
|
|
|
|
function pengunjung() {
|
|
$this->db->order_by('pp_fasttrack', 'desc');
|
|
$this->db->order_by('pp_tanggal_datang', 'asc');
|
|
$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('pp_loket', $this->session->userdata('s_loket'));
|
|
$this->db->where('prt_aktif ', '0');
|
|
$this->db->where('prt_status <', '5');
|
|
$query = $this->db->get('proses_ruang_tunggu');
|
|
return $query->result();
|
|
}
|
|
|
|
function pengunjungklinik() {
|
|
$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 >', '3');
|
|
$this->db->where('prt_status <', '6');
|
|
$query = $this->db->get('proses_ruang_tunggu');
|
|
return $query->result();
|
|
}
|
|
|
|
function panggil($jumlah){
|
|
$iduser = $this->session->userdata('s_ID_User');
|
|
$dataklinik="";
|
|
$datapembayaran="";
|
|
$this->db->join('master_loket', 'ml_id = mu_loket_id');
|
|
$this->db->where('mu_id', $iduser);
|
|
$user = $this->db->get('master_user');
|
|
foreach ($user->result() as $datuser){
|
|
$dataklinik = $datuser->ml_pelayanan;
|
|
$datapembayaran = $datuser->ml_pembayaran;
|
|
}
|
|
|
|
$klinikpecah = explode(",",$dataklinik);
|
|
//$this->db->join('proses_ruang_tunggu', 'prt_pengunjung_id = pp_id','LEFT');
|
|
$this->db->order_by('pp_tanggal_datang', 'asc');
|
|
$this->db->or_where_in('pp_klinik_id', $klinikpecah);
|
|
$this->db->where('pp_status', null);
|
|
$this->db->where('pp_tanggal_periksa', date('Y-m-d'));
|
|
$this->db->where('pp_pembayaran', $datapembayaran);
|
|
$pengunjung = $this->db->get('proses_pengunjung');
|
|
$nomor=1;
|
|
|
|
$this->db->join('proses_pengunjung', 'pp_id = prt_pengunjung_id');
|
|
$this->db->where('pp_tanggal_periksa', date("Y-m-d"));
|
|
$this->db->where('prt_aktif', 2);
|
|
$rt = $this->db->get('proses_ruang_tunggu');
|
|
foreach ($rt->result() as $datruangtunggu){
|
|
if($nomor<=$jumlah){$nomor++;
|
|
$update_ruangtunggu = array(
|
|
'prt_aktif' => 0,
|
|
);
|
|
$this->db->where('prt_id', $datruangtunggu->prt_id);
|
|
$this->db->update('proses_ruang_tunggu', $update_ruangtunggu);
|
|
|
|
$updatepengunjung = array('pp_status'=> 1,'pp_panggil_anjungan'=> date("Y-m-d H:i:s"));
|
|
$this->db->where('pp_id', $datruangtunggu->pp_id);
|
|
$this->db->update('proses_pengunjung', $updatepengunjung);
|
|
}
|
|
}
|
|
|
|
foreach ($pengunjung->result() as $datpengunjung){
|
|
$this->db->where('mk_id', $datpengunjung->pp_klinik_id);
|
|
$kl = $this->db->get('master_klinik');
|
|
foreach ($kl->result() as $datklinik){
|
|
//-------------cek shift buka----------//
|
|
if($datpengunjung->pp_shift <= $datklinik->mk_shift_buka){
|
|
//echo $datpengunjung->pp_id; echo $nomor;
|
|
if($nomor<=$jumlah){$nomor++;
|
|
|
|
$input_ruangtunggu = array(
|
|
'prt_status' => 0,
|
|
'prt_tanggal' => date("Y-m-d H:i:s"),
|
|
'prt_aktif' => 0,
|
|
'prt_pengunjung_id' => $datpengunjung->pp_id,
|
|
);
|
|
$insert = $this->db->insert('proses_ruang_tunggu', $input_ruangtunggu);
|
|
|
|
$updatepengunjung = array('pp_status'=> 1,'pp_panggil_anjungan'=> date("Y-m-d H:i:s"),'pp_loket'=>$this->session->userdata('s_loket'));
|
|
//$updatepengunjung = array('pp_status'=> 1,'pp_panggil_anjungan'=> date("Y-m-d H:i:s"));
|
|
$this->db->where('pp_id', $datpengunjung->pp_id);
|
|
$this->db->update('proses_pengunjung', $updatepengunjung);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
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 barcode($pengunjung){
|
|
$update_prt = array(
|
|
'prt_status' =>1,
|
|
);
|
|
$this->db->where('prt_id', $pengunjung);
|
|
$this->db->update('proses_ruang_tunggu', $update_prt);
|
|
}
|
|
|
|
function terlambat($pengunjung){
|
|
$update_prt = array(
|
|
'prt_aktif' =>1,
|
|
'prt_status' =>0,
|
|
);
|
|
$this->db->where('prt_id', $pengunjung);
|
|
$this->db->update('proses_ruang_tunggu', $update_prt);
|
|
}
|
|
|
|
function aktif($pengunjung){
|
|
$update_prt = array(
|
|
'prt_aktif' =>0,
|
|
'prt_status' =>1,
|
|
);
|
|
$this->db->where('prt_id', $pengunjung);
|
|
$this->db->update('proses_ruang_tunggu', $update_prt);
|
|
}
|
|
|
|
function infopengunjung(){
|
|
$this->db->join('proses_ruang_tunggu', 'prt_pengunjung_id = pp_id','LEFT');
|
|
$this->db->where('pp_tanggal_periksa', date("Y-m-d"));
|
|
$query = $this->db->get('proses_pengunjung');
|
|
return $query->result();
|
|
}
|
|
|
|
function ubahklinik(){
|
|
$update_pp = array(
|
|
'pp_klinik_id' => $this->input->post('klinik'),
|
|
'pp_pembayaran' => $this->input->post('pembayaran'),
|
|
'pp_loket' => null,
|
|
);
|
|
$this->db->where('pp_id', $this->input->post('idpengunjung'));
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
|
|
$update_prt = array(
|
|
'prt_status' =>1,
|
|
);
|
|
$this->db->where('prt_id', $this->input->post('idprt'));
|
|
$this->db->update('proses_ruang_tunggu', $update_prt);
|
|
|
|
}
|
|
|
|
function kunjunganterlambat(){
|
|
$this->db->join('proses_pengunjung', 'pp_id = prt_pengunjung_id');
|
|
$this->db->join('master_klinik', 'mk_id = pp_klinik_id');
|
|
$this->db->where('pp_tanggal_periksa', date("Y-m-d"));
|
|
$this->db->where('prt_status', 0);
|
|
$this->db->where('prt_aktif', 1);
|
|
$query = $this->db->get('proses_ruang_tunggu');
|
|
return $query->result();
|
|
}
|
|
|
|
function proses_pengunjung(){
|
|
$idprt = $this->input->post('idprt_proses');
|
|
$idpp = $this->input->post('idpp_proses');
|
|
$idkl = $this->input->post('idklinik_proses');
|
|
$kodekl = $this->input->post('kodeklinik_proses');
|
|
$rm = $this->input->post('norm');
|
|
$fasttr = $this->input->post('data_fastrack');
|
|
|
|
$kode = 4;
|
|
|
|
$no_klinik="";
|
|
$i=0;
|
|
$hasil_nomor = "";
|
|
$this->db->order_by('pp_nomor_antrian_klinik', "asc");
|
|
$this->db->where('pp_klinik_id', $idkl);
|
|
$this->db->where('pp_tanggal_periksa', date("Y-m-d"));
|
|
$this->db->like('pp_nomor_antrian_klinik', 'KL'.$kodekl);
|
|
$query_pengunjung = $this->db->get('proses_pengunjung');
|
|
foreach ($query_pengunjung->result() as $datpengunjung){
|
|
if(isset($datpengunjung->pp_nomor_antrian_klinik)){
|
|
$no_klinik = $datpengunjung->pp_nomor_antrian_klinik;
|
|
}
|
|
}
|
|
|
|
if($fasttr!=null){$kode=5;}
|
|
|
|
if(isset($no_klinik)){
|
|
$urutan = (int) substr($no_klinik, 4, 3);
|
|
$urutan++;
|
|
$hasil_nomor = "KL".$kodekl.sprintf("%03s", $urutan);
|
|
}else {
|
|
$hasil_nomor="KL".$kodekl."001";
|
|
}
|
|
|
|
$this->db->where('pp_tanggal_periksa', date('Y-m-d'));
|
|
$this->db->where('pp_nomor_antrian_klinik', $hasil_nomor);
|
|
$query_cek_nomor = $this->db->get('proses_pengunjung');
|
|
if($query_cek_nomor->num_rows()!=0){
|
|
return FALSE;
|
|
}else{
|
|
$update_pp = array(
|
|
'pp_nomor_antrian_klinik' => $hasil_nomor,
|
|
'pp_rekamedik' => $rm,
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
|
|
$update_rt = array(
|
|
'prt_status' => $kode,
|
|
);
|
|
$this->db->where('prt_id', $idprt);
|
|
$this->db->update('proses_ruang_tunggu', $update_rt);
|
|
}
|
|
}
|
|
|
|
function proses_panggil($idpp, $idloket){
|
|
$namaloket = "";
|
|
$this->db->where('ml_id', $idloket);
|
|
$query_loket = $this->db->get('master_loket');
|
|
foreach ($query_loket->result() as $datloket){
|
|
$namaloket = $datloket->ml_nama;
|
|
}
|
|
|
|
$update_pp = array(
|
|
'pp_panggil' => date("Y-m-d H:i:s"),
|
|
'pp_panggil_loket' => $namaloket,
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
}
|
|
|
|
function proses_panggil_anjungan($idpp){
|
|
$update_pp = array(
|
|
'pp_panggil_anjungan' => date("Y-m-d H:i:s"),
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
}
|
|
|
|
function proses_panggil_null($idpp){
|
|
|
|
$update_pp = array(
|
|
'pp_panggil' => null,
|
|
'pp_panggil_loket' => null,
|
|
//'pp_panggil_anjungan' => null,
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
}
|
|
|
|
function proses_panggil_anjungan_null($idpp){
|
|
|
|
$update_pp = array(
|
|
'pp_panggil_anjungan' => null,
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
}
|
|
|
|
function data_pengunjung($idpp){
|
|
$this->db->join('master_klinik', 'mk_id = pp_klinik_id');
|
|
$this->db->where('pp_id', $idpp);
|
|
$query = $this->db->get('proses_pengunjung');
|
|
return $query->result();
|
|
}
|
|
|
|
function proses_checkin($idprt, $idpp){
|
|
$update_pp = array(
|
|
'pp_tanggal_datang' => date("Y-m-d H:i:s"),
|
|
);
|
|
$this->db->where('pp_id', $idpp);
|
|
$this->db->update('proses_pengunjung', $update_pp);
|
|
}
|
|
|
|
}
|
|
?>
|