KOKINIO - MANAGER
Edit File: MetricasController.php
<?php namespace Trash\Http\Controllers; use Illuminate\Http\Request; use Trash\Http\Requests; use Trash\Http\Controllers\Controller; use Trash\Ordenes; use Trash\CombustibleOrden; use Trash\VertederoOrden; use stdClass; class MetricasController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $ordenes = new Ordenes(); $orden = $ordenes->orden_mes_year(); $orden_year = $orden->getData()->data; return view('catalogo.Metricas')->with(compact('orden_year')); } public function metrica_op(Request $request){ $op = $request->input('op'); $year = $request->input('year'); $month = $request->input('month'); switch($op){ case 1: $ordenes = new Ordenes(); $reciclable = $ordenes->metricasReciclables($year); if (isset($reciclable)){ $meses = $this->sumMonth($reciclable); $total = array_sum(array_map(function($item) { return $item->peso_kg; }, $reciclable)); } return view('catalogo.metricaReciclable')->with(compact('reciclable','total','meses','year')); break; case 2: $ordenes = new Ordenes(); $residuos = $ordenes->metricasResiduos($year) ?? []; if(isset($residuos)){ $meses = $this->sumMonth($residuos); $total = array_sum(array_map(function($item) { return $item->total; }, $residuos)); } return view('catalogo.metricaResiduos')->with(compact('residuos','total','meses','year')); break; case 3: $ordenes = new Ordenes(); $unidades = $ordenes->metricasUnidad($year); return view('catalogo.metricaUnidad')->with(compact('unidades','year')); break; case 4: $ordenes = new Ordenes(); $cobro = $ordenes->metricasCobroChofer($year, $month); $cobroTotal = $ordenes->metricasCobroTotal($year, $month); return view('catalogo.metricaCobro')->with(compact('cobro','cobroTotal','year','month')); break; case 5: $ordenes = new Ordenes(); $utilidad = $ordenes->metricasUtilidad($year, $month); return view('catalogo.metricaUtilidad')->with(compact('utilidad','year','month')); break; case 6: $ordenes = new Ordenes(); $residuos = $ordenes->metricasReciclablesCantidad($year); if (isset($residuos)){ $meses = $this->sumMonth($residuos); $total = array_sum(array_map(function($item) { return $item->total; }, $residuos)); } return view('catalogo.metricaResiduosCantidad')->with(compact('residuos','total','meses','year')); break; case 7: $combustibleOrden = new CombustibleOrden(); $getCombustibleOrden = $combustibleOrden->getCombustibleOrden($year, $month); $combustibleOrdenYear = $combustibleOrden->getCombustibleOrdenYear($year); $combustibleObject = []; if (isset($getCombustibleOrden)) { $total = 0; $litros = 0.0; $notesAdded = []; $subtotales = []; $nombre = ''; $totalChofer = 0; $litrosChofer = 0.0; $prev = []; foreach($getCombustibleOrden as $key => $value) { $semana = $value->semana; $year = $value->year; $total += $value->total; $totalChofer += $value->total; $litros += floatval($value->litros); $litrosChofer += floatval($value->litros); $nombre = $value->nombre; array_push($notesAdded, $value); $combustibleObject['semana-'.$semana] = ['semana' => $semana, 'year' => $year, 'total' => 0, 'litros' => 0, 'notas' => null]; $combustibleObject['semana-'.$semana]['total'] += $total; $combustibleObject['semana-'.$semana]['litros'] += $litros; $combustibleObject['semana-'.$semana]['notas'] = $notesAdded; if (isset($getCombustibleOrden[$key + 1]) && $value->semana != $getCombustibleOrden[$key + 1]->semana) { $combustibleObject['semana-'.$semana]['subtotales'] = $subtotales; $total = 0; $litros = 0; $notesAdded = []; } } } return view('catalogo.metricaCombustible')->with(compact('combustibleObject', 'combustibleOrdenYear')); break; case 8: $type = $request->input('type'); $vertederoOrden = new VertederoOrden(); $getVertederoOrden = $vertederoOrden->getVertederoOrden($year, $month, $type); $vertederoOrdenYear = $vertederoOrden->getVertederoOrdenYear($year); $vertederoObject = []; if (isset($getVertederoOrden)) { $total = 0; $pesoNeto = 0; $notesAdded = []; foreach($getVertederoOrden as $key => $value) { $semana = $value->semana; $year = $value->year; $total += $value->total; $pesoNeto += floatval($value->peso_neto); array_push($notesAdded, $value); $vertederoObject['semana-'.$semana] = ['semana' => $semana, 'year' => $year, 'peso_neto' => 0, 'total' => 0, 'notas' => null]; $vertederoObject['semana-'.$semana]['total'] += $total; $vertederoObject['semana-'.$semana]['peso_neto'] += $pesoNeto; $vertederoObject['semana-'.$semana]['notas'] = $notesAdded; if (isset($getVertederoOrden[$key + 1]) && $value->semana != $getVertederoOrden[$key + 1]->semana) { $total = 0; $pesoNeto = 0; $notesAdded = []; } } } return view('catalogo.metricaVertedero')->with(compact('vertederoObject', 'vertederoOrdenYear', 'type')); break; } } public function sumMonth($data){ $meses = []; $m1 = 0; $m2 = 0; $m3 = 0; $m4 = 0; $m5 = 0; $m6 = 0; $m7 = 0; $m8 = 0; $m9 = 0; $m10 = 0; $m11 = 0; $m12 = 0; foreach($data as $key => $values){ $m1 += $values->mes_1; $m2 += $values->mes_2; $m3 += $values->mes_3; $m4 += $values->mes_4; $m5 += $values->mes_5; $m6 += $values->mes_6; $m7 += $values->mes_7; $m8 += $values->mes_8; $m9 += $values->mes_9; $m10 += $values->mes_10; $m11 += $values->mes_11; $m12 += $values->mes_12; $meses[1] = [$m1]; $meses[2] = [$m2]; $meses[3] = [$m3]; $meses[4] = [$m4]; $meses[5] = [$m5]; $meses[6] = [$m6]; $meses[7] = [$m7]; $meses[8] = [$m8]; $meses[9] = [$m9]; $meses[10] = [$m10]; $meses[11] = [$m11]; $meses[12] = [$m12]; } return $meses; } }