public function reporteSoloInvernadero($request, $filtros) { //Castear fechas $fecha = $request->fechaInicio . " 00:00:00"; $fechaInf = Carbon::createFromFormat("d/m/Y H:i:s", $fecha); $fecha = $request->fechaFin . " 23:59:59"; $fechaSup = Carbon::createFromFormat("d/m/Y H:i:s", $fecha); $invernaderos = invernaderoPlantula::select('id', 'nombre')->where('id', $request->invernadero)->get(); /*Un arreglo para almacenar resultado de busqueda de cada filtro*/ $arraySiembras = null; $arrayRiegos = null; $arrayAplicaciones = null; $arrayCosechas = null; ///////////////////////////////Siembras//////////////////////////////////////////////////// if ($filtros['siembras']) { $arraySiembras[0]['Invernadero plántula'] = ""; $arraySiembras[0]['Cultivo'] = ""; $arraySiembras[0]['Variedad'] = ""; $arraySiembras[0]['Contenedor'] = ""; $arraySiembras[0]['Sustrato'] = ""; $arraySiembras[0]['Número de plantas'] = ""; $arraySiembras[0]['Destino'] = ""; $arraySiembras[0]['Fecha de siembra'] = ""; $arraySiembras[0]['Status'] = ""; $arraySiembras[0]['Fecha de terminación'] = ""; $arraySiembras[0]['Comentario'] = ""; $i = 0; foreach ($invernaderos as $invernadero) { $siembras = $invernadero->siembras()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($siembras as $siembra) { $cultivo = cultivo::find($siembra->id_cultivo); $arraySiembras[$i]['Invernadero plántula'] = $invernadero->nombre; if ($cultivo != null) { $arraySiembras[$i]['Cultivo'] = $cultivo->nombre; } else { $arraySiembras[$i]['Cultivo'] = ""; } $arraySiembras[$i]['Variedad'] = $siembra->variedad; $arraySiembras[$i]['Contenedor'] = $siembra->contenedor; $arraySiembras[$i]['Sustrato'] = $siembra->sustrato; $arraySiembras[$i]['Número de plantas'] = $siembra->numPlantas; $arraySiembras[$i]['Destino'] = $siembra->destino; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $fecha = $fecha->format('d/m/Y'); $arraySiembras[$i]['Fecha de siembra'] = $fecha; $arraySiembras[$i]['Status'] = $siembra->status; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fechaTerminacion); $fecha = $fecha->format('d/m/Y'); $arraySiembras[$i]['Fecha de terminación'] = $fecha; $arraySiembras[$i]['Comentario'] = $siembra->comentario; $i++; } } } //dd($arraySiembras); //////////////////////////////////////Riegos/////////////////////////////////////////////////// if ($filtros['riegos']) { $arrayRiegos[0]['Invernadero plántula'] = ""; $arrayRiegos[0]['Siembra'] = ""; $arrayRiegos[0]['Tiempo riego'] = ""; $arrayRiegos[0]['Frecuencia'] = ""; $arrayRiegos[0]['Formulación'] = ""; $arrayRiegos[0]['Fecha'] = ""; $i = 0; foreach ($invernaderos as $invernadero) { $riegos = $invernadero->riegos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($riegos as $riego) { $siembra = siembraPlantula::find($riego->id_siembraPlantula); $arrayRiegos[$i]['Invernadero plántula'] = $invernadero->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayRiegos[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha; } else { $arrayRiegos[$i]['Siembra'] = $siembra->variedad . ' ' . $fecha; } } else { $arrayRiegos[$i]['Siembra'] = ""; } $arrayRiegos[$i]['Tiempo riego'] = $riego->tiempoRiego; $arrayRiegos[$i]['Frecuencia'] = $riego->frecuencia; $arrayRiegos[$i]['Formulación'] = $riego->formulacion; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $riego->fecha); $fecha = $fecha->format('d/m/Y'); $arrayRiegos[$i]['Fecha'] = $fecha; $i++; } } } // dd($arrayRiegos); //////////////////////////////////////Aplicaciones/////////////////////////////////////////////////// if ($filtros['aplicaciones']) { $arrayAplicaciones[0]['Invernadero plántula'] = ""; $arrayAplicaciones[0]['Siembra'] = ""; $arrayAplicaciones[0]['Aplicación'] = ""; $arrayAplicaciones[0]['Tipo de aplicación'] = ""; $arrayAplicaciones[0]['Producto'] = ""; $arrayAplicaciones[0]['Cantidad'] = ""; $arrayAplicaciones[0]['Fecha'] = ""; $arrayAplicaciones[0]['Comentario'] = ""; $i = 0; foreach ($invernaderos as $invernadero) { $aplicaciones = $invernadero->aplicaciones()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($aplicaciones as $aplicacion) { $siembra = siembraPlantula::find($aplicacion->id_siembraPlantula); $arrayAplicaciones[$i]['Invernadero plántula'] = $invernadero->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayAplicaciones[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha; } else { $arrayAplicaciones[$i]['Siembra'] = $siembra->variedad . ' ' . $fecha; } } else { $arrayAplicaciones[$i]['Siembra'] = ""; } $arrayAplicaciones[$i]['Aplicación'] = $aplicacion->aplicacion; $arrayAplicaciones[$i]['Tipo de aplicación'] = $aplicacion->tipoAplicacion; $arrayAplicaciones[$i]['Producto'] = $aplicacion->producto; $arrayAplicaciones[$i]['Cantidad'] = $aplicacion->cantidad; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $aplicacion->fecha); $fecha = $fecha->format('d/m/Y'); $arrayAplicaciones[$i]['Fecha'] = $fecha; $arrayAplicaciones[$i]['Comentario'] = $aplicacion->comentario; $i++; } } } // dd($arrayAplicaciones); ///////////////////////////////Salida planta//////////////////////////////////////////////////// if ($filtros['cosechas']) { $arrayCosechas[0]['Invernadero plántula'] = ""; $arrayCosechas[0]['Siembra'] = ""; $arrayCosechas[0]['Fecha'] = ""; $arrayCosechas[0]['Comentario'] = ""; $i = 0; foreach ($invernaderos as $invernadero) { $cosechas = $invernadero->salidas()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($cosechas as $cosecha) { $siembra = siembraPlantula::find($cosecha->id_siembraPlantula); $arrayCosechas[$i]['Invernadero plántula'] = $invernadero->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayCosechas[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha; } else { $arrayCosechas[$i]['Siembra'] = $siembra->variedad . ' ' . $fecha; } } else { $arrayCosechas[$i]['Siembra'] = ""; } $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $cosecha->fecha); $fecha = $fecha->format('d/m/Y'); $arrayCosechas[$i]['Fecha'] = $fecha; $arrayCosechas[$i]['Comentario'] = $cosecha->comentario; $i++; } } } //dd($arrayCosechas); /* * Almacena cada resultado en un array, cada fila de este nuevo array tiene lo siguiente: * Posicion [x][0] los resultados de busqueda de ese filtro * Posicion [x][1] el titulo de esa busqueda, dicho titulo se usara para imprimirse como titulo de la hoja de excel */ $arrays[0][0] = $arraySiembras; $arrays[0][1] = "Siembras"; $arrays[1][0] = $arrayRiegos; $arrays[1][1] = "Riegos"; $arrays[2][0] = $arrayAplicaciones; $arrays[2][1] = "Aplicaciones"; $arrays[3][0] = $arrayCosechas; $arrays[3][1] = "Salidas de planta"; $arrays[4][0] = null; $arrays[4][1]['fechaInf'] = $request->fechaInicio; $arrays[5][0] = null; $arrays[5][1]['fechaSup'] = $request->fechaFin; $string = str_random(40); $request->session()->put($string, $arrays); return $string; // $this->exportarExcel($request->fechaInicio,$request->fechaFin,$arrays); }