public function reporteCultivo($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);
     $cultivo = cultivo::find($request->cultivo);
     $siembras = null;
     $invernaderos = null;
     if ($request->invernadero != "") {
         $invernaderos = invernadero::select('id', 'nombre')->where('id', $request->invernadero)->get();
         $siembras = $cultivo->siembrasInvernadero()->where('id_invernadero', $request->invernadero)->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
     } else {
         $siembras = $cultivo->siembrasInvernadero()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
         $invernaderos = DB::table('cultivo')->where('cultivo.id', '=', $request->cultivo)->join('siembra_invernadero', 'siembra_invernadero.id_cultivo', '=', 'cultivo.id')->where('siembra_invernadero.fecha', '>=', $fechaInf)->where('siembra_invernadero.fecha', '<=', $fechaSup)->join('invernadero', 'invernadero.id', '=', 'siembra_invernadero.id_invernadero')->select('invernadero.id', 'invernadero.nombre')->distinct()->orderby('invernadero.nombre', 'asc')->get();
     }
     // $sectores=array_unique($sectores);
     // if(empty($sectores)){
     //   dd("vacio");
     //}
     /*Un arreglo para almacenar resultado de busqueda de cada filtro*/
     $arrayPreparaciones = null;
     $arraySiembras = null;
     $arrayFertilizaciones = null;
     $arrayLabores = null;
     $arrayMantenimientos = null;
     $arrayCosechas = null;
     ///////////////////////////////Preparaciones////////////////////////////////////////////////////
     if ($filtros['preparaciones']) {
         $arrayPreparaciones[0]['Invernadero'] = "";
         $arrayPreparaciones[0]['Tipo de siembra'] = "";
         $arrayPreparaciones[0]['Fecha'] = "";
         $i = 0;
         foreach ($invernaderos as $invernadero) {
             $invernadero = invernadero::find($invernadero->id);
             $preparaciones = $invernadero->preparaciones()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($preparaciones as $preparacion) {
                 $arrayPreparaciones[$i]['Invernadero'] = $invernadero->nombre;
                 $arrayPreparaciones[$i]['Tipo de siembra'] = $preparacion->tipoSiembra;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $preparacion->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayPreparaciones[$i]['Fecha'] = $fecha;
                 $i++;
             }
         }
     }
     // dd($arrayPreparaciones);
     ///////////////////////////////Siembras////////////////////////////////////////////////////
     if ($filtros['siembras']) {
         $arraySiembras[0]['Invernadero'] = "";
         $arraySiembras[0]['Cultivo'] = "";
         $arraySiembras[0]['Variedad'] = "";
         $arraySiembras[0]['Fecha de siembra'] = "";
         $arraySiembras[0]['Status'] = "";
         $arraySiembras[0]['Fecha de terminación'] = "";
         $arraySiembras[0]['Comentario'] = "";
         $i = 0;
         foreach ($siembras as $siembra) {
             $arraySiembras[$i]['Invernadero'] = $siembra->invernadero->nombre;
             $arraySiembras[$i]['Cultivo'] = $cultivo->nombre;
             $arraySiembras[$i]['Variedad'] = $siembra->variedad;
             $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);
     //////////////////////////////////////Fertilizaciones///////////////////////////////////////////////////
     if ($request->invernadero != "") {
         $siembras = $cultivo->siembrasInvernadero()->where('id_invernadero', $request->invernadero)->orderBy('fecha', 'asc')->get();
     } else {
         $siembras = $cultivo->siembrasInvernadero()->orderBy('fecha', 'asc')->get();
     }
     if ($filtros['fertilizaciones']) {
         $arrayFertilizaciones[0]['Invernadero'] = "";
         $arrayFertilizaciones[0]['Siembra'] = "";
         $arrayFertilizaciones[0]['Etapa fenológica'] = "";
         $arrayFertilizaciones[0]['Tiempo de riego'] = 0;
         $arrayFertilizaciones[0]['Frecuencia'] = 0;
         $arrayFertilizaciones[0]['Formulación'] = "";
         $arrayFertilizaciones[0]['Fecha'] = "";
         $i = 0;
         foreach ($siembras as $siembra) {
             $fertilizaciones = $siembra->fertilizacionesRiegos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($fertilizaciones as $fertilizacion) {
                 $arrayFertilizaciones[$i]['Invernadero'] = $siembra->invernadero->nombre;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayFertilizaciones[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha;
                 $arrayFertilizaciones[$i]['Etapa fenológica'] = $fertilizacion->etapaFenologica;
                 $arrayFertilizaciones[$i]['Tiempo de riego'] = $fertilizacion->tiempoRiego;
                 $arrayFertilizaciones[$i]['Frecuencia'] = $fertilizacion->frecuencia;
                 $arrayFertilizaciones[$i]['Formulación'] = $fertilizacion->formulacion;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $fertilizacion->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayFertilizaciones[$i]['Fecha'] = $fecha;
                 $i++;
             }
         }
         // dd($arrayFertilizaciones);
     }
     //////////////////////////////////////Labores culturales///////////////////////////////////////////////////
     if ($filtros['labores']) {
         $arrayLabores[0]['Invernadero'] = "";
         $arrayLabores[0]['Siembra'] = "";
         $arrayLabores[0]['Actividad'] = "";
         $arrayLabores[0]['Fecha'] = "";
         $i = 0;
         foreach ($siembras as $siembra) {
             $labores = $siembra->laboresCulturales()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($labores as $labor) {
                 $arrayLabores[$i]['Invernadero'] = $siembra->invernadero->nombre;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayLabores[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha;
                 $arrayLabores[$i]['Actividad'] = $labor->actividad;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $labor->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayLabores[$i]['Fecha'] = $fecha;
                 $i++;
             }
         }
     }
     // dd($arrayLabores);
     //////////////////////////////////////Mantenimiento///////////////////////////////////////////////////
     if ($filtros['mantenimientos']) {
         $arrayMantenimientos[0]['Invernadero'] = "";
         $arrayMantenimientos[0]['Siembra'] = "";
         $arrayMantenimientos[0]['Aplicación'] = "";
         $arrayMantenimientos[0]['Tipo de aplicación'] = "";
         $arrayMantenimientos[0]['Producto'] = "";
         $arrayMantenimientos[0]['Cantidad'] = "";
         $arrayMantenimientos[0]['Fecha'] = "";
         $arrayMantenimientos[0]['Comentario'] = "";
         $i = 0;
         foreach ($siembras as $siembra) {
             $mantenimientos = $siembra->mantenimientos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($mantenimientos as $mantenimiento) {
                 $arrayMantenimientos[$i]['Invernadero'] = $siembra->invernadero->nombre;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayMantenimientos[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha;
                 $arrayMantenimientos[$i]['Aplicación'] = $mantenimiento->aplicacion;
                 $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);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayMantenimientos[$i]['Fecha'] = $fecha;
                 $arrayMantenimientos[$i]['Comentario'] = $mantenimiento->comentario;
                 $i++;
             }
         }
     }
     //dd($arrayMantenimientos);
     ///////////////////////////////Cosecha////////////////////////////////////////////////////
     if ($filtros['cosechas']) {
         $arrayCosechas[0]['Invernadero'] = "";
         $arrayCosechas[0]['Siembra'] = "";
         $arrayCosechas[0]['Fecha'] = "";
         $arrayCosechas[0]['Comentario'] = "";
         $i = 0;
         foreach ($siembras as $siembra) {
             $cosechas = $siembra->cosechas()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($cosechas as $cosecha) {
                 $arrayCosechas[$i]['Invernadero'] = $siembra->invernadero->nombre;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayCosechas[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha;
                 $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);
     $arrays[0][0] = $arrayPreparaciones;
     $arrays[0][1] = "Preparaciones";
     $arrays[1][0] = $arraySiembras;
     $arrays[1][1] = "Siembras";
     $arrays[2][0] = $arrayFertilizaciones;
     $arrays[2][1] = "Fertilizaciones-Riegos";
     $arrays[3][0] = $arrayLabores;
     $arrays[3][1] = "Labores culturales";
     $arrays[4][0] = $arrayMantenimientos;
     $arrays[4][1] = "Aplicaciones de mantenimiento";
     $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;
 }
 public function index()
 {
     /*
      * Info sectores
      */
     $sector1 = sector::find(1);
     $siembras_sector1 = $sector1->siembras()->where('status', 'Activo')->get();
     $sector2 = sector::find(2);
     $siembras_sector2 = $sector2->siembras()->where('status', 'Activo')->get();
     $sector3 = sector::find(3);
     $siembras_sector3 = $sector3->siembras()->where('status', 'Activo')->get();
     $sector4 = sector::find(4);
     $siembras_sector4 = $sector4->siembras()->where('status', 'Activo')->get();
     $sector5 = sector::find(5);
     $siembras_sector5 = $sector5->siembras()->where('status', 'Activo')->get();
     $sector6 = sector::find(6);
     $siembras_sector6 = $sector6->siembras()->where('status', 'Activo')->get();
     $sector7 = sector::find(7);
     $siembras_sector7 = $sector7->siembras()->where('status', 'Activo')->get();
     $sector8 = sector::find(8);
     $siembras_sector8 = $sector8->siembras()->where('status', 'Activo')->get();
     $sector9 = sector::find(9);
     $siembras_sector9 = $sector9->siembras()->where('status', 'Activo')->get();
     $sector10 = sector::find(10);
     $siembras_sector10 = $sector10->siembras()->where('status', 'Activo')->get();
     $sector11 = sector::find(11);
     $siembras_sector11 = $sector11->siembras()->where('status', 'Activo')->get();
     $sector12 = sector::find(12);
     $siembras_sector12 = $sector12->siembras()->where('status', 'Activo')->get();
     /*
      * Info Invernaderos
      */
     $invernadero1 = invernadero::find(1);
     $siembras_invernadero1 = $invernadero1->siembras()->where('status', 'Activo')->get();
     $invernadero2 = invernadero::find(2);
     $siembras_invernadero2 = $invernadero2->siembras()->where('status', 'Activo')->get();
     $invernadero3 = invernadero::find(3);
     $siembras_invernadero3 = $invernadero3->siembras()->where('status', 'Activo')->get();
     $invernadero4 = invernadero::find(4);
     $siembras_invernadero4 = $invernadero4->siembras()->where('status', 'Activo')->get();
     /*
      * Info Plántula
      */
     $invernaderoPlantula1 = invernaderoPlantula::find(1);
     $siembras_invernaderoPlantula1 = $invernaderoPlantula1->siembras()->where('status', 'Activo')->get();
     return View('Home/inicio')->with(['siembras_sector1' => $siembras_sector1, 'siembras_sector2' => $siembras_sector2, 'siembras_sector3' => $siembras_sector3, 'siembras_sector4' => $siembras_sector4, 'siembras_sector5' => $siembras_sector5, 'siembras_sector6' => $siembras_sector6, 'siembras_sector7' => $siembras_sector7, 'siembras_sector8' => $siembras_sector8, 'siembras_sector9' => $siembras_sector9, 'siembras_sector10' => $siembras_sector10, 'siembras_sector11' => $siembras_sector11, 'siembras_sector12' => $siembras_sector12, 'siembras_invernadero1' => $siembras_invernadero1, 'siembras_invernadero2' => $siembras_invernadero2, 'siembras_invernadero3' => $siembras_invernadero3, 'siembras_invernadero4' => $siembras_invernadero4, 'siembras_invernaderoPlantula1' => $siembras_invernaderoPlantula1]);
 }