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); }