public function getDatosProducto()
 {
     $input = Request::createFromGlobals();
     $proveedores = [];
     $lista_proveedores = ProductoPrecio::select('id_proveedor')->with('proveedor')->whereIdProducto($input->id)->groupBy('id_proveedor')->get();
     foreach ($lista_proveedores as $proveedor) {
         $proveedores[] = ['id_proveedor' => $proveedor->id_proveedor, 'codigo_proveedor' => $proveedor->proveedor->codigo, 'nombre_proveedor' => $proveedor->proveedor->nombre, 'id_producto' => $input->id, 'nombre_producto' => $input->nombre, 'ultimo_precio' => Producto::getUltimoPrecio($input->id, $proveedor->id_proveedor), 'precio_promedio' => Producto::getPrecioPromedio($input->id, $proveedor->id_proveedor)];
     }
     $requisiciones = RequisicionLinea::with('requisicion')->whereIdProducto($input->id)->get();
     $ordenes_compra = OrdenCompra::whereHas('lineas', function ($query) use($input) {
         $query->whereIdProducto($input->id);
     })->with(['lineas' => function ($query) use($input) {
         $query->whereIdProducto($input->id);
     }])->with('proveedor')->get();
     return ['proveedores' => $proveedores, 'requisiciones' => $requisiciones, 'ordenes_compra' => $ordenes_compra];
 }
 public function generarOrdenCompraPDF($request_id)
 {
     $ordenes_compra = OrdenCompra::whereHas('lineas.linea_requisicion.requisicion', function ($query) use($request_id) {
         return $query->where('ef_id', $request_id);
     })->with(['proveedor', 'lineas.linea_requisicion.requisicion', 'lineas.producto'])->get();
     foreach ($ordenes_compra as $orden_compra) {
         $filename = APP_TMPPATH . 'requisicion.pdf';
         PDFController::generatePDF(view('Adquisiciones.PDF.orden_compra', ['orden_compra' => $orden_compra]), false, $filename);
         (new \AttachmentCore())->addAttachmentToRequest($request_id, \FlowSettingsCore::get(FLOW_ADQUISICIONES, 'ADQ_FILE_ORDENCOMPRA'), $filename, APP_ENVPATH, $_SESSION['user_id'], "Orden de Compra " . $orden_compra->id);
     }
 }