public function posAdd(Request $request) { $datosNuevos = $request->session()->get('datosNuevos'); $cantidadNuevos = $request->session()->get('cantidadNuevos'); // $datosNuevos = unserialize($TMPdatosNuevos); $datosRepetidos = $request->session()->get('datosRepetidos'); $cantidadRepetidos = $request->session()->get('cantidadRepetidos'); // $datosRepetidos = unserialize($TMPdatosRepetidos); $datosDescartados = $request->session()->get('datosDescartados'); $cantidadDescartados = $request->session()->get('cantidadDescartados'); // $datosDescartados = unserialize($TMPdatosDescartados); $datosUnificar = $request->session()->get('datosUnificar'); $cantidadUnificar = $request->session()->get('cantidadUnificar'); // $datosUnificar = unserialize($TMPdatosUnificar); $datosIncompletos = $request->session()->get('datosIncompletos'); $cantidadIncompletos = $request->session()->get('cantidadIncompletos'); // dd(session()->get('datosNuevos') != null); if (session()->get('datosNuevos') != null) { foreach ($datosNuevos as $book) { //agrego nuevo $existePais = DB::table('pais')->where('pais.nombre_pais', 'like', '%' . $book['pais'] . '%')->first(); $existeProvincia = DB::table('provincia')->join('pais', 'pais.id', '=', 'provincia.idPais')->where('pais.nombre_pais', 'like', '%' . $book['pais'] . '%')->where('provincia.nombre_provincia', 'like', '%' . $book['provincia_region'] . '%')->first(); $existePartido = DB::table('partido')->join('provincia', 'provincia.id', '=', 'partido.idProvincia')->join('pais', 'pais.id', '=', 'partido.idPais')->where('pais.nombre_pais', 'like', '%' . $book['pais'] . '%')->where('provincia.nombre_provincia', 'like', '%' . $book['provincia_region'] . '%')->where('partido.nombre_partido', 'like', '%' . $book['partido_comuna'] . '%')->first(); $finalIdPais = 0; $finalIdProvincia = 0; $finalIdPartido = 0; if ($existePais) { $finalIdPais = $existePais->id; } if ($existeProvincia) { $finalIdProvincia = $existeProvincia->id; } if ($existePartido) { $finalIdPartido = $existePartido->id; } //normalizacion $book['vacunatorio'] = $this->parseToImport($book['vacunatorio']); $book['infectologia'] = $this->parseToImport($book['infectologia']); $book['condones'] = $this->parseToImport($book['condones']); $book['prueba'] = $this->parseToImport($book['prueba']); $book['mac'] = $this->parseToImport($book['mac']); if (!$existePais) { //PAIS $pais = new Pais(); $pais->nombre_pais = $book['pais']; $pais->save(); $finalIdPais = $pais->id; } //del existe pais if (!$existeProvincia) { //CASO 2, no existe la provincia en la BD //PROVINCIA $provincia = new Provincia(); $provincia->nombre_provincia = $book['provincia_region']; $provincia->idPais = $finalIdPais; $provincia->save(); $finalIdProvincia = $provincia->id; } //del provincia if (!$existePartido) { //CASO 3, no existe partido en la BD //PARTIDO $partido = new Partido(); $partido->nombre_partido = $book['partido_comuna']; $partido->idPais = $finalIdPais; $partido->idProvincia = $finalIdProvincia; $partido->save(); $finalIdPartido = $partido->id; } //PLACES //aca $places = new Places(); $places->idPais = $finalIdPais; $places->idProvincia = $finalIdProvincia; $places->idPartido = $finalIdPartido; $places->establecimiento = $book['establecimiento']; $places->tipo = $book['tipo']; $places->calle = $book['calle']; $places->altura = $book['altura']; $places->piso_dpto = $book['piso_dpto']; $places->cruce = $book['cruce']; $places->barrio_localidad = $book['barrio_localidad']; $places->aprobado = $book['aprobado']; $places->observacion = $book['observacion']; $places->formattedAddress = $book['formattedAddress']; $places->latitude = $book['latitude']; $places->longitude = $book['longitude']; $places->habilitado = $book['habilitado']; $places->vacunatorio = $book['vacunatorio']; $places->infectologia = $book['infectologia']; $places->condones = $book['condones']; $places->prueba = $book['prueba']; $places->tel_testeo = $book['tel_testeo']; $places->mail_testeo = $book['mail_testeo']; $places->horario_testeo = $book['horario_testeo']; $places->responsable_testeo = $book['responsable_testeo']; $places->web_testeo = $book['web_testeo']; $places->ubicacion_testeo = $book['ubicacion_testeo']; $places->observaciones_testeo = $book['observaciones_testeo']; $places->tel_distrib = $book['tel_distrib']; $places->mail_distrib = $book['mail_distrib']; $places->horario_distrib = $book['horario_distrib']; $places->responsable_distrib = $book['responsable_distrib']; $places->web_distrib = $book['web_distrib']; $places->ubicacion_distrib = $book['ubicacion_distrib']; $places->comentarios_distrib = $book['comentarios_distrib']; $places->tel_infectologia = $book['tel_infectologia']; $places->mail_infectologia = $book['mail_infectologia']; $places->horario_infectologia = $book['horario_infectologia']; $places->responsable_infectologia = $book['responsable_infectologia']; $places->web_infectologia = $book['web_infectologia']; $places->ubicacion_infectologia = $book['ubicacion_infectologia']; $places->comentarios_infectologia = $book['comentarios_infectologia']; $places->tel_vac = $book['tel_vac']; $places->mail_vac = $book['mail_vac']; $places->horario_vac = $book['horario_vac']; $places->responsable_vac = $book['responsable_vac']; $places->web_vac = $book['web_vac']; $places->ubicacion_vac = $book['ubicacion_vac']; //posible problema $places->comentarios_vac = $book['comentarios_vac']; $places->mac = $book['mac']; $places->save(); } } return view('panel.importer.results', compact('datosNuevos', 'cantidadNuevos', 'datosRepetidos', 'cantidadRepetidos', 'datosDescartados', 'cantidadDescartados', 'datosIncompletos', 'cantidadIncompletos', 'datosUnificar', 'cantidadUnificar')); }
/** * * @param Request $request * @return Response */ public function store(Request $request) { $request_params = $request->all(); $rules = array('establecimiento' => 'required|max:150|min:2', 'idPartido' => 'required', 'idPais' => 'required', 'idProvincia' => 'required', 'calle' => 'required'); $messages = array('required' => 'El :attribute es requerido.', 'max' => 'El :attribute debe poseer un maximo de :max caracteres.', 'min' => 'El :attribute debe poseer un minimo de :min caracteres.'); $validator = Validator::make($request_params, $rules, $messages); $params = $request_params; if ($validator->passes()) { $place = new Places(); $place->establecimiento = $this->getParam($params, 'establecimiento'); $place->calle = $this->getParam($params, 'calle'); $place->tipo = $this->getParam($params, 'tipo'); $place->altura = $this->getParam($params, 'altura'); $place->piso_dpto = $this->getParam($params, 'piso_dpto'); $place->observacion = $this->getParam($params, 'observacion'); $place->cruce = $this->getParam($params, 'cruce'); $place->latitude = $this->getParam($params, 'latitude'); $place->longitude = $this->getParam($params, 'longitude'); $place->barrio_localidad = $this->getParam($params, 'barrio_localidad'); $place->prueba = $this->getParam($params, 'prueba', false); $place->responsable_testeo = $this->getParam($params, 'responsable_testeo'); $place->ubicacion_testeo = $this->getParam($params, 'ubicacion_testeo'); $place->horario_testeo = $this->getParam($params, 'horario_testeo'); $place->mail_testeo = $this->getParam($params, 'mail_testeo'); $place->tel_testeo = $this->getParam($params, 'tel_testeo'); $place->web_testeo = $this->getParam($params, 'web_testeo'); $place->observaciones_testeo = $this->getParam($params, 'observaciones_testeo'); $place->condones = $this->getParam($params, 'condones', false); $place->responsable_distrib = $this->getParam($params, 'responsable_distrib'); $place->ubicacion_distrib = $this->getParam($params, 'ubicacion_distrib'); $place->horario_distrib = $this->getParam($params, 'horario_distrib'); $place->mail_distrib = $this->getParam($params, 'mail_distrib'); $place->tel_distrib = $this->getParam($params, 'tel_distrib'); $place->web_distrib = $this->getParam($params, 'web_distrib'); $place->comentarios_distrib = $this->getParam($params, 'comentarios_distrib'); $place->infectologia = $this->getParam($params, 'infectologia', false); $place->responsable_infectologia = $this->getParam($params, 'responsable_infectologia'); $place->ubicacion_infectologia = $this->getParam($params, 'ubicacion_infectologia'); $place->horario_infectologia = $this->getParam($params, 'horario_infectologia'); $place->mail_infectologia = $this->getParam($params, 'mail_infectologia'); $place->tel_infectologia = $this->getParam($params, 'tel_infectologia'); $place->web_infectologia = $this->getParam($params, 'web_infectologia'); $place->comentarios_infectologia = $this->getParam($params, 'comentarios_infectologia'); $place->vacunatorio = $this->getParam($params, 'vacunatorio', false); $place->responsable_vac = $this->getParam($params, 'responsable_vac'); $place->ubicacion_vac = $this->getParam($params, 'ubicacion_vac'); $place->horario_vac = $this->getParam($params, 'horario_vac'); $place->mail_vac = $this->getParam($params, 'mail_vac'); $place->tel_vac = $this->getParam($params, 'tel_vac'); $place->web_vac = $this->getParam($params, 'web_vac'); $place->comentarios_vac = $this->getParam($params, 'comentarios_vac'); $place->aprobado = 0; $place->idPais = $this->getParam($params, 'idPais'); $place->idProvincia = $this->getParam($params, 'idProvincia'); $place->idPartido = $this->getParam($params, 'idPartido'); if (isset($request_params['otro_partido'])) { if ($request_params['otro_partido'] != '') { $localidad_tmp = DB::table('partido')->where('partido.idPais', $place->idPais)->where('partido.idProvincia', $place->idProvincia)->where('nombre_partido', '=', $request_params['otro_partido'])->select()->get(); if (count($localidad_tmp) === 0) { $localidad = new Partido(); $localidad->nombre_partido = $request_params['otro_partido']; $localidad->idProvincia = $place->idProvincia; $localidad->idPais = $place->idPais; $localidad->habilitado = true; $localidad->updated_at = date("Y-m-d H:i:s"); $localidad->created_at = date("Y-m-d H:i:s"); $localidad->save(); $place->idPartido = $localidad->id; } else { $place->idPartido = $localidad_tmp[0]->id; } } } $place->created_at = date("Y-m-d H:i:s"); $place->updated_at = date("Y-m-d H:i:s"); $place->save(); } return $validator->messages(); }