/**
  * Actualiza coordenadas de una orden
  * @return type
  */
 public function postActualizaxy()
 {
     if (Request::ajax()) {
         $actu = Input::get('actu');
         $lat = Input::get('lat');
         $lng = Input::get('lng');
         $result = array();
         try {
             //Iniciar transaccion
             DB::beginTransaction();
             $gestionDetalle = GestionDetalle::Where('codactu', $actu)->first();
             //Guardar direccion previa
             UltimoMovimiento::actualizar_direccion($lng, $lat, '', $gestionDetalle->gestion_id);
             //Gestionada: gestiones_detalles
             DB::table('gestiones_detalles')->where('codactu', $actu)->update(array('x' => $lng, 'y' => $lat));
             //Ultimos movimientos
             DB::table('ultimos_movimientos')->where('codactu', $actu)->update(array('x' => $lng, 'y' => $lat));
             //Temporales
             DB::table(Config::get("wpsi.db.tmp_averia"))->where('averia', $actu)->update(array('xcoord' => $lng, 'ycoord' => $lat));
             DB::table(Config::get("wpsi.db.tmp_provision"))->where('codigo_req', $actu)->update(array('xcoord' => $lng, 'ycoord' => $lat));
             //INSERT en cambios_direcciones
             if ($gestionDetalle->gestion_id != null) {
                 $sql = "INSERT INTO cambios_direcciones\n                           (gestion_id, tipo_usuario, usuario_id,\n                           coord_x, coord_y, direccion, referencia)\n                           VALUES (?, ?, ?, ?, ?, ?, ?)";
                 $data = array($gestionDetalle->gestion_id, 'sys', Auth::user()->id, $lng, $lat, '', '');
                 //DB::insert($sql, $data);
             }
             DB::commit();
             //Update OK
             $result['rst'] = 1;
             $result['msj'] = 'Coordenadas actualizadas correctamente';
         } catch (PDOException $exc) {
             DB::rollback();
             $this->_errorController->saveError($exc);
             $result['rst'] = 2;
             $result['msj'] = 'Error al actualizar coordenadas';
         }
         return json_encode($result);
     }
 }
Beispiel #2
0
 /**
  * metodo para cambiar x, y
  * POST /api/actualizardireccion
  * @param  int  gestion_id
  * @param  int  carnet
  * @param  int  x
  * @param  int  y
  * @param  int  direccion
  * @param  int  referencia
  * @return Response
  */
 public function postActualizardireccion()
 {
     $gestionId = Input::get('gestion_id', '');
     $carnet = Input::get('carnet', '');
     $x = Input::get('x', '');
     $y = Input::get('y', '');
     $direccion = Input::get('direccion', '');
     $referencia = Input::get('referencia', '');
     $fechaHora = date("Y-m-d H:i:s");
     try {
         //Iniciar transaccion
         DB::beginTransaction();
         //Guardar direccion previa
         UltimoMovimiento::actualizar_direccion($x, $y, $direccion, $gestionId);
         $tecnico = Tecnico::where('carnet_tmp', '=', $carnet)->first();
         $tecnicoId = $tecnico->id;
         //INSERT en cambios_direcciones
         $sql = "INSERT INTO cambios_direcciones\n                   (gestion_id, tipo_usuario, usuario_id,\n                   coord_x, coord_y, direccion, referencia, created_at)\n                   VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
         $data = array($gestionId, 'tec', $tecnicoId, $x, $y, $direccion, $referencia, $fechaHora);
         DB::insert($sql, $data);
         $sql = "UPDATE ultimos_movimientos\n                   SET x = ?, y = ?, direccion_instalacion = ?\n                   WHERE gestion_id = ?";
         $data = array($x, $y, $direccion . " ref.: " . $referencia, $gestionId);
         DB::update($sql, $data);
         //UPDATE gestiones_detalles
         $sql = "UPDATE gestiones_detalles\n                   SET x = ?, y = ?, direccion_instalacion = ?\n                   WHERE gestion_id = ?";
         $data = array($x, $y, $direccion . " ref.: " . $referencia, $gestionId);
         DB::update($sql, $data);
         DB::commit();
         return Response::json(array('estado' => true, 'msg' => "Direccion actualizada"));
     } catch (PDOException $error) {
         DB::rollback();
         return Response::json(array('estado' => false, 'msg' => $error->getMessage()));
     }
 }