Exemple #1
0
 public function post_savePayment()
 {
     Log::write('info', Request::ip() . ' User : '******' Event: Save Setoran', true);
     $jsondata = Input::json();
     //lihat KS
     $tabungan_pengemudi = 0;
     $ks_pengemudi = 0;
     if ((int) $jsondata->ks > 0) {
         $tabungan_pengemudi = (int) $jsondata->ks;
     } else {
         $ks_pengemudi = abs((int) $jsondata->ks);
     }
     $setoran = array();
     $setoran['1'] = (int) $jsondata->setoran_wajib;
     $setoran['2'] = (int) $jsondata->tab_sp;
     $setoran['3'] = (int) $jsondata->denda;
     $setoran['4'] = (int) $jsondata->pot;
     $setoran['5'] = (int) $jsondata->tag_spart;
     $setoran['6'] = (int) $jsondata->tag_ks;
     $setoran['7'] = (int) $jsondata->biaya_tc;
     $setoran['8'] = (int) $jsondata->iuran_laka;
     $setoran['9'] = (int) $jsondata->tag_cicilan_dp;
     $setoran['10'] = (int) $jsondata->tag_hut_lama;
     $setoran['11'] = (int) $ks_pengemudi;
     $setoran['12'] = (int) $jsondata->tag_other;
     $setoran['13'] = (int) $jsondata->tag_dp_spart;
     $setoran['20'] = (int) $jsondata->setoran_cash;
     $setoran['21'] = (int) $tabungan_pengemudi;
     try {
         foreach ($setoran as $key => $value) {
             $payment = Checkinfinancial::create(array('checkin_id' => $jsondata->checkin_id, 'financial_type_id' => $key, 'amount' => $value));
         }
         $checkin = Checkin::find($jsondata->checkin_id);
         /*
         /* membuat super block berdasarkan parameter ini
         /* 1. KS Pengemudi Melebihi atau sama dengan 500.000,- dalam bulan berjalan
         /* 2. Belum di devinisikan ( besar akumulasi batas KS ) 
         */
         $finandriver = DB::table('financial_report_monthly_driver_status')->where('month', '=', date('n', strtotime($checkin->operasi_time)))->where('year', '=', date('Y', strtotime($checkin->operasi_time)))->where('driver_id', '=', $checkin->driver_id)->where('operasi_status_id', '=', 1)->order_by('id', 'desc')->first();
         if ($setoran['11'] > 0) {
             Blocked::create(array('driver_id' => $checkin->driver_id, 'fleet_id' => $checkin->fleet_id, 'std_bap_id' => 4, 'checkin_id' => $checkin->id, 'date' => date('Y-m-d H:i:s', Myfungsi::sysdate())));
             $block = Driver::find($checkin->driver_id);
             $block->fg_blocked = 1;
             /*super block melebihi ks 500000*/
             if ($finandriver) {
                 if ($finandriver->selisi_ks < -500000) {
                     //$block->fg_super_blocked = 1;
                 }
             }
             $block->save();
         }
         //update status checkin
         //informasi siapa yang menerima setoran dan waktu setoran
         $checkin->checkin_step_id = 3;
         $checkin->finance_check_user_id = Auth::user()->id;
         $checkin->finance_time = date('Y-m-d H:i:s', Myfungsi::sysdate());
         $checkin->save();
         $pothutanglama = Driverfinancial::where_driver_id($checkin->driver_id)->where_financial_type_id(18)->first();
         if ($pothutanglama) {
             $pothutanglama->amount = $pothutanglama->amount - $jsondata->tag_hut_lama;
         }
         $tabunganpengemudi = Driverfinancial::where_driver_id($checkin->driver_id)->where_financial_type_id(21)->first();
         if ($tabunganpengemudi) {
             $tabunganpengemudi->amount = $tabunganpengemudi->amount + $tabungan_pengemudi;
         } else {
             Driverfinancial::create(array('driver_id' => $checkin->driver_id, 'financial_type_id' => 21, 'amount' => $tabungan_pengemudi));
         }
         $ks = Kewajiban::where_fleet_id($checkin->fleet_id)->where_driver_id($checkin->driver_id)->where_financial_type_id(6)->first();
         if ($ks) {
             $ks->total_amount = $ks->total_amount + $setoran['11'] - $setoran['6'];
         } else {
             Kewajiban::create(array('fleet_id' => $checkin->fleet_id, 'driver_id' => $checkin->driver_id, 'financial_type_id' => 6, 'amount' => 0, 'total_amount' => $setoran['11']));
         }
         $setor = Fleet::find($checkin->fleet_id);
         $setor->fg_setor = 0;
         $setor->save();
         /*
         if((int)$jsondata->denda > 10000)
         {
           Blocked::create(array(
                               'driver_id'=>$checkin->driver_id, 
                               'fleet_id' => $checkin->fleet_id , 
                               'blocked_status_id' => 6,
                               'checkin_id' => $checkin->id,  
                               'date'=> date('Y-m-d H:i:s') ));
         
           $block = Driver::find($checkin->driver_id);
           $block->fg_blocked = 1;
           $block->save();
         }
         */
         return json_encode(array('id' => $jsondata->checkin_id, 'msg' => 'Setoran berhasil di simpan'));
     } catch (Exception $e) {
         return json_encode(array('id' => $jsondata->checkin_id, 'msg' => 'Setoran Sudah pernah di input'));
     }
 }
