Files
simrs-jatim/user_level.php
2024-04-19 14:04:41 +07:00

153 lines
5.0 KiB
PHP

<?php
include("core/main.php");
$NIP1 = (array_key_exists('NIP', $_SESSION)) ? $_SESSION['NIP'] : $_REQUEST['EMAIL'];
$sql = "SELECT * FROM m_login WHERE NIP = '".$NIP1."' and aktif = 1";
$query = $db->query($sql);
if($query->numRows() > 0){
$data = $query->fetchAll()[0];
if(password_verify($_REQUEST['PWD'],$data['pwd']))
{
$_SESSION['SES_REG'] = $data['ses_reg'];
$_SESSION['SES_KDUNIT'] = $data['kdunit'];
$_SESSION['KDUNIT'] = $data['kdunit'];
$_SESSION['NIP'] = $data['nip'];
$_SESSION['NAMA_PEGAWAI'] = ($data['nama_pegawai'] != NULL || $data['nama_pegawai'] != '') ? $data['nama_pegawai'] : $NIP1;
$_SESSION['KDPERAWAT'] = ($data['kdperawat'] != NULL || $data['kdperawat'] != '') ? $data['kdperawat'] : NULL;
$_SESSION['KDDOKTER'] = ($data['kddokter'] != NULL || $data['kddokter'] != '') ? $data['kddokter'] : NULL;
$_SESSION['SHIFT'] = $_REQUEST['SHIFT'];
$_SESSION['DEPARTEMEN'] = $data['departemen'];
$_SESSION['nipb'] = $data['nipb'];
$get_tempat_layanan = $db->query("SELECT no,nama from m_ruang where kdunit = ".$data['kdunit']." order by no");
if($get_tempat_layanan->numRows() > 0) {
$_SESSION['tempat_layanan'] = $get_tempat_layanan->fetchFirst()['no'];
}
// GET PAGE ROLES
$sql_page = "SELECT * FROM m_login_akses WHERE NIP = '$NIP1' AND ROLES = '{$data['roles']}' AND KDUNIT = '{$data['kdunit']}'";
$sql_page_akses = $db->query($sql_page);
$arr_akses = array();
foreach($sql_page_akses->fetchAll() as $ds){
$arr_akses[$ds['link']] = array(
'v'=>$ds['can_view'],
'e'=>$ds['can_edit'],
'd'=>$ds['can_delete'],
'perawat'=>$ds['is_perawat'],
'dokter'=>$ds['is_dokter'],
'verif'=>$ds['is_verifikator'],
'piutang'=>$ds['is_kreditur'],
'kasir'=>$ds['is_kasir'],
'pelunasan'=>$ds['is_pelunasan'],
'rajal_emergency'=>$ds['rajal_emergency'],
'rajal_reguler'=>$ds['rajal_reguler'],
'rajal_eksekutif'=>$ds['rajal_eksekutif'],
'ranap_highcare'=>$ds['ranap_highcare'],
'ranap_reguler'=>$ds['ranap_reguler'],
'ranap_eksekutif'=>$ds['ranap_eksekutif'],
);
}
// GET UNIT KERJA & RUANG USER
if($data['kdperawat'] != 0 && $data['kddokter'] == 0)
{
// select perawat
$q_perawat = "SELECT unit_kerja,m_perawat.ruang,m_ruang.kelompok FROM m_perawat
LEFT JOIN m_ruang on m_ruang.kdunit = m_perawat.unit_kerja
where IDPERAWAT = ".$data['kdperawat']." and m_perawat.aktif = 1 and m_ruang.jumlah_tt > 0 LIMIT 1";
$d_perawat = $db->query($q_perawat);
if($d_perawat->numRows() > 0) {
$fetch_perawat = $d_perawat->fetchAll()[0];
$_SESSION['SES_RUANG'] = $fetch_perawat['ruang'];
$_SESSION['SES_KELRUANG'] = $fetch_perawat['kelompok'];
}
}
// jika dokter login maka beri pilihan rajal atau ranap
if($_REQUEST['status_login'] == 'dokter')
{
$_SESSION['disable_warning'] = false;
$tempat = $_REQUEST['tempat_layanan'];
if($tempat == 'ranap')
{
$data['roles'] = "11";
}
elseif($tempat == 'rtindakan')
{
$data['roles'] = "28";
}
elseif($data['st_dokter_emergency'] == 1) {
$_SESSION['SES_KDUNIT'] = $_SESSION['poli_igd'];
$_SESSION['KDUNIT'] = $_SESSION['poli_igd'];
$get_tempat_layanan = $db->query("SELECT no,nama from m_ruang where kdunit = ".$_SESSION['poli_igd']);
if($get_tempat_layanan->numRows() > 0) {
$_SESSION['tempat_layanan'] = $get_tempat_layanan->fetchFirst()['no'];
}
}
}
elseif($_REQUEST['status_login'] == 'perawat') {
$tempat = $_REQUEST['tempat_layanan'];
if($tempat == 'rtindakan')
{
$data['roles'] = "28";
}
elseif($tempat == 'ranap')
{
$data['roles'] = "11";
}
}
$_SESSION['page_akses'] = $arr_akses;
$cek_versi = $db->query("SELECT * from app_version order by publish_date desc");
$data_versi = $cek_versi->fetchFirst();
$_SESSION['app_version'] = $data_versi['version'];
$_SESSION['app_publish'] = $data_versi['publish_date'];
// get rolemenu from this user
$get_role = $db->query("SELECT * from user_roles where ROLEID = {$data['roles']}");
if($get_role->numRows() > 0)
{
$data_roles = $get_role->fetchFirst();
$_SESSION['ROLES'] = $data['roles'];
$_SESSION['rolename'] = $data_roles['rolename'];
$_SESSION['user_rolemenu'] = $data_roles['rolemenu'];
// $get_role_menu = $db->query("SELECT m_menu.link from role_menu
// join m_menu on m_menu.menu_id = role_menu.menu_id
// where role_id = {$data['roles']}");
// $arr_role_menu = [];
// if($get_role_menu->numRows() > 0) {
// foreach($get_role_menu->fetchAll() as $rm) {
// if($rm['link'] != null || $rm['link'] != '') {
// $arr_role_menu[] = $rm['link'];
// }
// }
// }
// $_SESSION['user_rolemenu'] = implode(",", $arr_role_menu);
$_SESSION['first_direction'] = $data_roles['first_direction'];
if($data_roles['first_direction'] != '')
{
header("location:index.php?link=".$data_roles['first_direction']);
}
else {
header("location:index.php");
}
}
else {
header("location:index.php");
}
}
else {
header('location:login.php?e=2');
}
}else{
header('location:login.php?e=1');
}
?>