function form_cuti($flag = NULL) { $webmaster_id = permission(); $data['path_file'] = $this->filename; $data['flag'] = $data['id'] = $flag; $data['tgl_start'] = $data['tgl_end'] = $data['keterangan'] = ""; $data['cuti_reason'] = $data['telp_cuti'] = $data['feedback'] = $data['cuti_status'] = ""; $data['id_emp'] = $data['id_pengganti'] = $data['total_cuti'] = $data['cuti_berjalan'] = ""; $data['max_leave_day'] = GetSisaCuti($webmaster_id, date("2016-12-31")); $data['duration'] = 0; $data['opt_reason'] = GetOptReasonCuti(); $data['opt_pengganti'] = GetOptPengganti($webmaster_id, 1); $data['opt_status'] = GetOptStatusForm(); if ($flag) { $q = GetAll("kg_view_cuti", array("id" => "where/" . $flag)); foreach ($q->result_array() as $r) { if (in_array($r['create_user_id'], CekBawahan($webmaster_id)) || $r['create_user_id'] == $webmaster_id) { $data['employee_nm'] = $r['ext_id'] . " - " . $r['person_nm']; $data['id_emp'] = $r['id_employee']; $data['opt_pengganti'] = GetOptPengganti($data['id_emp'], 1); $data['duration'] = $r['hari_ref'] ? $r['hari_ref'] : $r['hari']; $data['max_leave_day'] = GetSisaCuti($webmaster_id, date("Y-m-d")); $data['tgl_start'] = $r['tgl_start_ref'] != "0000-00-00" ? $r['tgl_start_ref'] : $r['tgl_start']; $data['tgl_end'] = $r['tgl_end_ref'] != "0000-00-00" ? $r['tgl_end_ref'] : $r['tgl_end']; $data['cuti_reason'] = $r['id_reason_cuti']; $data['id_pengganti'] = $r['id_pengganti']; $data['telp_cuti'] = $r['telp_cuti']; $data['keterangan'] = $r['keterangan']; $data['feedback'] = $r['feedback'] == 0 ? "" : $r['feedback']; $data['cuti_status'] = $r['cuti_status']; if ($r['create_user_id'] == $webmaster_id) { $data['flag'] = ""; $this->db->where("id", $flag); $this->db->update("kg_cuti", array("is_read" => 1)); } //Cek Revisi if (($r['tgl_start'] != $r['tgl_start_ref'] || $r['tgl_end'] != $r['tgl_end_ref']) && $r['cuti_status'] == "Approve") { $revisi = 1; } else { $revisi = 0; } $data['revisi'] = $revisi; } else { $data['flag'] = ""; } } } $this->load->view('form_cuti', $data); }
function list_cuti($report = NULL, $tgl = NULL, $div = NULL, $sec = NULL, $pos = NULL, $grade = NULL) { permission(); $data['path_file'] = $this->filename; if ($this->input->post("start_att") || $tgl) { if ($tgl) { $exp = explode("~", $tgl); $data['start_date'] = $exp[0]; $data['end_date'] = $exp[1]; } else { $data['start_date'] = $this->input->post("start_att"); if (!$this->input->post("end_att")) { $data['end_date'] = $data['start_date']; } else { $data['end_date'] = $this->input->post("end_att"); } } $data['period'] = GetMonth(substr($data['end_date'], 5, 2)) . " " . substr($data['end_date'], 0, 4); } else { $dt = "Dec 2015"; //date("M Y"); $period = GetPeriod($dt); $data['start_date'] = substr($period, 0, 10); $data['end_date'] = substr($period, 11, 10); $data['period'] = $dt; } $data['jum_kolom'] = 5; $tgl = $data['start_date'] . "~" . $data['end_date']; $data['div'] = $this->input->post('s_div') ? $this->input->post('s_div') : $div; $data['sec'] = $this->input->post('s_sec') ? $this->input->post('s_sec') : $sec; $data['pos'] = $this->input->post('s_pos') ? $this->input->post('s_pos') : $pos; $data['grade'] = $this->input->post('s_grade') ? $this->input->post('s_grade') : $grade; $this->load->model('cuti_model', 'cuti'); $param = array("tgl" => $tgl, "divisi" => $data['div'], "section" => $data['sec'], "position" => $data['pos'], "grade" => $data['grade']); $list = $this->cuti->get_datatables($param); $dataz = array(); $no = 0; foreach ($list->result() as $r) { $no++; $sisa_cuti = GetSisaCuti($r->id_employee, $data['start_date']); $terpakai = GetSum("kg_cuti", "hari_ref", array("tgl_start >=" => "where/" . $data['start_date'], "tgl_start <=" => "where/" . $data['end_date'], "create_user_id" => "where/" . $r->id_employee, "cuti_status" => "where/Approve"), "value"); $dataz[] = array($no, $r->ext_id, $r->person_nm, $sisa_cuti, $terpakai, $sisa_cuti - $terpakai); } $data['list'] = $dataz; $data['report'] = $report; if (!$report) { $this->load->view('r_list_cuti', $data); } else { to_excel($this->load->view('r_list_cuti', $data), 'ReportLeave'); } }