示例#1
0
 private function g_izvjestaj($id, $godina)
 {
     if (is_null($godina)) {
         $godina = date('Y');
     }
     $primanja = Naplata::select(DB::raw('month(pocetak_rada) as mjesec, ' . 'COALESCE(sum(stvarna_kolicina*trajanje),0) as minuta, ' . 'COALESCE(sum(za_instruktora),0) as za_instruktora, ' . 'COALESCE(sum(za_tvrtku),0) as za_tvrtku, ' . 'COALESCE(sum(ukupno_uplaceno),0) as ukupno_uplaceno'))->leftJoin('rezervacije', 'naplate.rezervacija_id', '=', 'rezervacije.id')->join('mjere', 'mjere.id', '=', 'naplate.stvarna_mjera');
     if (!is_null($id)) {
         $primanja = $primanja->where('rezervacije.instruktor_id', '=', $id);
     }
     $primanja = $primanja->where(DB::raw('year(pocetak_rada)'), '=', $godina)->groupBy(DB::raw('month(pocetak_rada)'))->get();
     $mjeseci = array(1 => 'Siječanj', 'Veljača', 'Ožujak', 'Travanj', 'Svibanj', 'Lipanj', 'Srpanj', 'Kolovoz', 'Rujan', 'Listopad', 'Studeni', 'Prosinac');
     foreach ($mjeseci as $m) {
         $zarada[$m] = array('sati' => 0, 'za_instruktora' => 0, 'za_tvrtku' => 0, 'ukupno_uplaceno' => 0);
     }
     $minuta = 0;
     $za_instruktora = 0;
     $za_tvrtku = 0;
     $ukupno_uplaceno = 0;
     foreach ($primanja as $p) {
         $zarada[$mjeseci[$p['mjesec']]]['sati'] = $p['minuta'] / 60;
         $minuta += $p['minuta'];
         $zarada[$mjeseci[$p['mjesec']]]['za_instruktora'] = $p['za_instruktora'];
         $za_instruktora += $p['za_instruktora'];
         $zarada[$mjeseci[$p['mjesec']]]['za_tvrtku'] = $p['za_tvrtku'];
         $za_tvrtku += $p['za_tvrtku'];
         $zarada[$mjeseci[$p['mjesec']]]['ukupno_uplaceno'] = $p['ukupno_uplaceno'];
         $ukupno_uplaceno += $p['ukupno_uplaceno'];
     }
     $zarada['Ukupno'] = array('sati' => $minuta / 60, 'za_instruktora' => $za_instruktora, 'za_tvrtku' => $za_tvrtku, 'ukupno_uplaceno' => $ukupno_uplaceno);
     return View::make('Izvjestaj.godisnji_izvjestaj')->with('godina', $godina)->with('zarada', $zarada);
 }