Example #1
0
 /**
  * @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();
             }
         }
     }
 }