public function getTableData() { $input = Request::createFromGlobals(); $returnData = []; // Get all records $records = Producto::where('id', '>', 0); $returnData['total'] = $records->count(); // Get only a specific class if ($input->clase != '') { $records->whereHas('clases', function ($query) use($input) { $query->whereIdClase($input->clase); }); } // Filter results if ($input->searchString != '') { $records->where(function ($query) use($input) { $query->where('nombre', 'LIKE', '%' . $input->searchString . '%')->orWhere('codigo', 'LIKE', '%' . $input->searchString . '%'); }); } $returnData['filtered'] = $records->count(); // Get the actual data with limits $records->skip($input->displayStart)->take($input->recordsPerPage); $returnData['records'] = $records->get(); return $returnData; }
public function storeMaterialOficina() { $input = Request::createFromGlobals(); // Validaciones para materiales de oficina // Revisar que el código no se repita entre los otros materiales de oficina $tmp_record = Producto::where('codigo', $input->codigo)->whereHas('clases', function ($query) use($input) { return $query->where('id_clase', 11); // Clase para materiales de oficina })->first(); if ($tmp_record) { return new AjaxResponse('error', 'Ese código de producto ya existe'); } $record = Producto::create(['origen' => 'oficina', 'codigo' => $input->codigo, 'nombre' => $input->nombre, 'precio_promedio' => 0, 'dias_promedio' => 0, 'meses_inventario' => 0, 'stock_minimo' => 0, 'stock_maximo' => 0, 'stock_actual' => 0, 'stock_transito' => 0, 'consumo_promedio' => 0, 'unidad' => $input->unidad, 'sugerido' => 0]); $record->clases()->attach(11); // Clase para materiales de oficina return new AjaxResponse('success', '', $record); }
$productos = Connector::connect(FlowSettings::get(FLOW_ADQUISICIONES, 'ADQ_CONNECTION_PRODUCTOS_HACIENDAS')); $productos = $productos->data; //******************************************************************* // 2. Ingreso y datos calculados //******************************************************************* foreach ($productos as $producto_bpcs) { //*********************************************** // Ingreso de datos básicos //*********************************************** // Ingreso los artículos a la base del BPM $producto = Producto::firstOrNew(['origen' => $clase->origen_productos, 'codigo' => $producto_bpcs['HCPROID']]); if (!$producto->id) { $producto->save(); } $producto->nombre = $producto_bpcs['HCPRONOC']; $producto->unidad = $producto_bpcs['HCPROUNM']; $producto->tipo = $producto_bpcs['HCPROBIE']; $producto->save(); // Sincronizo las clases del producto $producto->clases()->sync([$clase->id]); } // Consultar y actualizar stocks desde web service $result = Connector::connect(FlowSettings::get(FLOW_ADQUISICIONES, 'ADQ_CONNECTION_STOCKS_HACIENDAS')); $result = $result->data; $result = json_decode($result['Longvarchar']); foreach ($result as $producto) { $producto_bpm = Producto::where('codigo', $producto->HaKaCId)->where('origen', $clase->origen_productos)->first(); $producto_bpm->update(['stock_actual' => $producto->HaKacSto]); } } }