Exemple #2
0
 public function get_findbyidFleetBlocking($id = false)
 {
     if (!$id) {
         return false;
     }
     $checkout = Checkout::find($id);
     $fleet = Fleet::find($checkout->fleet_id);
     $driver = Driver::find($checkout->driver_id);
     $kso = Kso::find($checkout->kso_id);
     $financial_driver = DB::table('financial_report_driver')->where('driver_id', '=', $checkout->driver_id)->first();
     $financial_fleet = DB::table('financial_report_bykso')->where('kso_id', '=', $checkout->kso_id)->first();
     $financial_fleet_part = DB::table('wo_financial_report_bykso')->where('kso_id', '=', $checkout->kso_id)->first();
     $fleet_ks = 0;
     $fleet_cicilan_ks = 0;
     $fleet_tabungan_sparepart = 0;
     $fleet_cicilan_db_kso = 0;
     $fleet_cicilan_sparepart = 0;
     $fleet_dp_sparepart = 0;
     if ($financial_fleet) {
         $fleet_ks = $financial_fleet->ks;
         $fleet_cicilan_ks = $financial_fleet->cicilan_ks;
         $fleet_tabungan_sparepart = $financial_fleet->tabungan_sparepart;
         $fleet_cicilan_db_kso = $financial_fleet->cicilan_dp_kso;
         $fleet_cicilan_sparepart = $financial_fleet->cicilan_sparepart;
         $fleet_dp_sparepart = $financial_fleet->hutang_dp_sparepart;
     }
     $total_pemakaian_part = 0;
     if ($financial_fleet_part) {
         $total_pemakaian_part = $financial_fleet_part->pemakaian_part;
     }
     //check hutang lama
     $hutang_lama = Driverfinancial::where_driver_id($checkout->driver_id)->where_financial_type_id('18')->first();
     $tagihan_hutang_lama = 0;
     if ($hutang_lama) {
         $tagihan_hutang_lama = $hutang_lama->amount;
     }
     $driver_ks = 0;
     $driver_cicilan_ks = 0;
     $cicilan_hutang_lama = 0;
     if ($financial_driver) {
         $driver_ks = $financial_driver->ks;
         $driver_cicilan_ks = $financial_driver->cicilan_ks;
         $cicilan_hutang_lama = $financial_driver->cicilan_hutang_lama;
     }
     $fleetinfo = array('police_number' => $fleet->police_number, 'bravo' => Driver::find($kso->bravo_driver_id)->name, 'taxi_number' => $fleet->taxi_number, 'total_ks' => $fleet_ks, 'pembayaran_ks' => $fleet_cicilan_ks, 'tab_sparepart' => $fleet_tabungan_sparepart, 'hutang_dp_kso' => $kso->sisa_dp, 'pem_hutang_dp_kso' => $fleet_cicilan_db_kso, 'pem_sparepart' => $total_pemakaian_part, 'saldo_unit' => number_format($fleet_cicilan_ks + $fleet_cicilan_db_kso - ($fleet_ks + $kso->sisa_dp) + ($fleet_tabungan_sparepart + $fleet_cicilan_sparepart + $fleet_dp_sparepart - $total_pemakaian_part), 2, ',', '.'), 'pembayaran_sparepart' => $fleet_cicilan_sparepart + $fleet_dp_sparepart, 'status' => $fleet->fg_blocked == 1 || $fleet->fg_bengkel == 1 ? 'Blocked' : 'Ready');
     $driverinfo = array('id' => $driver->id, 'name' => $driver->name, 'nip' => $driver->nip, 'saldo_ks_driver' => $driver_ks, 'pembayaran_ks_driver' => $driver_cicilan_ks, 'hutang_lama' => $tagihan_hutang_lama, 'cicilan_hutang_lama' => $cicilan_hutang_lama, 'status' => $driver->fg_blocked == 1 ? 'Blocked' : 'Ok');
     $bapinfo = array();
     $baps = Bap::where_driver_id($checkout->driver_id)->order_by('date', 'desc');
     $countbap = $baps->count();
     if ($baps->get()) {
         foreach ($baps->get() as $bap) {
             $bapinfo[] = array('id' => $bap->id, 'date' => $bap->date, 'bap_number' => $bap->bap_number, 'user' => User::find($bap->user_id)->fullname);
         }
     }
     $time = Myfungsi::sysdate();
     //date ajustment
     //strtotime($checkout->operasi_time);
     $t = strtotime($checkout->operasi_time . " 7 hours 0 seconds");
     $time_proses = false;
     if ($time >= $t) {
         $time_proses = true;
     }
     $returndata = array('checkout_id' => $id, 'fleetinfo' => $fleetinfo, 'driverinfo' => $driverinfo, 'bapinfo' => $bapinfo, 'countbap' => $countbap, 'time_proses' => $time_proses);
     return json_encode($returndata);
 }
