public function getDatosAdicionalesOC($ordenes_compra) { foreach ($ordenes_compra as $orden_compra) { // Sacar los mejores proveedores por cada línea foreach ($orden_compra->lineas as $linea) { $linea->mejor_proveedor_precio = $linea->producto->getMejorProveedorPrecio(); $linea->mejor_proveedor_tiempo = $linea->producto->getMejorProveedorTiempo(); $linea->ultimo_precio = null; $linea->precio_promedio = null; if (count($linea->mejor_proveedor_precio) > 0) { $linea->ultimo_precio = Producto::getUltimoPrecio($linea->producto->id, $linea->mejor_proveedor_precio->id); $linea->precio_promedio = Producto::getPrecioPromedio($linea->producto->id, $linea->mejor_proveedor_precio->id); } $linea->tiempo_entrega = null; if (count($linea->mejor_proveedor_tiempo) > 0) { $linea->tiempo_entrega = Producto::getTiempoPromedio($linea->producto->id, $linea->mejor_proveedor_tiempo->id); } } $cotizaciones = Cotizacion::with(['lineas.linea_ordencompra.producto', 'contacto.proveedor'])->where('id_ordencompra', $orden_compra->id)->get(); // Traer precio promedio / ultimo precio /* foreach ($cotizaciones as &$cotizacion) { foreach ($cotizacion->lineas as &$linea) { $linea->precio_promedio = Producto::getPrecioPromedio($linea->linea_ordencompra->producto->id, $cotizacion->contacto->proveedor->id); $linea->ultimo_precio = Producto::getUltimoPrecio($linea->linea_ordencompra->producto->id, $cotizacion->contacto->proveedor->id); } } */ $orden_compra->cotizaciones = $cotizaciones; } return $ordenes_compra; }
public function getOrdenesCompra($ef_id) { $ordenes_compra = OrdenCompra::getOrdenesCompraParaSeleccionProveedor(); foreach ($ordenes_compra as $orden_compra) { // Sacar los mejores proveedores por cada línea foreach ($orden_compra->lineas as $linea) { $linea->mejor_proveedor_precio = $linea->producto->getMejorProveedorPrecio(); $linea->mejor_proveedor_tiempo = $linea->producto->getMejorProveedorTiempo(); $linea->ultimo_precio = null; $linea->precio_promedio = null; if (count($linea->mejor_proveedor_precio) > 0) { $linea->ultimo_precio = Producto::getUltimoPrecio($linea->producto->id, $linea->mejor_proveedor_precio->id); $linea->precio_promedio = Producto::getPrecioPromedio($linea->producto->id, $linea->mejor_proveedor_precio->id); } $linea->tiempo_entrega = null; if (count($linea->mejor_proveedor_tiempo) > 0) { $linea->tiempo_entrega = Producto::getTiempoPromedio($linea->producto->id, $linea->mejor_proveedor_tiempo->id); } } } return $ordenes_compra; }