public function init() { $this->setAction('/administrador/confirmarventa')->setMethod('post'); $model = new Application_Model_DbTable_CartaProductos(); $productos = $model->getproductos(); foreach ($productos as $val) { $this->addElement('hidden', $val->id_producto, array('required' => false, 'pimage' => '/images/carta/' . $val->imagen, 'pprice' => $val->precio, 'pdesc' => $val->descripcion, 'pcategory' => $val->nombre_tipo, 'pname' => $val->nombre, 'pid' => $val->id_producto, 'value' => '', 'disableLoadDefaultDecorators' => true, 'decorators' => parent::$_standardElementDecoratorClearLeft)); } }
public function getAll() { $modelo = new Application_Model_DbTable_CartaProductos(); $this->view->menus = $modelo->listarmenus(); }
public function confirmarventaAction() { $form = new Application_Form_Buscarcliente(); //recibe la lista de productos $listaproductos = $this->_getParam("products_selected"); $model = new Application_Model_DbTable_CartaProductos(); $puntos1 = $form->getValue('puntos'); $productosbase = $model->getproductos(); if ($this->getRequest()->isPost()) { //Calculo subtotal if ($form->isValid($this->_getAllParams())) { $sub_total = 0; $puntosventa = 0; foreach ($productosbase as $base) { foreach ($listaproductos as $product) { $chunks = explode('|', $product); $product_id = $chunks[0]; if ($base->id_producto == $product_id) { $product_qty = $chunks[1]; $product_price = $base->precio; $puntosventa = $puntosventa + $base->puntos_producto * $product_qty; $product_amount = $product_price * $product_qty; $sub_total = $sub_total + $product_amount; } } } $fecha = new Zend_Db_Expr('NOW()'); $id_usuario = $form->getvalue('cliente'); $observacion = $form->getvalue('observacion'); $mesa = $form->getvalue('mesa'); $puntoscliente = $form->getvalue('puntos'); $descuento = $form->getvalue('descuento'); if ($puntoscliente >= 1000 && $descuento <= $puntoscliente && $sub_total >= $descuento) { $descuento = $descuento; //Descuento de puntos y venta $sub_total = $sub_total - $descuento; $puntoscliente = $puntoscliente - $descuento; $puntosclientefinal = $puntoscliente + $puntosventa; $modeluser = new Application_Model_DbTable_Usuarios(); $modeluser->editarpuntosacumulados($puntosclientefinal, $id_usuario); } else { $descuento = 0; $sub_total = $sub_total; $puntosclientefinal = $puntoscliente + $puntosventa; $modeluser = new Application_Model_DbTable_Usuarios(); $modeluser->editarpuntosacumulados($puntosclientefinal, $id_usuario); } $model = new Application_Model_DbTable_Ventas(); //Agrego venta * validar $idventa = $model->crearventa($sub_total, $mesa, $fecha, $puntosventa, $descuento, $observacion, $id_usuario); //Integracion de productos a la tabla relacional ventas-productos foreach ($productosbase as $base) { foreach ($listaproductos as $product) { $chunks = explode('|', $product); $product_id = $chunks[0]; if ($base->id_producto == $product_id) { $product_qty = $chunks[1]; $modelorelacion = new Application_Model_DbTable_RelCartaVentas(); $modelorelacion->agregarProductosVenta($idventa, $product_id, $product_qty); } } } return $this->_redirect('/administrador'); } } $this->view->element = $form; $this->view->punto = $puntos1; $this->view->productobase = $productosbase; $this->view->listaventa = $listaproductos; }