예제 #1
0
 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]);
 }
 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;
     $sectores = null;
     if ($request->sector != "") {
         $sectores = Sector::select('id', 'nombre')->where('id', $request->sector)->get();
         $siembras = $cultivo->siembras()->where('id_sector', $request->sector)->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
     } else {
         $siembras = $cultivo->siembras()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
         $sectores = DB::table('cultivo')->where('cultivo.id', '=', $request->cultivo)->join('siembra_sector', 'siembra_sector.id_cultivo', '=', 'cultivo.id')->where('siembra_sector.fecha', '>=', $fechaInf)->where('siembra_sector.fecha', '<=', $fechaSup)->join('sector', 'sector.id', '=', 'siembra_sector.id_sector')->select('sector.id', 'sector.nombre')->distinct()->orderby('sector.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;
     $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) {
             $sector = sector::find($sector->id);
             $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 ($siembras as $siembra) {
             $arraySiembras[$i]['Sector'] = $siembra->sector->nombre;
             $arraySiembras[$i]['Cultivo'] = $cultivo->nombre;
             $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);
             $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++;
         }
     }
     //////////////////////////////////////Fertilizaciones///////////////////////////////////////////////////
     if ($request->sector != "") {
         $siembras = $cultivo->siembras()->where('id_sector', $request->sector)->orderBy('fecha', 'asc')->get();
     } else {
         $siembras = $cultivo->siembras()->orderBy('fecha', 'asc')->get();
     }
     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 ($siembras as $siembra) {
             $fertilizaciones = $siembra->fertilizaciones()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($fertilizaciones as $fertilizacion) {
                 $arrayFertilizaciones[$i]['Sector'] = $siembra->sector->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]['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 ($siembras as $siembra) {
             $riegos = $siembra->riegos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($riegos as $riego) {
                 $arrayRiegos[$i]['Sector'] = $siembra->sector->nombre;
                 $fecha = Carbon::createFromFormat('Y-m-d H:i:s', $siembra->fecha);
                 $fecha = $fecha->format('d/m/Y');
                 $arrayRiegos[$i]['Siembra'] = $cultivo->nombre . ' ' . $siembra->variedad . ' ' . $fecha;
                 $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 ($siembras as $siembra) {
             $mantenimientos = $siembra->mantenimientos()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($mantenimientos as $mantenimiento) {
                 $arrayMantenimientos[$i]['Sector'] = $siembra->sector->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]['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 ($siembras as $siembra) {
             $cosechas = $siembra->cosechas()->whereBetween('fecha', array($fechaInf, $fechaSup))->orderBy('fecha', 'asc')->get();
             foreach ($cosechas as $cosecha) {
                 $arrayCosechas[$i]['Sector'] = $siembra->sector->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);
                 $cosecha->fecha = $fecha->format('d/m/Y');
                 $arrayCosechas[$i]['Fecha'] = $cosecha->fecha;
                 $arrayCosechas[$i]['Descripción'] = $cosecha->descripcion;
                 $i++;
             }
         }
     }
     $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;
 }