Ejemplo n.º 1
0
 function list_data($id_emp = NULL, $period = NULL)
 {
     $period = "2015-11-16~2015-12-15";
     permission();
     $data['emp'] = GetAll("kg_view_employee", array("person_id" => "where/" . $id_emp));
     $data['id_emp'] = $id_emp;
     $data['period'] = $period;
     $data['date'] = substr($period, 11, 10);
     $exp = explode("-", $data['date']);
     $data['last_date'] = date("Y-m-d", mktime(0, 0, 0, $exp[1], $exp[0], $exp[2]));
     $data['ot_rasio'] = GetOTRasio($id_emp, $data['date']);
     $data['ot_rasio_last'] = GetOTRasio($id_emp, $data['last_date']);
     $data['ot_rasio_selisih'] = str_replace("%", "", $data['ot_rasio']) - str_replace("%", "", $data['ot_rasio_last']);
     if (str_replace("%", "", $data['ot_rasio']) > str_replace("%", "", $data['ot_rasio_last'])) {
         $data['high_low'] = "higher";
     } else {
         $data['high_low'] = "lower";
     }
     //$data['detail'] = $this->att->get_by_id($id_emp, $param)->result_array();
     $this->load->view('list_data', $data);
 }
Ejemplo n.º 2
0
 function form_overtime($flag = NULL)
 {
     $webmaster_id = permission();
     $data['path_file'] = $this->filename;
     $data['flag'] = $data['id'] = $flag;
     $data['tgl'] = "";
     $data['time_in'] = $data['time_out'] = $data['scan_in'] = $data['scan_out'] = $data['start_ovt'] = $data['end_ovt'] = "";
     $data['ovt_flag'] = $data['ovt_reason'] = $data['ovt_detail_reason'] = $data['ovt_feedback'] = $data['ovt_status'] = "";
     $data['id_emp'] = $data['ot_rasio'] = $data['actual_hours'] = $data['cal_hours'] = $data['revisi'] = "";
     $data['opt_reason'] = GetOptReason();
     $data['opt_ovt_flag'] = array(array("J", "J"), array("O", "O"), array("T", "T"), array("N.A.", "N.A."));
     $data['opt_status'] = GetOptStatusForm();
     if ($flag) {
         $q = GetAll("kg_view_overtime", 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['tgl'] = $r['date_full'];
                 $data['time_in'] = $r['time_in'];
                 $data['time_out'] = $r['time_out'];
                 $data['scan_in'] = $r['scan_masuk'];
                 $data['scan_out'] = $r['scan_pulang'];
                 $data['start_ovt'] = $r['start_ovt_ref'] ? $r['start_ovt_ref'] : $r['start_ovt'];
                 $data['end_ovt'] = $r['end_ovt_ref'] ? $r['end_ovt_ref'] : $r['end_ovt'];
                 $data['ovt_flag'] = $r['ovt_flag'];
                 $data['ovt_reason'] = $r['id_reason'];
                 $data['ovt_detail_reason'] = $r['ovt_detail_reason'];
                 $data['ovt_feedback'] = $r['ovt_feedback'] == 0 ? "" : $r['ovt_feedback'];
                 $data['ovt_status'] = $r['ovt_status'];
                 if ($r['create_user_id'] == $webmaster_id) {
                     $data['flag'] = "";
                     $this->db->where("id", $flag);
                     $this->db->update("kg_overtime", array("is_read" => 1));
                 }
                 //Cek Revisi
                 if (($r['start_ovt'] != $r['start_ovt_ref'] || $r['end_ovt'] != $r['end_ovt_ref']) && $r['ovt_status'] == "Approve") {
                     $revisi = 1;
                 } else {
                     $revisi = 0;
                 }
                 $data['revisi'] = $revisi;
                 //Detail OT
                 $data['ot_rasio'] = GetOTRasio($r['id_employee'], $r['date_full']);
                 $sum_cal = GetOTCal($r['id_employee'], $r['date_full']);
                 $exp = explode("~", $sum_cal);
                 $data['actual_hours'] = $exp[0];
                 $data['cal_hours'] = $exp[1];
             } else {
                 $data['flag'] = "";
             }
         }
     }
     $this->load->view('form_overtime', $data);
 }
