예제 #1
0
 /**
  * sum loader.
  *
  * @return
  */
 public function dailysum(Request $request)
 {
     $date = $request->get('dateops', date('Y-m-d'));
     $shift_id = $request->get('shift_id', 0);
     $checkins = $this->checkins->where('operasi_time', $date)->where('pool_id', $this->user->pool_id)->where('shift_id', $shift_id)->get();
     $financialdata['ks'] = 0;
     $financialdata['total'] = 0;
     $financialdata['setoranops'] = 0;
     $financialdata = [];
     //set default 0
     foreach ($this->label as $key => $value) {
         $financialdata[$value] = 0;
     }
     foreach ($checkins as $finan) {
         $financial = $finan->financial;
         if ($financial) {
             foreach ($financial as $mony) {
                 $financialdata[$this->label[$mony->financial_type_id]] += $mony->amount;
             }
             $financialdata['ks'] = $financialdata['setoran_cash'] - ($financialdata['setoran_wajib'] + $financialdata['tabungan_sparepart'] + $financialdata['denda'] + $financialdata['cicilan_sparepart'] + $financialdata['cicilan_ks'] + $financialdata['biaya_cuci'] + $financialdata['iuran_laka'] + $financialdata['cicilan_dp_kso'] + $financialdata['cicilan_hutang_lama'] + $financialdata['cicilan_lain'] + $financialdata['hutang_dp_sparepart'] - $financialdata['potongan']);
             $financialdata['total'] = $financialdata['setoran_wajib'] + $financialdata['tabungan_sparepart'] + $financialdata['denda'] + $financialdata['cicilan_sparepart'] + $financialdata['cicilan_ks'] + $financialdata['biaya_cuci'] + $financialdata['iuran_laka'] + $financialdata['cicilan_dp_kso'] + $financialdata['cicilan_hutang_lama'] + $financialdata['cicilan_lain'] + $financialdata['hutang_dp_sparepart'];
             $financialdata['setoranops'] = $financialdata['setoran_cash'] - ($financialdata['biaya_cuci'] + $financialdata['iuran_laka']);
         }
     }
     return response($financialdata, 200)->header('Content-Type', 'application/json');
 }
예제 #2
0
 /**
  * json.
  *
  * @return
  */
 public function json(Request $request)
 {
     $date = $request->get('dateops', date('Y-m-d'));
     $kso_id = $request->get('kso_id', 0);
     $page = $request->get('page');
     $limit = $request->get('rows');
     $sidx = $request->get('sidx', 'operasi_time');
     $sord = $request->get('sord', 'asc');
     $year = date('Y', strtotime($date));
     $month = date('n', strtotime($date));
     $checkins = $this->checkins->where('kso_id', $kso_id)->whereRaw('YEAR(operasi_time) = ? AND MONTH(operasi_time) = ?', [$year, $month]);
     $count = $checkins->count();
     if ($count > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     if ($page > $total_pages) {
         $page = $total_pages;
     }
     $start = $limit * $page - $limit;
     if ($start < 0) {
         $start = 0;
     }
     $financials = $checkins->skip($start)->take($limit)->orderBy($sidx, $sord)->get();
     $data['page'] = $page;
     $data['total'] = $total_pages;
     $data['records'] = $count;
     $no = $start + 0;
     $totalks = 0;
     $selisi_ks = 0;
     $setoranops = 0;
     $total = 0;
     $denda = 0;
     $cicilan_ks = 0;
     $cicilan_dp_kso = 0;
     foreach ($financials as $finan) {
         $no++;
         $driver = $finan->driver;
         $status = $finan->status;
         $financial = $finan->financial;
         $bapakasuh = $finan->fleet->bapakasuh()->wherePivot('status', 1)->first();
         $namabapakasuh = $bapakasuh ? $bapakasuh->first_name . ' ' . $bapakasuh->last_name : 'N/A';
         $datainfromation = ['no' => $no, 'nip' => $driver ? $driver->nip : 'N/A', 'nama' => $driver ? $driver->name : 'N/A', 'checkin_time' => $finan->checkin_time->format('Y-m-d H:i:s'), 'bapakasuh' => $namabapakasuh, 'operasi_time' => $finan->operasi_time, 'operasi_status_id' => $status ? $status->kode : 'N/A'];
         $financialdata = [];
         //set default 0
         foreach ($this->label as $key => $value) {
             $financialdata[$value] = 0;
         }
         if ($financial) {
             foreach ($financial as $mony) {
                 $financialdata[$this->label[$mony->financial_type_id]] = $mony->amount;
             }
             $financialdata['ks'] = $financialdata['setoran_cash'] - ($financialdata['setoran_wajib'] + $financialdata['tabungan_sparepart'] + $financialdata['denda'] + $financialdata['cicilan_sparepart'] + $financialdata['cicilan_ks'] + $financialdata['biaya_cuci'] + $financialdata['iuran_laka'] + $financialdata['cicilan_dp_kso'] + $financialdata['cicilan_hutang_lama'] + $financialdata['cicilan_lain'] + $financialdata['hutang_dp_sparepart'] - $financialdata['potongan']);
             $financialdata['total'] = $financialdata['setoran_wajib'] + $financialdata['tabungan_sparepart'] + $financialdata['denda'] + $financialdata['cicilan_sparepart'] + $financialdata['cicilan_ks'] + $financialdata['biaya_cuci'] + $financialdata['iuran_laka'] + $financialdata['cicilan_dp_kso'] + $financialdata['cicilan_hutang_lama'] + $financialdata['cicilan_lain'] + $financialdata['hutang_dp_sparepart'];
             $financialdata['setoranops'] = $financialdata['setoran_cash'] - ($financialdata['biaya_cuci'] + $financialdata['iuran_laka']);
             $totalks += $financialdata['ks'];
             $selisi_ks += 0;
             $setoranops += $financialdata['setoranops'];
             $total += $financialdata['total'];
             $denda += $financialdata['denda'];
             $cicilan_ks += $financialdata['cicilan_ks'];
             $cicilan_dp_kso += $financialdata['cicilan_dp_kso'];
         }
         $data['rows'][] = $datainfromation + $financialdata;
     }
     $data['userdata']['operasi_time'] = 'TOTAL';
     $data['userdata']['ks'] = $totalks;
     $data['userdata']['selisi_ks'] = $selisi_ks;
     $data['userdata']['setoranops'] = $setoranops;
     $data['userdata']['total'] = $total;
     $data['userdata']['denda'] = $denda;
     $data['userdata']['cicilan_ks'] = $cicilan_ks;
     $data['userdata']['cicilan_dp_kso'] = $cicilan_dp_kso;
     return response($data, 200)->header('Content-Type', 'application/json');
 }