/** * @name obtenerExistencia * * @description Retorna un listado solamente con las existencias y precios del producto, * este servicio por tener solo existencias es el más liviano y rápido de * consumir por lo cual se recomienda que los sistemas que actualicen su * inventario varias veces al día invoquen este método. */ public function obtenerExistencia() { $sede = DB::table('sedes')->where('id', '=', Auth::user()->sede_id)->first(); set_time_limit(10000); $autorizacion = json_decode($this->obtenerTokenUsuario()); $option = ['http' => ['method' => 'GET', 'header' => ['Authorization: GUID ' . $autorizacion->Guid, 'Content-Type: application/json']]]; $context = stream_context_create($option); $existencias = json_decode(file_get_contents("http://test.dronena.com:8083/REST/Cloud/Producto/Existencias/" . $sede->Codigo . "/Cliente/" . Auth::user()->Codigo_Cliente, false, $context)); if ($existencias) { foreach ($existencias->Existencias->Producto as $e) { $inve = Inventario::where('user_id', '=', Auth::user()->id)->where('Codigo', '=', $e->Codigo)->where('CodigoBarra', '=', $e->CodigoBarra)->where('updated_at', '<>', Fecha::arreglarFecha2(Fecha::fechaActual()))->first(); if (!$inve) { continue; } else { $inve->Precio = $e->Precio; $inve->Descuento = $e->Descuento; $inve->Existencia = $e->Existencia; $inve->save(); } } } }