Exemple #3
0
 public function get_findbyIdDriver($id = false)
 {
     if (!$id) {
         return false;
     }
     $driver = Driver::find($id);
     $financial_driver = DB::table('financial_report_driver')->where('driver_id', '=', $driver->id)->first();
     //check hutang lama
     $hutang_lama = Driverfinancial::where_driver_id($driver->id)->where_financial_type_id('18')->first();
     $tagihan_hutang_lama = 0;
     if ($hutang_lama) {
         $tagihan_hutang_lama = $hutang_lama->amount;
     }
     $driver_ks = 0;
     $driver_cicilan_ks = 0;
     $cicilan_hutang_lama = 0;
     if ($financial_driver) {
         $driver_ks = $financial_driver->ks;
         $driver_cicilan_ks = $financial_driver->cicilan_ks;
         $cicilan_hutang_lama = $financial_driver->cicilan_hutang_lama;
     }
     $driverinfo = array('id' => $driver->id, 'name' => $driver->name, 'nip' => $driver->nip, 'saldo_ks_driver' => number_format($driver_ks, 2, ',', '.'), 'pembayaran_ks_driver' => number_format($driver_cicilan_ks, 2, ',', '.'), 'hutang_lama' => number_format($tagihan_hutang_lama, 2, ',', '.'), 'cicilan_hutang_lama' => number_format($cicilan_hutang_lama, 2, ',', '.'), 'status' => $driver->fg_blocked == 1 ? 'Blocked' : 'Ok');
     $bapinfo = array();
     $baps = Bap::where_driver_id($driver->id)->order_by('date', 'desc');
     $countbap = $baps->count();
     if ($baps->get()) {
         foreach ($baps->get() as $bap) {
             $bapinfo[] = array('id' => $bap->id, 'date' => $bap->date, 'bap_number' => $bap->bap_number, 'user' => User::find($bap->user_id)->fullname);
         }
     }
     $returndata = array('driverinfo' => $driverinfo, 'bapinfo' => $bapinfo, 'countbap' => $countbap);
     return json_encode($returndata);
 }