You are on page 1of 25

<?

php
Class Guest_model extends Model
{
function __construct()
{
parent::Model();
}
function getIdPerusahaan($name)
{
return $this->db->query("select id_prs from tb_wf_perusahaan where n
ame='".$name."'")->row()->id_prs;
}
function getNamaPerusahaan($id_prs)
{
return $this->db->query('select name from tb_wf_perusahaan where id_
prs='.$id_prs)->row()->name;
}
function getCodeTravel($namaPerusahaan)
{
return $this->db->query("EXEC sp_wf_carinomortransaksi '".date("Y",t
ime())."', '".$namaPerusahaan."', 'TR', 1")->row()->computed;
}
function updateCodeTravel($namaPerusahaan)
{
return $this->db->query("EXEC sp_wf_carinomortransaksi '".date("Y",t
ime())."', '".$namaPerusahaan."', 'TR', 2");
}
function dataDepartemen()
{
if(in_array('SUPERVISOR', $this->session->userdata('tipe_user')))
{
return $this->db->query("select distinct UPPER(LTRIM(RTRIM(depar
temen))) as departemen
from tb_wf_levelapproval
where NIK='".$this->session->userdata('NIK')
."'
order by departemen");
}
else
{
$where = "";
if(in_array('USER', $this->session->userdata('tipe_user')))
$where = " and departemen='".$this->session->userdata('depar
temen')."' ";
return $this->db->query("select distinct UPPER(LTRIM(RTRIM(depar
temen))) as departemen
from tb_wf_infokaryawan
where id_prs=".$this->session->userdata(
'id_prs')." ".$where."
order by departemen");
}
}

