public function generate($params) { if ($this->isProduct()) { $objprecio = new PrecioProducto($this->objProducto, $params['objSectorCiudad'], $params['codigoPerfil']); $this->listBeneficios = $objprecio->getBeneficios(); $this->priceUnit = $objprecio->getPrecio(Precio::PRECIO_UNIDAD, false); $this->priceFraction = $objprecio->getPrecio(Precio::PRECIO_FRACCION, false); $this->discountPriceUnit = $objprecio->getAhorro(Precio::PRECIO_UNIDAD); $this->discountPriceFraction = $objprecio->getAhorro(Precio::PRECIO_FRACCION); $this->tax = $this->objProducto->objImpuesto->porcentaje; $this->shipping = $objprecio->getFlete(); $this->delivery = $objprecio->getTiempoEntrega(); } else { if ($this->isCombo()) { $objprecio = new PrecioCombo($this->objCombo); $this->priceUnit = $objprecio->getPrecio(); } } }
public function actionSubtotalBodega() { $objSectorCiudad = null; if (isset(Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']])) { $objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']]; } if ($objSectorCiudad == null) { echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta ubicación')); Yii::app()->end(); } $codigoProducto = Yii::app()->getRequest()->getPost('codigo'); $cantidadBodega = Yii::app()->getRequest()->getPost('bodega'); $cantidadUbicacion = Yii::app()->getRequest()->getPost('ubicacion'); if ($codigoProducto == null) { echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta producto')); Yii::app()->end(); } if ($cantidadBodega == null || $cantidadUbicacion == null) { echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta cantidad')); Yii::app()->end(); } $objProducto = Producto::model()->find(array('with' => array('listSaldos' => array('condition' => '(listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoUnidad IS NULL AND listSaldos.codigoCiudad IS NULL AND listSaldos.codigoSector IS NULL)'), 'listPrecios' => array('condition' => '(listPrecios.codigoCiudad=:ciudad AND listPrecios.codigoSector=:sector) OR (listPrecios.codigoCiudad IS NULL AND listPrecios.codigoSector IS NULL)'), 'listSaldosTerceros' => array('condition' => '(listSaldosTerceros.codigoCiudad=:ciudad AND listSaldosTerceros.codigoSector=:sector) OR (listSaldosTerceros.codigoCiudad IS NULL AND listSaldosTerceros.codigoSector IS NULL)')), 'condition' => 't.ventaVirtual=:venta AND t.activo=:activo AND t.codigoProducto=:codigo AND ( (listSaldos.saldoUnidad IS NOT NULL AND listPrecios.codigoCiudad IS NOT NULL) OR listSaldosTerceros.codigoCiudad IS NOT NULL)', 'params' => array(':venta' => 1, ':activo' => 1, ':codigo' => $codigoProducto, ':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector))); if ($objProducto == null) { echo CJSON::encode(array('result' => 'error', 'response' => 'Producto no disponible.')); Yii::app()->end(); } $codigoPerfil = Yii::app()->shoppingCart->getCodigoPerfil(); $objPrecio = new PrecioProducto($objProducto, $objSectorCiudad, $codigoPerfil); $valorBodega = $objPrecio->getPrecio(Precio::PRECIO_UNIDAD) * $cantidadBodega; $valorUbicacion = $objPrecio->getPrecio(Precio::PRECIO_UNIDAD) * $cantidadUbicacion; $valorTotal = $valorBodega + $valorUbicacion; $valorBodegaFormato = Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], $valorBodega, Yii::app()->params->formatoMoneda['moneda']); $valorUbicacionFormato = Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], $valorUbicacion, Yii::app()->params->formatoMoneda['moneda']); $valorTotalFormato = Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], $valorTotal, Yii::app()->params->formatoMoneda['moneda']); echo CJSON::encode(array('result' => 'ok', 'response' => array('valorBodega' => $valorBodega, 'valorUbicacion' => $valorUbicacion, 'valorTotal' => $valorTotal, 'valorBodegaFormato' => $valorBodegaFormato, 'valorUbicacionFormato' => $valorUbicacionFormato, 'valorTotalFormato' => $valorTotalFormato))); Yii::app()->end(); }