public function reporteSoloSector($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); $sectores = null; if ($request->sector == "") { $sectores = Sector::select('id', 'nombre')->orderBy('nombre', 'asc')->get(); } else { $sectores = Sector::select('id', 'nombre')->where('id', $request->sector)->get(); } /*Un arreglo para almacenar resultado de busqueda de cada filtro*/ $arrayPreparaciones = null; $arraySiembras = null; $arrayFertilizaciones = null; $arrayRiegos = null; $arrayMantenimientos = null; $arrayCosechas = null; ///////////////////////////////Preparaciones//////////////////////////////////////////////////// if ($filtros['preparaciones']) { $arrayPreparaciones[0]['Sector'] = ""; $arrayPreparaciones[0]['Maquinaria'] = ""; $arrayPreparaciones[0]['Número de pasadas'] = 0; $arrayPreparaciones[0]['Fecha'] = ""; $i = 0; foreach ($sectores as $sector) { $preparaciones = $sector->preparaciones()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($preparaciones as $preparacion) { $maquinaria = maquinaria::findOrFail($preparacion->id_maquinaria); $arrayPreparaciones[$i]['Sector'] = $sector->nombre; $arrayPreparaciones[$i]['Maquinaria'] = $maquinaria->nombre; $arrayPreparaciones[$i]['Número de pasadas'] = $preparacion->numPasadas; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $preparacion->fecha); $preparacion->fecha = $fecha->format('d/m/Y'); $arrayPreparaciones[$i]['Fecha'] = $preparacion->fecha; $i++; } } } ///////////////////////////////Siembras//////////////////////////////////////////////////// if ($filtros['siembras']) { $arraySiembras[0]['Sector'] = ""; $arraySiembras[0]['Cultivo'] = ""; $arraySiembras[0]['Variedad'] = ""; $arraySiembras[0]['Tipo de siembra'] = ""; $arraySiembras[0]['Temporada'] = ""; $arraySiembras[0]['Fecha de siembra'] = ""; $arraySiembras[0]['Status'] = ""; $arraySiembras[0]['Fecha de terminación'] = ""; $arraySiembras[0]['Comentario'] = ""; $i = 0; foreach ($sectores as $sector) { $siembras = $sector->siembras()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($siembras as $siembra) { $cultivo = cultivo::find($siembra->id_cultivo); $arraySiembras[$i]['Sector'] = $sector->nombre; if ($cultivo != null) { $arraySiembras[$i]['Cultivo'] = $cultivo->nombre; } else { $arraySiembras[$i]['Cultivo'] = ""; } $arraySiembras[$i]['Variedad'] = $siembra->variedad; $arraySiembras[$i]['Tipo de siembra'] = $siembra->tipo; $arraySiembras[$i]['Temporada'] = $siembra->temporada; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $siembra->fecha = $fecha->format('d/m/Y'); $arraySiembras[$i]['Fecha de siembra'] = $siembra->fecha; $arraySiembras[$i]['Status'] = $siembra->status; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fechaTerminacion); $siembra->fechaTerminacion = $fecha->format('d/m/Y'); $arraySiembras[$i]['Fecha de terminación'] = $siembra->fechaTerminacion; $arraySiembras[$i]['Comentario'] = $siembra->comentario; $i++; } } } //////////////////////////////////////Fertilizaciones/////////////////////////////////////////////////// if ($filtros['fertilizaciones']) { $arrayFertilizaciones[0]['Sector'] = ""; $arrayFertilizaciones[0]['Siembra'] = ""; $arrayFertilizaciones[0]['Tipo'] = ""; $arrayFertilizaciones[0]['Fuente'] = ""; $arrayFertilizaciones[0]['Cantidad'] = ""; $arrayFertilizaciones[0]['Programa NPK'] = ""; $arrayFertilizaciones[0]['Fecha'] = ""; $i = 0; foreach ($sectores as $sector) { $fertilizaciones = $sector->fertilizaciones()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($fertilizaciones as $fertilizacion) { $siembra = siembraSector::find($fertilizacion->id_siembra); $arrayFertilizaciones[$i]['Sector'] = $sector->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $siembra->fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayFertilizaciones[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $siembra->fecha; } else { $arrayFertilizaciones[$i]['Siembra'] = $siembra->variedad . ' ' . $siembra->fecha; } } else { $arrayFertilizaciones[$i]['Siembra'] = ""; } $arrayFertilizaciones[$i]['Tipo'] = $fertilizacion->tipo; $arrayFertilizaciones[$i]['Fuente'] = $fertilizacion->fuente; $arrayFertilizaciones[$i]['Cantidad'] = $fertilizacion->cantidad; $arrayFertilizaciones[$i]['Programa NPK'] = $fertilizacion->programaNPK; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $fertilizacion->fecha); $fertilizacion->fecha = $fecha->format('d/m/Y'); $arrayFertilizaciones[$i]['Fecha'] = $fertilizacion->fecha; $i++; } } } //////////////////////////////////////Riegos/////////////////////////////////////////////////// if ($filtros['riegos']) { $arrayRiegos[0]['Sector'] = ""; $arrayRiegos[0]['Siembra'] = ""; $arrayRiegos[0]['Tiempo'] = ""; $arrayRiegos[0]['Distancia entre líneas'] = ""; $arrayRiegos[0]['Litros/Hectárea'] = ""; $arrayRiegos[0]['Lámina'] = ""; $arrayRiegos[0]['Fecha'] = ""; $i = 0; foreach ($sectores as $sector) { $riegos = $sector->riegos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($riegos as $riego) { $siembra = siembraSector::find($riego->id_siembra); $arrayRiegos[$i]['Sector'] = $sector->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $siembra->fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayRiegos[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $siembra->fecha; } else { $arrayRiegos[$i]['Siembra'] = $siembra->variedad . ' ' . $siembra->fecha; } } else { $arrayRiegos[$i]['Siembra'] = ""; } $arrayRiegos[$i]['Tiempo'] = $riego->tiempo; $arrayRiegos[$i]['Distancia entre líneas'] = $riego->distanciaLineas; $arrayRiegos[$i]['Litros/Hectárea'] = $riego->litrosHectarea; $arrayRiegos[$i]['Lámina'] = $riego->lamina; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $riego->fecha); $riego->fecha = $fecha->format('d/m/Y'); $arrayRiegos[$i]['Fecha'] = $riego->fecha; $i++; } } } //////////////////////////////////////Mantenimiento/////////////////////////////////////////////////// if ($filtros['mantenimientos']) { $arrayMantenimientos[0]['Sector'] = ""; $arrayMantenimientos[0]['Siembra'] = ""; $arrayMantenimientos[0]['Actividad'] = ""; $arrayMantenimientos[0]['Tipo de aplicación'] = ""; $arrayMantenimientos[0]['Producto'] = ""; $arrayMantenimientos[0]['Cantidad'] = ""; $arrayMantenimientos[0]['Fecha'] = ""; $arrayMantenimientos[0]['Comentario'] = ""; $i = 0; foreach ($sectores as $sector) { $mantenimientos = $sector->mantenimientos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($mantenimientos as $mantenimiento) { $siembra = siembraSector::find($mantenimiento->id_siembra); $arrayMantenimientos[$i]['Sector'] = $sector->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $siembra->fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayMantenimientos[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $siembra->fecha; } else { $arrayMantenimientos[$i]['Siembra'] = $siembra->variedad . ' ' . $siembra->fecha; } } else { $arrayMantenimientos[$i]['Siembra'] = ""; } $arrayMantenimientos[$i]['Actividad'] = $mantenimiento->actividad; $arrayMantenimientos[$i]['Tipo de aplicación'] = $mantenimiento->tipoAplicacion; $arrayMantenimientos[$i]['Producto'] = $mantenimiento->producto; $arrayMantenimientos[$i]['Cantidad'] = $mantenimiento->cantidad; $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $mantenimiento->fecha); $mantenimiento->fecha = $fecha->format('d/m/Y'); $arrayMantenimientos[$i]['Fecha'] = $mantenimiento->fecha; $arrayMantenimientos[$i]['Comentario'] = $mantenimiento->comentario; $i++; } } } ///////////////////////////////Cosecha//////////////////////////////////////////////////// if ($filtros['cosechas']) { $arrayCosechas[0]['Sector'] = ""; $arrayCosechas[0]['Siembra'] = ""; $arrayCosechas[0]['Fecha'] = ""; $arrayCosechas[0]['Descripción'] = ""; $i = 0; foreach ($sectores as $sector) { $cosechas = $sector->cosechas()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get(); foreach ($cosechas as $cosecha) { $siembra = siembraSector::find($cosecha->id_siembra); $arrayCosechas[$i]['Sector'] = $sector->nombre; if ($siembra != null) { $cultivo = cultivo::find($siembra->id_cultivo); $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha); $siembra->fecha = $fecha->format('d/m/Y'); if ($cultivo != null) { $arrayCosechas[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $siembra->fecha; } else { $arrayCosechas[$i]['Siembra'] = $siembra->variedad . ' ' . $siembra->fecha; } } else { $arrayCosechas[$i]['Siembra'] = ""; } $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $cosecha->fecha); $cosecha->fecha = $fecha->format('d/m/Y'); $arrayCosechas[$i]['Fecha'] = $cosecha->fecha; $arrayCosechas[$i]['Descripción'] = $cosecha->descripcion; $i++; } } } /* * 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] = $arrayPreparaciones; $arrays[0][1] = "Preparaciones"; $arrays[1][0] = $arraySiembras; $arrays[1][1] = "Siembras"; $arrays[2][0] = $arrayFertilizaciones; $arrays[2][1] = "Fertilizaciones"; $arrays[3][0] = $arrayRiegos; $arrays[3][1] = "Riegos"; $arrays[4][0] = $arrayMantenimientos; $arrays[4][1] = "Mantenimientos"; $arrays[5][0] = $arrayCosechas; $arrays[5][1] = "Cosechas"; $arrays[6][0] = null; $arrays[6][1]['fechaInf'] = $request->fechaInicio; $arrays[7][0] = null; $arrays[7][1]['fechaSup'] = $request->fechaFin; $string = str_random(40); $request->session()->put($string, $arrays); return $string; // $this->exportarExcel($request->fechaInicio,$request->fechaFin,$arrays); }