function jml_data_karyawan()
{
$this->db->select('count(NIK) as jml');
$this->db->from('tb_wf_infokaryawan');
return $this->db->get();
}
function data_karyawan_master($limit, $offset)
{
if($offset == 0)
{
$sql = " SELECT distinct TOP $limit *
from tb_wf_infokaryawan
order by NIK asc";
}
else
{
$sql = "SELECT distinct TOP $limit *
from tb_wf_infokaryawan
WHERE NIK NOT IN (
SELECT distinct TOP $offset NIK
from tb_wf_infokaryawan
order by NIK asc
)
order by NIK asc ";
}
$query = $this->db->query($sql);
if ($query->result())
{
return $query->result();
}
else
{
return null;
}
}
function data_nik()
{
return $this->db->query("select NIK, nmkaryawan from tb_wf_infok
aryawan where id_prs=".$this->session->userdata('id_prs')." order by nmkaryawan
");
}
function data_nik_edit($id_prs)
{
return $this->db->query("select NIK, nmkaryawan from tb_wf_infok
aryawan where id_prs=".$id_prs." order by nmkaryawan");
}
function data_bisnisunit()
{
return $this->db->query("EXEC sp_wf_caricostcenter ' '");
}

function data_biayaperjalanan($idzona, $kdgol)


{
return $this->db->query("select u_saku, u_training, u_hotel from
tb_wf_travel_fasilitas where kdgol='".$kdgol."' and idzona='".$idzona."'");
}
function data_transport()
{
return $this->db->query("select * from tb_wf_travel_transport or
der by idtrans");
}
function data_shift()
{
return $this->db->query("select * from tb_wf_travel_shift order
by idshift");
}
function data_inap()
{
return $this->db->query("select * from tb_wf_travel_inap order b
y idinap");
}
function data_negara()
{
return $this->db->query("select * from tb_wf_negara order by nam
a");
}
function get_idzona($nmcategory, $u_saku, $u_hotel)
{
if($u_saku!=null && $u_hotel!=null)
return $this->db->query('select idzona from tb_wf_travel
_fasilitas where nmcategory="'.$nmcategory.'" and u_saku='.$u_saku.' and u_hotel
='.$u_hotel)->row()->idzona;
else
return 1;
}
function get_zona($nmcategory, $u_saku, $u_hotel)
{
if($u_saku!=null && $u_hotel!=null)
return $this->db->query(' select b.* from tb_wf_travel
_fasilitas a '
. ' inne
r join tb_wf_travel_zona b on a.idzona=b.idzona '
. ' wher
e nmcategory="'.$nmcategory.'" and u_saku='.$u_saku.' and u_hotel='.$u_hotel)->r
ow();
else
return '';
}
function data_costcenter($Perusahaan)
{
return $this->db->query("EXEC sp_wf_caricostcenter '".$
Perusahaan."'");
// return $this->db->query(" select cost_center
// from tb_wf_travel_costcenter
// where id_prs=".$this->session->userda
ta('id_prs'));
}

/*
{

function data_atasan($id_prs, $departemen, $kdgol)

return $this->db->query("EXEC sp_wf_cariapproval ".$id_prs.", '"


.$departemen."', ".$kdgol);
// return $this->db->query("select * from tb_wf_infokaryawan whe
re kdgol >= 1 and kdgol <=8 and id_prs=".$this->session->userdata('id_prs')." or
der by nmkaryawan asc");
}*/
#update 01 sept 2015
function data_atasan($NIK)
{
return $this->db->query("EXEC sp_wf_cariapproval_travel ".$NIK);
}
function data_atasan_Travel($NIK)
{
$this->db->select("distinct (tr.DSpv) as NIK, k.nmkaryawan");
$this->db->from(" tb_wf_infokaryawan as k ");
$this->db->join("tb_wf_approval_travel as tr", "tr.DSPV=k.nik",
"LEFT");
$this->db->where("tr.nik=", $NIK);
return $this->db->get();
}
function checkApprovalTravel($nik)
{
#return $this->db->query("select NIK from tb_wf_approval_travel
where nik='".$nik."'");
$this->db->select("distinct (NIK) as NIK");
$this->db->from(" tb_wf_approval_travel");
$this->db->where("nik=", $nik);
return $this->db->get();
}
function nama_atasan($atasan)
{
return $this->db->query("select nmkaryawan from tb_wf_infokaryaw
an where NIK='".$atasan."'")->row()->nmkaryawan;
}
function nama_atasanX($atasan)
{
return $this->db->query("select nmkaryawan from tb_wf_infokaryaw
an where NIK='".$atasan."'");
}
function nama_atasan2($atasan2)
{
return $this->db->query("select nmkaryawan from tb_wf_infokaryaw
an where NIK='".$atasan2."'");
}
function data_karyawan($nik)
{
return $this->db->query("select k.*, p.name as namaperusahaan
from tb_wf_infok
aryawan as k
inner join tb_wf
_perusahaan as p on k.id_prs=p.id_prs
where NIK='$nik'

");
}
function data_detTransport($code_travel)
{
return $this->db->query(' select * '
. ' from tr_wf_t
ravel_detTransport as dt '
. ' inner join t
b_wf_travel_transport as t on dt.idtrans=t.idtrans '
. ' inner join t
b_wf_travel_shift as s on dt.idshift=s.idshift '
. ' where notrav
el="'.$code_travel.'" order by id');
}
function data_detHotel($code_travel)
{
return $this->db->query(' select * '
. ' from tr_travel_detHotel as dh '
. ' inner join tb_wf_travel_inap as i on dh.
idinap=i.idinap '
. ' inner join tb_wf_travel_zona as z on dh.
zonaID=z.idzona '
. ' where notravel="'.$code_travel.'" order
by id');
}
function data_detVisa($code_travel)
{
return $this->db->query(' select * '
. ' from tr_wf_travel_detVisa as dv '
. ' inner join tb_wf_negara as n on dv.negar
aID=n.id '
. ' where codeTravel=\''.$code_travel.'\' or
der by dv.id');
}
//untuk simpan data
function save_upload($names,
$codetravel,
$dept,
$uploadby,
$status,
$updatedby,
$nik,
$nama,
$jabatan,
$bank_name,
$account_no,
$phone_number,
$departemen,
$atasnama,
$nik_atasnama,
$lokasi,
$kategori,
$datepicker,
$datepicker2,
$lama,
$atasan,

$atasan2,
$maksud,
$bisnisunit,
$costcenter,
$cashadvance,
$hotel,
$uangsaku,
$u_training,
$CAamount,
$CAremark
)
{
if (empty($atasan2) or ($atasan2=='') or ($atasan2==null)){
$atasan2 = '-';
}
#bank_name, account_no, phone_number
if ($names!='')
{
$sp ="insert into tb_request(filename,uploadby,status,updatedby,
updatedon,dept,nama,nik,jabatan,bank_name, account_no, phone_number,
lokasi_tujuan,tgl_mulai,tgl_akhir,maksud,hotel,uangsaku,
atasnama,nik_atasnama,kategori,lama,app1,app1b,app2,app3,app4,app5,posisinik,
posisiapp,code_travel,atasan,atasan2,bisnisunit,costcent
er,cashadvance,CAamount,CAremark) values
('$names','$uploadby','$status','$updatedby',GETDATE(),'
$departemen','$nama','$nik','$jabatan','$bank_name','$account_no','$phone_number
',
'$lokasi','$datepicker','$datepicker2','$maksud',
$hotel,$u_training,'$atasnama','$nik_atasnama','$kategor
i','$lama',0,0,0,0,0,0,'$atasan','app1','$codetravel','$atasan','$atasan2','$bis
nisunit','$costcenter','$cashadvance',$CAamount,'$CAremark')";
$data_upload=$this->db->query($sp);
}
else
{
$sp ="insert into tb_request(filename,uploadby,status,updatedby,
updatedon,dept,nama,nik,jabatan,bank_name, account_no, phone_number,
lokasi_tujuan,tgl_mulai,tgl_akhir,maksud,hotel,uangsaku,
atasnama,nik_atasnama,kategori,lama,app1,app1b,app2,app3,app4,app5,posisinik,
posisiapp,code_travel,atasan,atasan2,bisnisunit,costcent
er,cashadvance,CAamount,CAremark) values
('kosong','$uploadby','$status','$updatedby',GETDATE(),'$departe
men','$nama','$nik','$jabatan','$bank_name','$account_no','$phone_number',
'$lokasi','$datepicker','$datepicker2','$maksud',
$hotel,$u_training,'$atasnama','$nik_atasnama','$kategor
i','$lama',0,0,0,0,0,0,'$atasan','app1','$codetravel','$atasan','$atasan2','$bis
nisunit','$costcenter','$cashadvance',$CAamount,'$CAremark')";
$data_upload=$this->db->query($sp);
}
return $data_upload;
}
function saveDetTransport($rec)
{
$this->db->insert("tr_wf_travel_detTransport", $rec);
}
function saveDetHotel($rec)

{
$this->db->insert("tr_travel_detHotel", $rec);
}
function saveDetVisa($rec)
{
$this->db->insert("tr_wf_travel_detVisa", $rec);
}
function data_request($nik)
{
return $this->db->query("select * from tb_request where uploadby
='$nik' order by noid desc");
}
function get_data_request($code_travel)
{
return $this->db->query("select * from tb_request where code_tra
vel='$code_travel'");
}
function get_data_requestx($noid)
{
return $this->db->query("select a.*, b.kdgol
from tb_request
a
inner join tb_wf
_infokaryawan b on a.nik_atasnama=b.NIK
where noid='$noi
d'");
}
function cekDetTransport($codetravel)
{
return $this->db->query("select count(id) as jumlah from tr_wf_trav
el_detTransport where notravel='".$codetravel."'")->row()->jumlah;
}
function hapusDetTransport($codetravel)
{
$this->db->where("notravel", $codetravel);
$this->db->delete("tr_wf_travel_detTransport");
}
function cekDetHotel($codetravel)
{
return $this->db->query("select count(id) as jumlah from tr_travel_
detHotel where notravel='".$codetravel."'")->row()->jumlah;
}
function hapusDetHotel($codetravel)
{
$this->db->where("notravel", $codetravel);
$this->db->delete("tr_travel_detHotel");
}
function cekDetVisa($codetravel)
{
return $this->db->query("select count(id) as jumlah from tr_wf_trav
el_detVisa where codeTravel='".$codetravel."'")->row()->jumlah;

}
function hapusDetVisa($codetravel)
{
$this->db->where("codeTravel", $codetravel);
$this->db->delete("tr_wf_travel_detVisa");
}
function cekFileExist($noid)
{
$this->db->select("filename");
$this->db->from("tb_request");
$this->db->where("noid", $noid);
return $this->db->get();
}
function edit_request($rec, $noid)
{
$this->db->where("noid", $noid);
return $this->db->update("tb_request", $rec);
}
function getEmailEditRequest($noid, $app3)
{
$sql ="select distinct(k.email) as email"
. " from tb_notes as n "
. " inner join tb_wf_infokaryawan as k on n.uid=k.NIK "
. " where noid=".$noid." and uid!='".$this->session->userdata("n
ik")."' and departemen!='FINANCE' ";
if($app3==0)
{
$sql .= " and departemen!='GA'";
}
return $this->db->query($sql);
}
function confirm_request($code_travel,$app1,$NIK,$name)
{
if ($app1==0)
{
$spx ="select noid from tb_request where code_travel='".$code_tr
avel."'";
$data_id=$this->db->query($spx);
foreach($data_id->result() as $rowx)
{
$nomid = $rowx->noid;
}
$jabatan = 'USER';
/*$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_d
ate) values
DATE())";

('$nomid','$NIK','$name','CONFIRM','SUBMIT BY $user',GET
*/
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat

e) values
('$nomid','$NIK','$name','SUBMIT','$jabatan',GETDATE())"

;
$this->db->query($sp2);
}
}
function get_email_app1($nik)
{
return $this->db->query("select * from tb_wf_infokaryawan where
NIK='$nik'");
}
function get_email($NIK)
{
return $this->db->query("select * from tb_wf_infokaryawan where
NIK='$NIK'");
}
/*function get_email_dept_approved($noid, $nikAtasan)
{
return $this->db->query(" select distinct a.uid, b.email
from tb_
notes a
inner jo
in tb_wf_infokaryawan b on a.uid=b.NIK
where a.
noid='$noid' and a.uid!='".$nikAtasan."'");
}*/
function get_email_dept_approved($noid, $nikAtasan)
{
return $this->db->query("select distinct a.uid, b.email, a.nom
from tb_
notes a
inner jo
in tb_wf_infokaryawan b on a.uid=b.NIK
where a.
noid='$noid'
and a.n
om=(select MIN(nom) from tb_notes where noid='$noid')
");
}
/*
function get_email_dept($noid)
{
return $this->db->query("

select distinct a.uid, b.email


from tb_

notes a
inner jo
in tb_wf_infokaryawan b on a.uid=b.NIK
where a.
noid='$noid'");
}
*/
function get_email_dept($noid)
{
return $this->db->query("

select distinct a.uid, b.email

from tb_
notes a
inner jo
in tb_wf_infokaryawan b on a.uid=b.NIK
where a.
noid='$noid'");
}
function get_email_NIK_TRAVEL($nik)
{
return $this->db->query("select distinct (NIK) as NIK from tb_wf
_approval_travel where NIK='".$nik."'");
}
function get_email_GA($id_prs, $office)
#Unit
{
return $this->db->query("select distinct at2.GA as NIK ,k.email,
k.nmkaryawan from tb_wf_approval_travel2 at2
inner jo
in tb_wf_infokaryawan k on at2.GA=k.NIK
where at2.id_prs
='".$id_prs."' and at2.office='".$office."'");
}
function get_email_GA_TRAVEL($id_prs, $office)
#HO
{
return $this->db->query("select distinct at2.GA as NIK ,k.email,
k.nmkaryawan from tb_wf_approval_travel2 at2
inner jo
in tb_wf_infokaryawan k on at2.GA=k.NIK
where at2.id_prs
='".$id_prs."' and at2.office='".$office."'");
}
function get_email_Director($nikAtasan2)
{
return $this->db->query("select distinct a.NIK,a.email,nmkaryawa
n
from tb_wf_infok
aryawan a
inner join tb_wf
_user b on a.NIK=b.NIK
where a.NIK='$ni
kAtasan2'");
}
function CekIDPrs($NIK)
{
return $this->db->query("select id_prs as id_prs from tb_wf_info
karyawan where nik='".$NIK."' ");
}
function CekRegion($NIK)
{
return $this->db->query("select k.*, p.region as Region from tb_
wf_infokaryawan k, tb_wf_perusahaan p where k.nik='".$NIK."' and k.id_prs=p.id_p
rs");
}

function get_email_GAMGR($Region)
{
return $this->db->query("select distinct a.NIK,a.email,nmkaryawa
n, p.region
from tb_wf_infokaryawan
a
inner jo
in tb_wf_user b on a.NIK=b.NIK
inner jo
in tb_wf_perusahaan p on a.id_prs=p.id_prs
where b.
roleID='3' and p.region='".$Region."' ");
}
function get_email_FINANCE($id_prs ,$office)
{
return $this->db->query("select distinct at2.FINANCE as NIK ,k.e
mail,k.nmkaryawan from tb_wf_approval_travel2 at2
inner jo
in tb_wf_infokaryawan k on at2.FINANCE=k.NIK
where at2.id_prs
='".$id_prs."' and at2.office='".$office."'");
}
function get_email_ACCOUNTING($id_prs, $office)
{
return $this->db->query("select distinct at2.ACCOUNTING as NIK ,
k.email,k.nmkaryawan from tb_wf_approval_travel2 at2
inner jo
in tb_wf_infokaryawan k on at2.ACCOUNTING=k.NIK
where at2.id_prs
='".$id_prs."' and at2.office='".$office."'");
}

function data_request_app($nik,$tipe)
{
$data_request=$this->db->query("select * from tb_request where (
CHARINDEX('".$nik."',posisinik) > 0) and ((status not like '%COMPLETED%' ) and
(status not like '%REJECTED%')) order by noid desc ");
return $data_request;
}
function approval($noid,$app1,$app1b,$app2,$app3,$app4,$app5,$dept,$NIK,
$nama,$posisinik)
{
if($app1==0 && $app2==0 && $app3==0 && $app4==0 && $app5==0)
{
if(in_array('SUPERVISOR', $this->session->userdata('tipe
_user')))
{
if ($app1b==1){
$data_request=$this->db->query("update t
b_request set app1='1', app1b='".$app1b."', status='WAITING GA VERIFICATION', p
osisinik='".$posisinik."', posisiapp='app2'
where noid='$noid' and app1='0'
and app2='0' and app3='0' and app4='0' and app5='0'");

} elseif ($app1b==0){
$data_request=$this->db->query("
update tb_request set app1=1, app1b='".$app1b."', status='WAITING DIRECTOR VERI
FICATION', posisinik='".$posisinik."', posisiapp='app1b'
where noid='$noid' and app1=0 an
d app2=0 and app3=0 and app4=0 and app5=0");
}
$jabatan = 'SUPERVISOR';
}
}
elseif($app1==1 && $app1b==0 && $app2==0 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('DIRECTOR', $this->session->userdata('tipe_u
ser')))
{
$data_request=$this->db->query("update tb_reques
t set app1b=1, status='WAITING GA VERIFICATION',posisinik='".$posisinik."',posis
iapp='app2'
where status <> 'NEW' and noid='$noid' and app1=1 and app2=0 and app3=0 and app4
=0 and app5=0");
$jabatan = 'DIRECTOR';
}
}
elseif($app1==1 && $app1b==1 && $app2==0 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA STAFF', $this->session->userdata('tipe_u
ser')))
{
$data_request=$this->db->query("update tb_reques
t set app2=1,status='WAITING GA MGR APPROVAL',posisinik='".$posisinik."',posisia
pp='app3'
where status<>'NEW' and noid='$noid' and app1=1 and app2=0 and app3=0 and app4=0
and app5=0");
$jabatan = 'GA STAFF';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA MGR', $this->session->userdata('tipe_use
r')))
{
$data_request=$this->db->query("update tb_reques
t set app3=1,status='WAITING ACCOUNTING PROCESS',posisinik='".$posisinik."',posi
siapp='app4'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=0 and app4=0
and app5=0");
$jabatan = 'GA MGR';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==0
&& $app5==0)
{
if(in_array('ACCOUNTING TR', $this->session->userdata('t
ipe_user')))

{
$data_request=$this->db->query("update tb_reques
t set app4=1,status='WAITING FINANCE APPROVAL',posisinik='".$posisinik."',posisi
app='app5'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and app4=0
and app5=0");
$jabatan = 'ACCOUNTING TR';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==1
&& $app5==0)
{
if(in_array('FINANCE', $this->session->userdata('tipe_us
er')))
{
$data_request=$this->db->query("update tb_reques
t set app5=1,status='COMPLETED',posisinik='".$posisinik."',posisiapp='app6'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and app4=1
and app5=0");
$jabatan = 'FINANCE';
}
}
/*$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_d
ate) values
('$noid','$NIK','$nama','APPROVE
D','APPROVED BY $nama',GETDATE())";
$this->db->query($sp2);*/
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values
('$noid','$NIK','$nama','APPROVE
D','$jabatan',GETDATE())";
$this->db->query($sp2);
return $data_request;
}
function approve_request($noid,$dept,$tipe,$NIK,$nama,$posisinik)
{
if ($dept!='GA' && $dept!='FINANCE')
{
if ($tipe == 'MGR')
{
$data_request=$this->db->query("update tb_reques
t set app1=1,status='WAITING GA VERIFICATION',posisinik='".$posisinik."',posisia
pp='app2' "
. "
where st
atus<>'NEW' and noid='$noid' and app1=0 and app2=0 and app3=0 and app4=0");
$jabatan = 'MGR';
}
$this->session->set_flashdata('message','<blink>Approved
Success</blink>');
}
else
{
if ($dept=='GA')
{
if ($tipe != 'MGR')

{
$data_request=$this->db->query("update t
b_request set app2=1,status='WAITING GA MGR APPROVAL',posisinik='".$posisinik."'
,posisiapp='app3' "
. " where status<>'NEW' and
noid='$noid' and app1=1 and app2=0 and app3=0 and app4=0");
$this->session->set_flashdata('message','<blink>Approved
Success</blink>');
}
elseif($tipe == 'MGR')
{
$data_request=$this->db->query("update t
b_request set app3=1,status='WAITING ACCOUNTING PROCESS',posisinik='".$posisinik
."',posisiapp='app4' "
. " where status<>'NEW' and
noid='$noid' and app1=1 and app2=1 and app3=0 and app4=0");
$this->session->set_flashdata('message',
'<blink>Approved Success</blink>');
}
}
if ($dept == 'ACCOUNTING TR')
{
$data_request=$this->db->query("update tb_reques
t set app4=1,status='WAITING FINANCE APPROVAL',posisinik='".$posisinik."',posisi
app='app5' "
. " where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and ap
p4=0");
$this->session->set_flashdata('message','<blink>
Approved Success</blink>');
}
if ($dept == 'FINANCE')
{
$data_request=$this->db->query("update tb_reques
t set app5=1,status='COMPLETED',posisinik='".$posisinik."',posisiapp='app6' "
. " where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and ap
p4=1");
$this->session->set_flashdata('message','<blink>
Approved Success</blink>');
}
}
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values
('$noid','$NIK','$nama','APPROVE
D','APPROVED BY $nama',GETDATE())";
$this->db->query($sp2);
return $data_request;
}
function approval2($noid,$app1,$app1b,$app2,$app3,$app4,$app5,$dept,$NIK
,$nama,$posisinik,$usr_tipe)
{
if($app1==0 && $app2==0 && $app3==0 && $app4==0 && $app5==0)
{
if(in_array('SUPERVISOR', $usr_tipe))

{
if ($app1b==1){
$data_request=$this->db->query("update t
b_request set app1=1, app1b='".$app1b."', status='WAITING GA VERIFICATION', pos
isinik='".$posisinik."', posisiapp='app2'
where noid='$noid' and app1=0 an
d app2=0 and app3=0 and app4=0 and app5=0");
} elseif ($app1b==0){
$data_request=$this->db->query("
update tb_request set app1=1, app1b='".$app1b."', status='WAITING DIRECTOR VERI
FICATION', posisinik='".$posisinik."', posisiapp='app1b'
where noid='$noid' and app1=0 an
d app2=0 and app3=0 and app4=0 and app5=0");
}
$jabatan = 'SUPERVISOR';
}
}
elseif($app1==1 && $app1b==0 && $app2==0 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('DIRECTOR', $usr_tipe))
{
$data_request=$this->db->query("update tb_reques
t set app1b=1, status='WAITING GA VERIFICATION',posisinik='".$posisinik."',posis
iapp='app2'
where status <> 'NEW' and noid='$noid' and app1=1 and app2=0 and app3=0 and app4
=0 and app5=0");
$jabatan = 'DIRECTOR';
}
}
elseif($app1==1 && $app1b==1 && $app2==0 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA STAFF', $usr_tipe))
{
$data_request=$this->db->query("update tb_reques
t set app2=1,status='WAITING GA MGR APPROVAL',posisinik='".$posisinik."',posisia
pp='app3'
where status<>'NEW' and noid='$noid' and app1=1 and app2=0 and app3=0 and app4=0
and app5=0");
$jabatan = 'GA STAFF';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA MGR', $usr_tipe))
{
$data_request=$this->db->query("update tb_reques
t set app3=1,status='WAITING ACCOUNTING PROCESS',posisinik='".$posisinik."',posi
siapp='app4'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=0 and app4=0
and app5=0");
$jabatan = 'GA MGR';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==0

&& $app5==0)
{
if(in_array('ACCOUNTING TR', $usr_tipe))
{
$data_request=$this->db->query("update tb_reques
t set app4=1,status='WAITING FINANCE APPROVAL',posisinik='".$posisinik."',posisi
app='app5'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and app4=0
and app5=0");
$jabatan = 'ACCOUNTING TR';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==1
&& $app5==0)
{
if(in_array('FINANCE', $usr_tipe))
{
$data_request=$this->db->query("update tb_reques
t set app5=1,status='COMPLETED BY FINANCE',posisinik='".$posisinik."',posisiapp=
'app6'
where status<>'NEW' and noid='$noid' and app1=1 and app2=1 and app3=1 and app4=1
and app5=0");
$jabatan = 'FINANCE';
}
}
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values
('$noid','$NIK','$nama','APPROVE
D','$jabatan',GETDATE())";
$this->db->query($sp2);
return $data_request;
}
function approve_request_nofinance($noid,$NIK,$nama)
{
$this->db->query("update tb_request set app3=1,status='COMPLETED
' "
. " where noid='$noid' and app1=1 and app2=1 and app3=0 and app4=0");
$jabatan = 'GA MGR';
$this->session->set_flashdata('message','Approved Success');
/*$sql ="insert into tb_notes(noid,uid,name,status,notes,entry_d
ate) values
('$noid','$NIK','$nama','APPROVE
D','APPROVED BY $nama',GETDATE())";*/
$sql ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values
('$noid','$NIK','$nama','APPROVE
D','$jabatan',GETDATE())";
$this->db->query($sql);
}
function data_request_app_email($posisinik)

{
return $this->db->query("select * from tb_request where posisinik='$
posisinik' and app1=0 and app1b=0 and app2=0 and app3=0 and app4=0 order by noi
d desc");
}
/*
function data_request_app_email2($posisinik)
{
return $this->db->query("select * from tb_request where posisini
k='$posisinik' and app1=1 and app2=0 and app3=0 and app4=0 order by noid desc");
}
function data_request_app_email3($posisinik)
{
return $this->db->query("select * from tb_request where posisini
k='".$posisinik."' and status<>'NEW' and app1=1 and app2=1 and app3=0 and app4=0
order by noid desc");
}
function data_request_app_email4($posisinik)
{
return $this->db->query("select * from tb_request where posisini
k='".$posisinik."' and status<>'NEW' and app1=1 and app2=1 and app3=1 and app4=0
order by noid desc");
}*/
function data_request_app_email2($posisinik)
{
return $this->db->query("select * from tb_request where (CHARIND
EX('".$posisinik."',posisinik) > 0) and app1=1 and app1b=1 and app2=0 and app3
=0 and app4=0 order by noid desc");
}
function data_request_app_email1b($posisinik)
{
return $this->db->query("select * from tb_request where (CHARIND
EX('".$posisinik."',posisinik) > 0) and app1=1 and app1b=0 and app2=0 and app3
=0 and app4=0 order by noid desc");
}
function data_request_app_email3($posisinik)
{
return $this->db->query("select * from tb_request where (CHARIND
EX('".$posisinik."',posisinik) > 0) and status<>'NEW' and app1b=1 and app1=1 a
nd app2=1 and app3=0 and app4=0 order by noid desc");
}
function data_request_app_email4($posisinik)
{
return $this->db->query("select * from tb_request where (CHARIND
EX('".$posisinik."',posisinik) > 0) and status<>'NEW' and app1b=1 and app1=1
and app2=1 and app3=1 and app4=0 order by noid desc");
}
function data_request_app_email5($posisinik)
{
return $this->db->query("select * from tb_request where (CHARIND
EX('".$posisinik."',posisinik) > 0) and status<>'NEW' and app1b=1 and app1=1
and app2=1 and app3=1 and app4=1 and app5=0 order by noid desc");

}
function reject_request($noid,$uid,$name,$notes,$app1,$app1b,$app2,$app3
,$app4,$app5)
{
if($app1==0 && $app1b==0 && $app2==0 && $app3==0 && $app4==0 &&
$app5==0)
{
if(in_array('SUPERVISOR', $this->session->userdata('tipe
_user')))
{
$data_request=$this->db->query("update tb_reques
t set app1=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=0 a
nd app2=0 and app3=0 and app4=0 and app5=0");
$jabatan = 'SUPERVISOR';
}
}
elseif($app1==1 && $app1b==0 && $app2==0 && $app3==0 && $app4==
0 && $app5==0)
{
if(in_array('DIRECTOR', $this->session->userdata('tipe_u
ser')))
{
$data_request=$this->db->query("update tb_reques
t set app1b=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=1
and app1b=0 and app2=0 and app3=0 and app4=0 and app5=0");
$jabatan = 'DIRECTOR';
}
}
elseif($app1==1 && $app1b==1 && $app2==0 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA STAFF', $this->session->userdata('tipe_u
ser')))
{
$data_request=$this->db->query("update tb_reques
t set app2=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=1 a
nd app2=0 and app3=0 and app4=0 and app5=0");
$jabatan = 'GA STAFF';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==0 && $app4==0
&& $app5==0)
{
if(in_array('GA MGR', $this->session->userdata('tipe_use
r')))
{
$data_request=$this->db->query("update tb_reques
t set app3=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=1 a
nd app2=1 and app3=0 and app4=0 and app5=0");
$jabatan = 'GA MGR';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==0
&& $app5==0)
{
if(in_array('ACCOUNTING TR', $this->session->userdata('t
ipe_user')))
{

$data_request=$this->db->query("update tb_reques
t set app4=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=1 a
nd app2=1 and app3=1 and app4=0 and app5=0");
$jabatan = 'ACCOUNTING';
}
}
elseif($app1==1 && $app1b==1 && $app2==1 && $app3==1 && $app4==1
&& $app5==0)
{
if(in_array('FINANCE', $this->session->userdata('tipe_us
er')))
{
$data_request=$this->db->query("update tb_reques
t set app5=2,status='REJECTED' where status<>'NEW' and noid='$noid' and app1=1 a
nd app2=1 and app3=1 and app4=1 and app5=0");
$jabatan = 'FINANCE';
}
}
$this->session->set_flashdata('message','<blink>Rejected Success
</blink>');
/*$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_d
ate) values
('$noid','$uid','$name','REJECTED','REJECTED BY
$name : $notes',GETDATE())";
$data_notes=$this->db->query($sp2);*/
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values
('$noid','$uid','$name','REJECTED : $notes','$ja
batan',GETDATE())";
$data_notes=$this->db->query($sp2);
return $data_request;
}
function show_notes($noid){
$data_notes=$this->db->query(" select a.code_travel,a.maksud,a.
nik,a.status as status_req,b.status as statusNote,b.notes as log_notes,b.entry_d
ate, b.name, c.departemen
from tb_request a
inner join tb_notes b on a.noid=
b.noid
left join tb_wf_infokaryawan c o
n b.uid=c.NIK
where a.noid='$noid' order by b.
entry_date ");
return $data_notes;
}
function log_approval($tipe_user,$nik) // Log Approval
{
#if(!in_array(6, $this->session->userdata('roleID')))
#{
$data_log=$this->db->query( " select * "
. " from tb_request as r "
. " inner join tb_notes as n on r.noid=n.noid "
. " where uid='".$nik."' and n.status<>'SUBMIT' "

. " order by n.nom desc");


return $data_log;
#}
#else
#{
#
#}

return null;

}
function delete_karyawan($nik)
{
return $this->db->query("delete from tb_wf_infokaryawan where NI
K='$nik'");
}
function save_karyawan($nik,
$nama,
$jabatan,
$departemen,
$seksi,
$golongan,
$title,
$email){
$sp ="insert into tb_wf_infokaryawan(NIK,nmkaryawan,jabatan,depa
rtemen,seksi,kdgol,title,email) values
('$nik','$nama','$jabatan','$departemen','$seksi','$golongan','$
title','$email')";
$data_karyawan=$this->db->query($sp);
return $data_karyawan;
}
function setting_haripengajuan()
{
$this->db->select('value');
$this->db->from('tb_wf_setting');
$this->db->where('id=1');
return $this->db->get()->row()->value;
}
function getReportTravel($tanggalAwal, $tanggalAkhir, $departemen, $nik)
{
$this->db->select('r.*, tr.*, tr1.nmtransport, tr2.shift, ht.*, ht1.
nminap, ht2.nmzona, vs.*, vs1.nama as namaNegara');
$this->db->from('tb_request as r');
$this->db->join("tb_wf_infokaryawan as k", "r.nik=k.NIK", "inner");
$this->db->join("tr_wf_travel_detTransport as tr", "r.code_travel=tr
.notravel", "left");
$this->db->join("tb_wf_travel_transport as tr1", "tr.idtrans=tr1.idt
rans", "left");
$this->db->join("tb_wf_travel_shift as tr2", "tr.idshift=tr2.idshift
", "left");
$this->db->join("tr_travel_detHotel as ht", "r.code_travel=ht.notrav
el", "left");
$this->db->join("tb_wf_travel_inap as ht1", "ht.idinap=ht1.idinap",

"left");
$this->db->join("tb_wf_travel_zona as ht2", "ht.zonaID=ht2.idzona",
"left");
$this->db->join("tr_wf_travel_detVisa as vs", "r.code_travel=vs.code
Travel", "left");
$this->db->join("tb_wf_negara as vs1", "vs.negaraID=vs1.id", "left")
;
$this->db->where('k.id_prs='.$this->session->userdata('id_prs'));
$this->db->where("r.updatedon >= '".$tanggalAwal."' and r.updatedon
<= '".$tanggalAkhir."'");
if($departemen!="All")
$this->db->where("UPPER(LTRIM(RTRIM(r.dept))) = '".$departemen."
'");
if(in_array('USER', $this->session->userdata('tipe_user')) && !in_ar
ray('SUPERVISOR', $this->session->userdata('tipe_user')) && !in_array('GA STAFF'
, $this->session->userdata('tipe_user')))
$this->db->where("r.nik='".$this->session->userdata('NIK')."'");
else
{
if($nik!='All')
{
$this->db->where("r.nik='".$nik."'");
}
}
return $this->db->get();
}
function getDataKaryawan($departemen)
{
$this->db->select('distinct r.nik, r.nama');
$this->db->from('tb_request as r');
$this->db->join("tb_wf_infokaryawan as k", "r.nik=k.NIK", "inner");
$this->db->where('id_prs='.$this->session->userdata('id_prs'));
if($departemen!="All")
$this->db->where("UPPER(LTRIM(RTRIM(dept))) = '".$departemen."'"
);
else
{
if(in_array('SUPERVISOR', $this->session->userdata('tipe_user'))
)
{
$this->db->where("UPPER(LTRIM(RTRIM(dept))) in (select disti
nct UPPER(LTRIM(RTRIM(departemen))) from tb_wf_levelapproval where NIK='".$this>session->userdata('NIK')."') ");
}
}
return $this->db->get();
}
function getCheckClaim($id)
{
#return $this->db->query("select * from tr_wf_claim_request wher
e TravelID='".$id."'");

return $this->db->query("select * from tr_wf_claim_request where


TravelID='".$id."'
and id=(select MAX(id) from tr_wf_claim_request
where TravelID='".$id."')");
}
# 13Okt2015
function CekHRAdmin($nikAtasnama)
{
return $this->db->query("select distinct (HRAdmin) from tb_wf_ap
proval where NIK='".$nikAtasnama."'");
}
# 13Okt2015
function CekBisnisUnit($bisnisunit)
{
return $this->db->query("select id_prs from tb_wf_perusahaan wh
ere name='".$bisnisunit."'");
}
#15 Okt 2015
function PrintPDF($id){
$this->db->select("tb.*, tn.*");
$this->db->from("tb_notes as tn");
$this->db->join("tb_request as tb", "tn.noid=tb.noid", "left");
$this->db->where("tb.noid", $id);
return $this->db->get();
}
#15 Okt 2015
function PrintDetailTransport($notravel){
$this->db->select("dt.*, tr.nmtransport as nmtransport, ts.shift
as shift ");
$this->db->from("tr_wf_travel_detTransport as dT");
$this->db->join("tb_wf_travel_transport as tr ", "dT.idtrans=tr.
idtrans", "LEFT");
$this->db->join("tb_wf_travel_shift as ts", "dT.idshift=ts.idshi
ft", "LEFT");
$this->db->where("dT.notravel", $notravel);
return $this->db->get();
/*SELECT dt.*, tr.nmtransport, ts.shift FROM tr_wf_travel_detTra
nsport as dT
LEFT JOIN tb_wf_travel_transport as tr ON dT.idtrans=tr.idtrans
LEFT JOIN tb_wf_travel_shift as ts ON dT.idshift=ts.idshift
WHERE dT.notravel='TR-TPF-15.0027'*/
}
#15 Okt 2015
function PrintDetailHotel($notravel){
$this->db->select("dh.*, ti.nminap, tz.nmzona, tz.wilayah ");
$this->db->from("tr_travel_detHotel as dh");
$this->db->join("tb_wf_travel_inap as ti", "dh.idinap=ti.idinap"
, "LEFT");
$this->db->join("tb_wf_travel_zona as tz", "dh.zonaID=tz.idzona"
, "LEFT");
$this->db->where("dh.notravel", $notravel);
return $this->db->get();
}
#15 Okt 2015

function PrintDetailLog($noid){
return $this->db->query("select * from tb_notes where noid='".$
noid."'");
return $this->db->get();
}
#20okt2015
function CheckWorkbased($NIK){
return $this->db->query("select NIK,nmkaryawan,workbased from tb
_wf_infokaryawan where nik='".$NIK."'
and work
based is not null
");
return $this->db->get();
}
#Proses Hold
26Okt2015
function prosesHold($noid,$NIK,$nama,$tipeUser,$notes,$app1,$app2,$app3,
$app4,$app5,$tempNIK)
{
if($app1==1 && $app2==1 && $app3==1 && $app4==0 && $app5==0)
{
if(in_array('ACCOUNTING TR', $tipeUser))
{
$data_request=$this->db->query("update tb_reques
t set
app2='0',
app3='0',
app4='0',
app5='0',
status='WAITING GA VERIFICATION', posisiNIK='".$tempNIK."', posisiApp='app2'
where no
id='".$noid."' and app2='1' and app3='1' and app4='0'");
}
}
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values ('$noid','$NIK','$nama','HOLD','HOLD BY ".$nama." : ".$notes."',GETDAT
E())";
$data_notes=$this->db->query($sp2);
return $data_request;
}
#3des2015
function prosesholdgamgr($noid,$NIK,$nama,$tipeUser,$notes,$app1,$app2,$
app3,$app4,$app5,$tempNIK)
{
if($app1==1 && $app2==1 && $app3==0 && $app4==0 && $app5==0)
{
if(in_array('GA MGR', $tipeUser))
{
$data_request=$this->db->query("update tb_reques
t set

app2='0',
app3='0',
app4='0',
app5='0',
status='WAITING GA VERIFICATION', posisiNIK='".$tempNIK."', posisiApp='app2'
where no
id='".$noid."' and app2='1' and app3='0' and app4='0'");
}
}
$sp2 ="insert into tb_notes(noid,uid,name,status,notes,entry_dat
e) values ('$noid','$NIK','$nama','HOLD','HOLD BY ".$nama." : ".$notes."',GETDAT
E())";
$data_notes=$this->db->query($sp2);
return $data_request;
}
function getReportTravel_STPD_GA()
{
/*return $this->db->query("select updatedon, co
de_travel, nik, nama, nik_atasnama, atasnama,
dept, bisnisunit,costcenter,lokasi_tujuan,tgl_mu
lai, tgl_akhir,kategori, transport,hotel,uangsaku,
CAamount, CAremark from tb_request where app1='
1' and app2='1' and app3='0'");*/
return $this->db->query("exec sp_wf_trav
el_outstand_GAREGION 'tr','".$this->session->userdata('NIK')."'");
}
function data_allowance()
{
return $this->db->query("select * from tb_wf_travel_allowance o
rder by id");
}
function data_zona()
{
return $this->db->query("select *, wilayah from tb_wf_travel_zon
a order by nmzona");
}
function cekDetAllowance($codetravel)
{
return $this->db->query("select count(id) as jumlah from tr_travel_
detAllowance where notravel='".$codetravel."'")->row()->jumlah;
}
function hapusDetAllowance($codetravel)
{
$this->db->where("notravel", $codetravel);
$this->db->delete("tr_travel_detAllowance");
}
function saveDetAllowance($rec)
{
$this->db->insert("tr_travel_detAllowance", $rec);

}
function SaveStatusReSubmit($codeTravel)
{
return $this->db->query("update tb_request set status='WAITING FOR R
E-SUBMIT', posisinik='-' where Code_Travel='$codeTravel'");
}
function data_detAllowance($code_travel)
{
return $this->db->query("select *, a.id as id_allowance from tr_tra
vel_detAllowance as dh
left join tb_wf_travel_zona as z on dh.zonaID=z.
idzona
left join tb_wf_travel_allowance as a on dh.idin
ap=a.id
where dh.notravel='".$code_travel."' order by dh
.id
");
}
function update_status($noid, $nikAtasan)
{
return $this->db->query("update tb_request set
app1='0', app1b='0', app2='0', app3='0', posisinik='$nikAtasan', posisiapp='app1
', status='WAITING SUPERVISOR APPROVAL'
where noid='$noid'
");
}

}
?>

You might also like