Ejemplo n.º 3
0
 function get_ot_value($emp_id, $period_id, $monthly_income_id)
 {
     $is_management = getValue('job_level', 'kg_view_overtime', array('id_employee' => 'where/' . $emp_id));
     $filter_period = array('id' => 'where/' . $period_id);
     $month = getValue('month', 'payroll_period', $filter_period);
     $year = getValue('year', 'payroll_period', $filter_period);
     $date_end = $year . '-' . $month . '-' . '15';
     $date_start = date("Y-m-d", strtotime(date($date_end, strtotime(date("Y-m-d"))) . "-1 month"));
     $date_start = date("Y-m-d", strtotime(date($date_start, strtotime(date("Y-m-d"))) . "+1 day"));
     //Acc Ovt
     $acc = 0;
     $q = GetAll("kg_view_overtime", array("id_employee" => "where/" . $emp_id, "date_full >=" => "where/" . $date_start, "date_full <=" => "where/" . $date_end, "date_temp" => "where/0000-00-00"));
     foreach ($q->result_array() as $s) {
         if ($s['job_level'] != "nonmanagement") {
             if ($s['ovt_hour_sum'] >= 2) {
                 $acc += $s['ovt_hour_sum'];
             }
         } else {
             $acc += $s['ovt_hour_cal'];
         }
     }
     //print_mz($acc);
     $q = GetAll("kg_view_overtime", array("id_employee" => "where/" . $emp_id, "date_temp >=" => "where/" . $date_start, "date_temp <=" => "where/" . $date_end));
     foreach ($q->result_array() as $s) {
         if ($s['job_level'] != "nonmanagement") {
             if ($s['ovt_hour_sum'] >= 2) {
                 $acc += $s['ovt_hour_sum'];
             }
         } else {
             $acc += $s['ovt_hour_cal'];
         }
     }
     if ($is_management != "nonmanagement") {
         $upah = $acc * GetConfigDirect('rest_time');
         $component_id = 82;
         $num_rows = GetAllSelect('payroll_monthly_income_component', 'payroll_component_id', array('payroll_monthly_income_id' => 'where/' . $monthly_income_id, 'payroll_component_id' => 'where/' . $component_id))->num_rows();
         $data = array('payroll_monthly_income_id' => $monthly_income_id, 'payroll_component_id' => $component_id, 'value' => $upah);
         if ($num_rows > 0) {
             $this->db->where('payroll_monthly_income_id', $monthly_income_id)->where('payroll_component_id', $component_id)->update('payroll_monthly_income_component', $data);
         } else {
             $this->db->insert('payroll_monthly_income_component', $data);
         }
     } else {
         $upah = $acc * (GetGapok($emp_id, $date_start) + GetHA($emp_id, $date_start)) / GetConfigDirect('total_hour_ovt');
         $component_id = 82;
         $num_rows = GetAllSelect('payroll_monthly_income_component', 'payroll_component_id', array('payroll_monthly_income_id' => 'where/' . $monthly_income_id, 'payroll_component_id' => 'where/' . $component_id))->num_rows();
         $data = array('payroll_monthly_income_id' => $monthly_income_id, 'payroll_component_id' => $component_id, 'value' => $upah);
         if ($num_rows > 0) {
             $this->db->where('payroll_monthly_income_id', $monthly_income_id)->where('payroll_component_id', $component_id)->update('payroll_monthly_income_component', $data);
         } else {
             $this->db->insert('payroll_monthly_income_component', $data);
         }
     }
     $ot_rasio = GetOTRasio($emp_id, $date_end);
     //$upah / (GetGapok($emp_id, $exp[0]) + GetHA($emp_id, $exp[0]) + $upah) * 100;
     return $upah;
     //$data[] = array($no, $r->ext_id, $r->person_nm, GetMonth(intval(substr($tgl,16,2))).' '.substr($tgl,11,4), $r->ovt_hour_sum, $acc, Decimal($ot_rasio)."%", Rupiah($upah), $edit);
 }
Ejemplo n.º 4
0
 function export_ovt_rekap($tgl = NULL, $regs = NULL, $div = NULL, $sec = NULL, $pos = NULL, $grade = NULL)
 {
     $this->load->model('overtime_model', 'ovt');
     $param = array("tgl" => $tgl, "rekap" => "rekap", "regs" => $regs, "divisi" => $div, "section" => $sec, "position" => $pos, "grade" => $grade);
     $exp = explode("~", $tgl);
     $list = $this->ovt->get_datatables($param);
     $dataz = array();
     $no = 0;
     //$_POST['start'];
     foreach ($list->result() as $r) {
         $no++;
         //Acc Ovt
         $acc = 0;
         $q = GetAll("kg_view_overtime", array("id_employee" => "where/" . $r->id_employee, "date_full >=" => "where/" . $exp[0], "date_full <=" => "where/" . $exp[1], "date_temp" => "where/0000-00-00"));
         foreach ($q->result_array() as $s) {
             if ($s['job_level'] != "nonmanagement") {
                 if ($s['ovt_hour_sum'] >= 2) {
                     $acc += $s['ovt_hour_sum'];
                 }
             } else {
                 $acc += $s['ovt_hour_cal'];
             }
         }
         $q = GetAll("kg_view_overtime", array("id_employee" => "where/" . $r->id_employee, "date_temp >=" => "where/" . $exp[0], "date_temp <=" => "where/" . $exp[1]));
         foreach ($q->result_array() as $s) {
             if ($s['job_level'] != "nonmanagement") {
                 if ($s['ovt_hour_sum'] >= 2) {
                     $acc += $s['ovt_hour_sum'];
                 }
             } else {
                 $acc += $s['ovt_hour_cal'];
             }
         }
         if ($r->job_level != "nonmanagement") {
             $upah = $acc * GetConfigDirect('rest_time');
         } else {
             $upah = $acc * (GetGapok($r->id_employee, $exp[0]) + GetHA($r->id_employee, $exp[0])) / GetConfigDirect('total_hour_ovt');
         }
         $ot_rasio = GetOTRasio($r->id_employee, $exp[1]);
         //$upah / (GetGapok($r->id_employee, $exp[0]) + GetHA($r->id_employee, $exp[0]) + $upah) * 100;
         //$edit = '<a class="btn btn-sm btn-primary" href="javascript:void(0);" onclick="detailOvertime('."'".$r->id_employee."'".')"><i class="glyphicon glyphicon-info-sign"></i> Detail</a>';
         $dataz[] = array($no, $r->ext_id, $r->person_nm, GetMonth(intval(substr($tgl, 16, 2))) . ' ' . substr($tgl, 11, 4), Decimal($r->ovt_hour_sum, 1), Decimal($acc), $ot_rasio, Number($upah));
     }
     $data['list'] = $dataz;
     //print_mz($data['list']);
     $html = $this->load->view('export_overtime_rekap', $data);
     to_excel($html, 'ReportOvertimeRekap');
 }