public function getCodigoPerfil() { $diaCF = in_array(date('j'), Yii::app()->params->clienteFiel['dias']) ? 1 : 0; $codigoPerfilCompra = $this->codigoPerfil; $objParametro = ParametroCompra::model()->find(array('condition' => 'codigoPerfil=:perfil AND esClienteFiel=:cf AND esDiaClienteFiel=:diacf', 'params' => array(':perfil' => $this->codigoPerfil, ':cf' => $this->esClienteFiel, ':diacf' => $diaCF))); /*if($this->codigoPerfil == 1 && $this->esClienteFiel == 1 && in_array(date('j'), Yii::app()->params->clienteFiel['dias']) && $this->invitado==0){ $codigoPerfilCompra = 3; }*/ if ($objParametro != null) { $codigoPerfilCompra = $objParametro->codigoPerfilCompra; } return $codigoPerfilCompra; }
private static function generarPuntosPorProductos(DateTime $fecha, $asignaPuntos, $productos) { $listPuntosCompra = array(); foreach ($productos as $producto) { if ($producto['valor'] >= Yii::app()->params->clienteFiel['montoCompra'] && ParametroCompra::validaAsignacionPuntos($asignaPuntos, $producto['tieneDescuento'])) { $listPtosAux = Puntos::model()->findAll(array('with' => array('listPuntosProductos' => array('condition' => 'listPuntosProductos.codigoProducto=:producto AND listPuntosProductos.cantidad<=:cantidad')), 'condition' => 'codigoPunto=:tipo AND activo=:activo AND fechaInicio<=:fecha AND fechaFin>=:fecha', 'params' => array(':tipo' => Yii::app()->params->puntos['producto'], ':activo' => 1, ':fecha' => $fecha->format('Y-m-d H:i:s'), ':producto' => $producto['codigo'], ':cantidad' => $producto['cantidad']))); foreach ($listPtosAux as $objPunto) { foreach ($objPunto->listPuntosProductos as $objPuntoProducto) { $veces = floor($producto['cantidad'] / $objPuntoProducto->cantidad); $objPuntoCompra = new ComprasPuntos(); $objPuntoCompra->idPunto = $objPunto->idPunto; $objPuntoCompra->codigoPunto = $objPunto->codigoPunto; //$objPuntoCompra->idCompra = $objCompra->idCompra; $objPuntoCompra->fechaInicio = $objPunto->fechaInicio; $objPuntoCompra->fechaFin = $objPunto->fechaFin; $objPuntoCompra->fechaCreacion = $objPunto->fechaCreacion; $objPuntoCompra->fechaActualizacion = $objPunto->fechaActualizacion; $objPuntoCompra->activo = $objPunto->activo; $objPuntoCompra->tipoValor = $objPunto->tipoValor; $objPuntoCompra->valor = $objPunto->valor; $objPuntoCompra->cantidadPuntos = self::calcularTotalPuntos($objPunto->tipoValor, $objPunto->valor, $producto['valor']) * $veces; $listPuntosCompra[] = $objPuntoCompra; } } } } return $listPuntosCompra; }