public function refund($id) { $compra = new Compra(); $usuario = new Usuario(); $stock = new Stock(); $info = $this->joinCompra($id); /** * @internal Resto de la compra * @param num * @param user * @param id */ $newTotal = $info->total - $info->pagado; try { $compra->setTotal($newTotal, $info->user, $info->compra); $usuario->sumarCredito($info->pagado, $info->user); $stock->sumStock($info->talle, $info->color, $info->cantidad, $info->producto); $this->delete($id); if ($compra->isEmpty($info->compra)) { $compra->delete($info->compra); } header('location: ' . $_SESSION['last_page']); } catch (PDOException $e) { echo $e->getMessage(); } }
function registrar() { $modelo = new Compra(); $modelo->registar($_POST['id_producto'], $_POST['cantidad'], $_POST['observacion']); $producto = new Producto(); $producto->sumar($_POST['cantidad'], $_POST['id_producto']); $_SESSION['alerta'] = 'Nueva compra registrado'; $this->nuevo(); }
public function run() { $object = [["NUMERO_FACTURA" => "1000000001", "ID_PROVEEDOR" => "1", "ID_PRODUCTO" => "10", "CANTIDAD" => "1", "ID_UNIDAD_EMPAQUE" => "3", "PRECIO_TOTAL" => "12.000", "FECHA_COMPRA" => "2015-09-08"], ["NUMERO_FACTURA" => "1000000002", "ID_PROVEEDOR" => "2", "ID_PRODUCTO" => "20", "CANTIDAD" => "6", "ID_UNIDAD_EMPAQUE" => "2", "PRECIO_TOTAL" => "12.000", "FECHA_COMPRA" => "2015-09-09"], ["NUMERO_FACTURA" => "1000000003", "ID_PROVEEDOR" => "3", "ID_PRODUCTO" => "1", "CANTIDAD" => "15", "ID_UNIDAD_EMPAQUE" => "1", "PRECIO_TOTAL" => "12.000", "FECHA_COMPRA" => "2015-09-10"]]; //DB::unprepared('ALTER TABLE '.$this->table.' AUTO_INCREMENT = 1'); foreach ($object as $detail) { Compra::create($detail); } }
public function cargarCarrito() { self::$carrito = new Carrito(); self::$carrito->agregarItem(new Item('hotel A', '2006-12-21')); self::$carrito->agregarItem(new Item('hotel A', '2006-12-22')); self::$carrito->agregarItem(new Item('hotel A', '2006-12-23')); self::$carrito->agregarItem(new Item('hotel A', '2006-12-24')); }
public function executeCreate(sfWebRequest $request) { if ($this->getRequest()->hasParameter('compra[is4]') and $this->getRequest()->getParameter('compra[is4]') == 'producto') { $this->form = $this->configuration->get4ProductoForm(); } else { if ($this->getRequest()->getParameter('compra[is4]') == 'nota_pedido') { $compra = new Compra(); $nota_de_pedido = NotaPedidoPeer::retrieveByPK($this->getRequest()->getParameter('compra[nota_pedido_id]')); $compra->setProveedorId($nota_de_pedido->getProveedorId()); $compra->setFecha($nota_de_pedido->getFecha()); $compra->setFechaEntrega($nota_de_pedido->getFechaPlazoEntrega()); $this->form = new Compra4NotaPedidoForm($compra); } else { $this->form = $this->configuration->getForm(); } } $this->compra = $this->form->getObject(); $this->processForm($request, $this->form); if ($this->getRequest()->isXmlHttpRequest()) { $this->setTemplate('newWinContent'); } }
private function getProdOptions() { $compra = new Compra(); $compra->productosOptions(); }
case 10: $articulo = new Articulo(); $articulo->editararticulo($miconexion, $_GET); break; case 11: $inventario = new Inventario(); $inventario->insertararticuloinventario($miconexion, $_GET); break; case 12: $inventario = new Inventario(); $inventario->editararticuloinventario($miconexion, $_GET); break; case 13: $compra = new Compra(); $compra->insertarcompra($miconexion, $_GET); $compra = new Compra(); $numero = $compra->seleccionarultimoid($miconexion); while ($rs = mysqli_fetch_assoc($numero)) { echo $rs["id"]; } break; case 14: $entradaproducto = new Entrada_producto(); $entradaproducto->insertarentrada($miconexion, $_GET); $entradaproducto = new Entrada_producto(); $numero = $entradaproducto->seleccionarultimoid($miconexion); while ($rs = mysqli_fetch_assoc($numero)) { echo $rs["id"]; } break; case 15:
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id, $modelClass = __CLASS__) { $model = Compra::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function refund($id) { $compra = new Compra(); $usuario = new Usuario(); $stock = new Stock(); $tempMaxCompra = new TempMaxCompra(); $info = $this->joinCompra($id); /** * @internal Resto de la compra * @param num * @param user * @param id */ $newTotal = $info->total - $info->pagado; try { /** * @php Seteo la devolucion del stock personal (maximos y minimos) */ $remains = new stdClass(); $remains->{'intCantidad'} = $info->cantidad; $remains->{'idProducto'} = $info->producto; $remains->{'idUsuario'} = $info->user; $tempMaxCompra->setUser($info->user); $tempMaxCompra->storeRemains(null, $remains); $compra->setTotal($newTotal, $info->user, $info->compra); $usuario->sumarCredito($info->pagado, $info->user); $stock->sumStock($info->talle, $info->color, $info->cantidad, $info->producto); $this->delete($id); if ($compra->isEmpty($info->compra)) { $compra->delete($info->compra); } @header('location: v_compras.php?activo=1&sub=c'); exit; } catch (PDOException $e) { echo $e->getMessage(); } }
/** * @return \yii\db\ActiveQuery */ public function getCompras() { return $this->hasMany(Compra::className(), ['codigoProducto' => 'codigoProducto']); }
<?php /** @var CompraController $this */ /** @var Compra $model */ $this->breadcrumbs = array('Compras'); $this->menu = array(array('label' => Yii::t('AweCrud.app', 'Create') . ' ' . Compra::label(), 'icon' => 'plus', 'url' => array('create')), array('label' => Yii::t('AweCrud.app', 'Manage'), 'icon' => 'list-alt', 'url' => array('admin'))); ?> <fieldset> <legend> <?php echo Yii::t('AweCrud.app', 'List'); ?> <?php echo Compra::label(2); ?> </legend> <?php $this->widget('bootstrap.widgets.TbListView', array('dataProvider' => $dataProvider, 'itemView' => '_view')); ?> </fieldset>
/** * *Comprar productos en mostrador. No debe confundirse con comprar productos a un proveedor. Estos productos se agregaran al inventario de esta sucursal de manera automatica e instantanea. La IP ser?omada de la m?ina que realiza la compra. El usuario y la sucursal ser?tomados de la sesion activa. El estado del campo liquidada ser?omado de acuerdo al campo total y pagado. * * @param retencion float Cantidad sumada por retenciones * @param detalle json Objeto que contendr la informacin de los productos comprados, sus cantidades, sus descuentos, y sus precios * @param id_vendedor int Id del cliente al que se le compra * @param total float Total de la compra despues de impuestos y descuentos * @param tipo_compra string Si la compra es a credito o de contado * @param subtotal float Total de la compra antes de incluirle impuestos. * @param id_empresa int Empresa a nombre de la cual se realiza la compra * @param descuento float Cantidad restada por descuento * @param impuesto float Cantidad sumada por impuestos * @param billetes_pago json Ids de billetes que se usaron para pagar * @param billetes_cambio json Ids de billetes que se recibieron como cambio * @param tipo_pago string Si el pago ser en efectivo, con tarjeta o con cheque * @param saldo float Saldo de la compra * @param cheques json Si el tipo de pago es con cheque, se almacena el nombre del banco, el monto y los ultimos 4 numeros del o de los cheques * @return id_compra_cliente string Id de la nueva compra **/ public static function ComprarCaja($descuento, $detalle, $id_empresa, $id_vendedor, $impuesto, $retencion, $subtotal, $tipo_compra, $total, $billetes_cambio = null, $billetes_pago = null, $cheques = null, $id_caja = null, $id_compra_caja = null, $id_sucursal = null, $saldo = 0, $tipo_pago = null) { Logger::log("Realizando la compra"); //Se obtiene el id del usuario de la sesion actual $id_usuario = SesionController::getCurrentUser(); if (is_null($id_usuario)) { Logger::error("No se pudo obtener al usuario de la sesion actual, ya inicio sesion?"); throw new Exception("No se pudo obtener al usuario de la sesion actual, ya inicio sesion?"); } //Se validan los parametros recibidos $validar = self::validarParametrosCompra(null, $id_compra_caja, $id_vendedor, $tipo_compra, $subtotal, $impuesto, $descuento, $total, $id_empresa, $saldo, null, $tipo_pago, $retencion); if (is_string($validar)) { Logger::error($validar); throw new Exception($validar); } //Se inicializa el usuario con los parametros recibidos. $usuario = UsuarioDAO::getByPK($id_vendedor); $compra = new Compra(); $compra->setRetencion($retencion); $compra->setIdVendedorCompra($id_vendedor); $compra->setSubtotal($subtotal); $compra->setImpuesto($impuesto); $compra->setTotal($total); $compra->setDescuento($descuento); $compra->setTipoDeCompra($tipo_compra); $compra->setIdCaja(self::getCaja()); $compra->setIdSucursal(self::getSucursal()); $compra->setIdUsuario($id_usuario); $compra->setIdCompraCaja($id_compra_caja); $compra->setCancelada(0); $compra->setTipoDePago($tipo_pago); $compra->setFecha(time()); $compra->setIdEmpresa($id_empresa); DAO::transBegin(); try { //Si la compra es a contado, se realizan operaciones dependiendo del tipo de pago if ($tipo_compra === "contado") { //Si se recibe un saldo, se loguea una advertencia indicando que se ignorará if (!is_null($saldo)) { Logger::warn("Se recibio un saldo cuando la venta es de contado, el saldo se tomara del total"); } $compra->setSaldo($total); CompraDAO::save($compra); //Si el tipo de pago es cheque, se crean los nuevos cheques con la informacion obtenida //y se almacenan registros por cada cheque para esta compra en la tabla cheque_compra if ($tipo_pago === "cheque") { //Si no se recibe informacion de los cheques se lanza una excepcion if (is_null($cheques)) { throw new Exception("El tipo de pago es con cheque pero no se recibio informacion del mismo"); } $cheques = object_to_array($cheques); if (!is_array($cheques)) { throw new Exception("Los cheques son invalidos", 901); } $cheque_compra = new ChequeCompra(); $cheque_compra->setIdCompra($compra->getIdCompra()); foreach ($cheques as $cheque) { $id_cheque = ChequesController::NuevoCheque($cheque["nombre_banco"], $cheque["monto"], $cheque["numero"], 1); $cheque_compra->setIdCheque($id_cheque); ChequeCompraDAO::save($cheque_compra); } } else { if ($tipo_pago === "efectivo") { CajasController::modificarCaja($compra->getIdCaja(), 0, $billetes_pago, $total); if (!is_null($billetes_cambio)) { CajasController::modificarCaja($compra->getIdCaja(), 1, $billetes_cambio, 0); } } } } else { if ($tipo_compra == "credito") { if (is_null($saldo)) { Logger::warn("No se recibio un saldo, se tomara 0 como saldo"); $saldo = 0; } //El saldo no puede ser mayor que la cantidad a comprar if ($saldo > $total) { throw new Exception("El saldo no puede ser mayor que el total de la compra"); } $compra->setSaldo($saldo); CompraDAO::save($compra); $usuario->setSaldoDelEjercicio($usuario->getSaldoDelEjercicio() + $total - $saldo); UsuarioDAO::save($usuario); } } //Si se recibio detalle de productos, se agregan al almacen correspondiente a la empresa //dentro de esta sucursal. Tambien se guarda el detalle en la tabla compra_producto if (!is_null($detalle)) { $detalle = object_to_array($detalle); if (!is_array($detalle)) { throw new Exception("El detalle del producto es invalido", 901); } //Se inicializan variables para el almacenamiento de los registros. $d_producto = new CompraProducto(); $d_producto->setIdCompra($compra->getIdCompra()); //se buscan los almacenes de esta empresa para esta sucursal y se ignoran los de consginacion $almacenes = AlmacenDAO::search(new Almacen(array("id_sucursal" => self::getSucursal(), "id_empresa" => $id_empresa))); $id_almacen = null; foreach ($almacenes as $a) { if ($a->getIdTipoAlmacen() == 2) { continue; } $id_almacen = $a->getIdAlmacen(); } //Si no se encontro un almacen, se arroja una excepcion if (is_null($id_almacen)) { throw new Exception("No existe un almacen para esta empresa en esta sucursal"); } //Por cada producto en el detalle se almacena en la tabla compra_producto y se agregan al //almacen de la empresa foreach ($detalle as $d_p) { if (!array_key_exists("id_producto", $d_p) || !array_key_exists("cantidad", $d_p) || !array_key_exists("precio", $d_p) || !array_key_exists("descuento", $d_p) || !array_key_exists("impuesto", $d_p) || !array_key_exists("retencion", $d_p) || !array_key_exists("id_unidad", $d_p)) { throw new Exception("El detalle de paquete recibido es invalido", 901); } $validar = self::validarParametrosCompraProducto(null, $d_p["id_producto"], $d_p["precio"], $d_p["cantidad"], $d_p["descuento"], $d_p["impuesto"], $d_p["retencion"], $d_p["id_unidad"]); if (is_string($validar)) { throw $validar; } $producto = ProductoDAO::getByPK($d_p["id_producto"]); //Si el producto no puede ser comprado en mostrador arroja una excepcion if (!$producto->getCompraEnMostrador()) { throw new Exception("No se puede comprar el producto con id " . $d_p["id_producto"] . " en mostrador"); } //Si el producto no pertenece a la empresa que quiere hacer la compra, arroja una excepcion if (is_null(ProductoEmpresaDAO::getByPK($d_p["id_producto"], $id_empresa))) { throw new Exception("El producto no pertenece a la empresa seleccionada"); } //Se incializa ys e guarda el nuevo registro de la tabla compra_producto $d_producto->setCantidad($d_p["cantidad"]); $d_producto->setDescuento($d_p["descuento"]); $d_producto->setIdProducto($d_p["id_producto"]); $d_producto->setIdUnidad($d_p["id_unidad"]); $d_producto->setImpuesto($d_p["impuesto"]); $d_producto->setPrecio($d_p["precio"]); $d_producto->setRetencion($d_p["retencion"]); CompraProductoDAO::save($d_producto); //Se busca el producto en el almacen en la unidad obtenida, si no existe aun //se crea uno nuevo y al final se guarda. $producto_almacen = ProductoAlmacenDAO::getByPK($d_p["id_producto"], $id_almacen, $d_p["id_unidad"]); if (is_null($producto_almacen)) { $producto_almacen = new ProductoAlmacen(array("id_producto" => $d_p["id_producto"], "id_almacen" => $id_almacen, "id_unidad" => $d_p["id_unidad"])); } $producto_almacen->setCantidad($producto_almacen->getCantidad() + $d_p["cantidad"]); ProductoAlmacenDAO::save($producto_almacen); } } else { throw new Exception("No se recibieron productos para esta compra"); } } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo realizar la compra: " . $e); throw new Exception("No se pudo realizar la compra"); } DAO::transEnd(); Logger::log("compra realizada exitosamente"); return array("id_compra_cliente" => $compra->getIdCompra()); }
<?php /** @var CompraController $this */ /** @var Compra $model */ $this->breadcrumbs = array('Compras' => array('index'), $model->id_compra); $this->menu = array(array('label' => Yii::t('AweCrud.app', 'Create') . ' ' . Compra::label(), 'icon' => 'plus', 'url' => array('create')), array('label' => Yii::t('AweCrud.app', 'Update'), 'icon' => 'pencil', 'url' => array('update', 'id' => $model->id_compra)), array('label' => Yii::t('AweCrud.app', 'Delete'), 'icon' => 'trash', 'url' => '#', 'linkOptions' => array('submit' => array('delete', 'id' => $model->id_compra), 'confirm' => Yii::t('AweCrud.app', 'Are you sure you want to delete this item?'))), array('label' => Yii::t('AweCrud.app', 'Manage'), 'icon' => 'list-alt', 'url' => array('admin')), array('label' => Yii::t('AweCrud.app', 'Productos'), 'icon' => 'list-alt', 'url' => Yii::app()->createUrl('SistenAdmin/DetalleCompra/create', array('id_compra' => $model->id_compra)))); ?> <fieldset> <legend><?php echo Yii::t('AweCrud.app', 'View') . ' ' . Compra::label(); ?> <?php echo CHtml::encode($model); ?> </legend> <?php $this->widget('bootstrap.widgets.TbDetailView', array('data' => $model, 'attributes' => array('id_compra', array('name' => 'id_proveedor', 'value' => $model->idProveedor !== null ? CHtml::link($model->idProveedor, array('/proveedor/view', 'id_proveedor' => $model->idProveedor->id_proveedor)) . ' ' : null, 'type' => 'html'), array('name' => 'id_usuario', 'value' => $model->idUsuario !== null ? CHtml::link($model->idUsuario, array('/usuario/view', 'id_usuario' => $model->idUsuario->id_usuario)) . ' ' : null, 'type' => 'html'), 'total_compra', 'fecha_compra', 'observaciones'))); ?> </fieldset> <?php $modelDetalle = DetalleCompra::model(); $modelDetalle->id_compra = $model->id_compra; $this->widget('bootstrap.widgets.TbGridView', array('id' => 'detalle-compra-grid', 'type' => 'striped condensed', 'dataProvider' => $modelDetalle->search(), 'filter' => $modelDetalle, 'columns' => array('id_detalle', array('name' => 'id_compra', 'value' => 'isset($data->idCompra) ? $data->idCompra : null', 'filter' => CHtml::listData(Compra::model()->findAll(), 'id_compra', Compra::representingColumn())), array('name' => 'id_producto', 'value' => 'isset($data->idProducto) ? $data->idProducto : null', 'filter' => CHtml::listData(Producto::model()->findAll(), 'id_producto', Producto::representingColumn())), 'valor_unidad', 'cantidad', 'valor_total')));
<div class="color"> <p> <?php echo $itemv->color ?> </p> </div> <div class="size"> <p> <?php echo $itemv->talle ?> </p> </div> <div class="pre-bill"> <input type="text" name="remito[<?php echo $itemv->id_detalle ?>]" value="<?php echo $itemv->remito ?>"> </div> <div class="status"> <select name="detalles[<?php echo $itemv->id_detalle ?>]" id="estado2"> <?php Compra::optionsEstado($itemv->estado_detalle); ?> </select> </div> <div class="controls" style="right:-30px;"> <!--<a href="edit_compra.php?id=<?php echo $itemv->id_detalle ?>"> <img src="../layout/editar.png" alt=""> </a>--> <a id="delete-item-<?php echo $itemv->id_detalle ?>" href="delete_compras.php?id=<?php echo $itemv->id_detalle ?>"> <img src="../layout/borrar.png" alt=""> </a> </div> </div> <!-- for each end --> </div> </div>
/** * *Registra una nueva compra fuera de caja, puede usarse para que el administrador haga directamente una compra. El usuario y al sucursal seran tomados de la sesion. La fecha sera tomada del servidor. La empresa sera tomada del almacen del cual fueron tomados los productos. * * @param descuento float Monto descontado por descuentos * @param subtotal float Total de la compra antes de impuestos y descuentos. * @param detalle json Objeto que contendr el arreglo de id productos, cantidad, precio, descuento, id de unidad y procesado que involucran esta compra. * @param impuesto float Monto agregado por impuestos * @param tipo_compra string Si la compra es a credito o de contado * @param retencion float Monto agregado por retenciones * @param id_usuario_compra int Id usuario al que se le compra, si es a una sucursal, se pone el id en negativo * @param id_empresa int Id de la empresa a nombre de la cual se hace la compra * @param total float Total de la compra * @param cheques json Si el tipo de pago es con cheque, se almacena el nombre del banco, el monto y los ultimos 4 numeros del o de los cheques * @param saldo float Cantidad pagada de la * @param tipo_de_pago string Si el pago sera en efectivo, con cheque o tarjeta * @return id_compra int Id autogenerado por la inserci�n de la compra **/ public static function Nueva($descuento, $detalle, $id_empresa, $id_usuario_compra, $impuesto, $retencion, $subtotal, $tipo_compra, $total, $cheques = null, $id_sucursal = null, $saldo = 0, $tipo_de_pago = null) { Logger::log(" ===== Creando nueva compra... ===== "); //validemos al comprador $proveedor = UsuarioDAO::getByPK($id_usuario_compra); if (is_null($proveedor)) { Logger::error("el provedor {$id_usuario_compra} no exite"); throw new InvalidDataException("El proveedor no existe"); } if ($proveedor->getActivo() == false) { throw new BusinessLogicException("No se puede comprar de un proveedor no activo."); } //validemos la empresa $empresa = EmpresaDAO::getByPK($id_empresa); if (is_null($empresa)) { Logger::error("La empresa {$id_empresa} no existe"); throw new InvalidDataException("La empresa que compra no existe."); } if ($empresa->getActivo() == false) { throw new BusinessLogicException("Una empresa inactiva no puede hacer compras."); } //validemos los valores conocidos //( 0 >= descuento > 100, subtotal > 0, total >= subtotal, etc etc) //validemos sucursal $sucursal = null; if (!is_null($id_sucursal) && strlen($id_sucursal) > 0) { $sucursal = SucursalDAO::getByPK($id_sucursal); if (is_null($sucursal)) { Logger::error("La sucursal {$id_sucursal} no existe"); //throw new InvalidDataException("La sucural que se envio no existe."); } } //validemos detalles de compra //debe traer // -id_producto // -cantidad // -precio // -lote if (!is_array($detalle)) { throw InvalidDataException("El detalle no es un arreglo"); } for ($detalleIterator = 0; $detalleIterator < sizeof($detalle); $detalleIterator++) { //por cada producto // -debe existir // -si se lo compro a un proveedor no hay pedo // si se lo compro a un cliente, debe de tener comprar_caja = 1 // -debe tener cantidad mayor a 0 // -que exista el lote a donde va a ir $p = $detalle[$detalleIterator]; if (!isset($p->precio)) { throw new InvalidArgumentException("No se envio el precio"); } if (!isset($p->id_producto)) { throw new InvalidArgumentException("No se envio el id_producto"); } if (!isset($p->cantidad)) { throw new InvalidArgumentException("No se envio la cantidad"); } if (!isset($p->lote)) { throw new InvalidArgumentException("No se envio el lote"); } $producto = ProductoDAO::getByPK($p->id_producto); if (is_null($producto)) { throw new InvalidArgumentException("El producto a comprar no existe"); } if ($p->cantidad <= 0) { throw new InvalidArgumentException("No puedes comprar 0 unidades"); } } $s = SesionController::getCurrentUser(); //terminaron las validaciones $compra = new Compra(); $compra->setIdVendedorCompra($id_usuario_compra); $compra->setTipoDeCompra($tipo_compra); $compra->setFecha(time()); $compra->setSubtotal($subtotal); $compra->setImpuesto($impuesto); $compra->setDescuento($descuento); $compra->setTotal($subtotal + $impuesto); $compra->setIdUsuario($s->getIdUsuario()); $compra->setIdEmpresa($id_empresa); $compra->setSaldo(0); $compra->setCancelada(false); $compra->setTipoDePago($tipo_de_pago); $compra->setRetencion(0); try { DAO::transBegin(); CompraDAO::save($compra); } catch (Exception $e) { DAO::transRollback(); throw InvalidDatabaseOperationException($e); } for ($detalleIterator = 0; $detalleIterator < sizeof($detalle); $detalleIterator++) { //por cada producto // --- procesos --- // -insertar en productoempresa // -insertar en loteproducto // -insertar en entradalote // -si el tipo de precio de venta es costo, actualizar // -insertar compra producto $p = $detalle[$detalleIterator]; try { ProductoEmpresaDAO::save(new ProductoEmpresa(array("id_empresa" => $id_empresa, "id_producto" => $p->id_producto))); if (is_null($p->lote)) { throw new InvalidDataException("No selecciono a que lote ira el producto " . $p->id_producto); } if (strlen($p->lote) == 0) { throw new InvalidDataException("No selecciono a que lote ira el producto " . $p->id_producto); } //busquemos el id del lote $l = LoteDAO::search(new Lote(array("folio" => $p->lote))); $l = $l[0]; //busquemos la unidad que nos mandaron $uAbreviacion = $p->id_unidad; $uResults = UnidadMedidaDAO::search(new UnidadMedida(array("abreviacion" => $uAbreviacion, "activa" => 1))); if (sizeof($uResults) != 1) { throw new InvalidDataException("La unidad de medida `" . $p->id_unidad . "` no existe, o no esta activa."); } else { $p->id_unidad = $uResults[0]->getIdUnidadMedida(); } //busequemos si este producto ya existe en este lote $lp = LoteProductoDAO::getByPK($l->getIdLote(), $p->id_producto); if (is_null($lp)) { //no existe, insertar $loteProducto = new LoteProducto(array("id_lote" => $l->getIdLote(), "id_producto" => $p->id_producto, "cantidad" => $p->cantidad, "id_unidad" => $p->id_unidad)); LoteProductoDAO::save($loteProducto); } else { //ya existe, sumar //revisemos si es de la misma unidad if ($lp->getIdUnidad() == $p->id_unidad) { //es igual, solo hay que sumar $lp->setCantidad($lp->getCantidad() + $p->cantidad); } else { //no es igual, hay que convertir try { $r = UnidadMedidaDAO::convertir($p->id_unidad, $lp->getIdUnidad(), $p->cantidad); } catch (BusinessLogicException $ide) { //no se pudo convertir porque son de //diferentes categorias throw $ide; //mostrar una excpetion mas fresona } $lp->setCantidad($lp->getCantidad() + $r); } //$lp->setCantidad( $lp->getCantidad() + $p->cantidad ); LoteProductoDAO::save($lp); } $loteEntrada = new LoteEntrada(array("id_lote" => $l->getIdLote(), "id_usuario" => $s->getIdUsuario(), "fecha_registro" => time(), "motivo" => "Compra a Proveedor")); LoteEntradaDAO::save($loteEntrada); LoteEntradaProductoDAO::save(new LoteEntradaProducto(array("id_lote_entrada" => $loteEntrada->getIdLoteEntrada(), "id_producto" => $p->id_producto, "id_unidad" => $p->id_unidad, "cantidad" => $p->cantidad))); $compraProducto = new CompraProducto(array("id_compra" => $compra->getIdCompra(), "id_producto" => $p->id_producto, "cantidad" => $p->cantidad, "precio" => $p->precio, "descuento" => 0, "impuesto" => 0, "id_unidad" => $p->id_unidad, "retencion" => 0)); CompraProductoDAO::save($compraProducto); } catch (InvalidDataException $e) { Logger::error($e); DAO::transRollback(); throw $e; } catch (exception $e) { Logger::error($e); DAO::transRollback(); throw new InvalidDatabaseOperationException($e); } } //for try { DAO::transEnd(); } catch (Exception $e) { throw InvalidDatabaseOperationException($e); } Logger::log("===== COMPRA " . $compra->getIdCompra() . " EXITOSA ===== "); return array("id_compra" => $compra->getIdCompra()); }
<?php /** @var DetalleCompraController $this */ /** @var AweActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array('action' => Yii::app()->createUrl($this->route), 'method' => 'get')); ?> <?php echo $form->textFieldRow($model, 'id_detalle', array('class' => 'span5')); ?> <?php echo $form->dropDownListRow($model, 'id_compra', CHtml::listData(Compra::model()->findAll(), 'id_compra', Compra::representingColumn()), array('prompt' => Yii::t('AweApp', 'None'))); ?> <?php echo $form->dropDownListRow($model, 'id_producto', CHtml::listData(Producto::model()->findAll(), 'id_producto', Producto::representingColumn()), array('prompt' => Yii::t('AweApp', 'None'))); ?> <?php echo $form->textFieldRow($model, 'valor_unidad', array('class' => 'span5')); ?> <?php echo $form->textFieldRow($model, 'cantidad', array('class' => 'span5')); ?> <?php echo $form->textFieldRow($model, 'valor_total', array('class' => 'span5')); ?>
/** * @return \yii\db\ActiveQuery */ public function getCompras() { return $this->hasMany(Compra::className(), ['rutCliente' => 'rutCliente']); }
<?php /** @var CompraController $this */ /** @var Compra $model */ $this->breadcrumbs = array($model->label(2) => array('index'), Yii::t('app', $model->id_compra) => array('view', 'id' => $model->id_compra), Yii::t('AweCrud.app', 'Update')); $this->menu = array(array('label' => Yii::t('AweCrud.app', 'Delete'), 'icon' => 'trash', 'url' => '#', 'linkOptions' => array('submit' => array('delete', 'id' => $model->id_compra), 'confirm' => Yii::t('AweCrud.app', 'Are you sure you want to delete this item?'))), array('label' => Yii::t('AweCrud.app', 'Manage'), 'icon' => 'list-alt', 'url' => array('admin'))); ?> <fieldset> <legend><?php echo Yii::t('AweCrud.app', 'Update') . ' ' . Compra::label(); ?> <?php echo CHtml::encode($model); ?> </legend> <?php echo $this->renderPartial('_form', array('model' => $model)); ?> </fieldset>
if (!empty($titulo)) { $graph->title->Set($titulo); } //Creamos el plot de tipo tarta $p1 = new PiePlot3D($data); $p1->SetSliceColors($color); #indicamos la leyenda para cada porcion de la tarta $p1->SetLegends($nombres); //Añadirmos el plot al grafico $graph->Add($p1); //mostramos el grafico en pantalla $graph->Stroke("{$nombreGrafico}.png"); $this->Image("{$nombreGrafico}.png", $x, $y, $ancho, $altura); unlink("{$nombreGrafico}.png"); } } } $pdf = new Reporte(); //creamos el documento pdf $pdf->AddPage(); //agregamos la pagina $pdf->SetFont("Arial", "B", 16); //establecemos propiedades del texto tipo de letra, negrita, tamaño //$pdf->Cell(40,10,'hola mundo',1); $pdf->Cell(0, 5, "Estadisticas de los ultimos 30 dias", 0, 0, 'C'); $compra = new Compra(); $venta = new Venta(); $nro_compra = $compra->contar(); $nro_venta = $venta->contar(); $pdf->gaficoPDF(array('Ingresos' => array($nro_compra['0']['compras'], 'red'), 'Egresos' => array($nro_venta['0']['ventas'], 'blue')), 'Grafico', array(20, 40, 170, 170), 'Ingresos ' . $nro_compra['0']['compras'] . ' | Egresos ' . $nro_venta['0']['ventas']); $pdf->Output();
} ?> </form> </div> <?php } ?> </section> <div class="navigate"> <?php $current = isset($_GET['page']) ? $_GET['page'] : 1; for ($i = 1; $i <= Compra::sBarPag(); $i++) { ?> <a class="<?php echo $i == $current ? 'current' : 'paginate'; ?> " href="?page=<?php echo $i; ?> &activo=1&sub=c"><?php echo $i; ?> </a> <?php } ?> </div>
$this->Cell(47, 6, $col, 1); } $this->Ln(); } } // Page header function Header() { // Logo $this->Image('../vista/default/images/logo.png', 10, 6, 30); // Arial bold 15 $this->SetFont('Arial', 'B', 15); // Move to the right $this->Cell(80); // Title $this->Cell(30, 10, 'Ingresos ultimo 7 dias', 0, 0, 'C'); // Line break $this->Ln(20); } } $pdf = new PDF(); // Column headings $header = array('Cantidad', 'Producto', 'Fecha', 'Observacion'); // Data loading //$data = $pdf->LoadData('countries.txt'); $modelo = new Compra(); $data = $modelo->listadoSemana(); $pdf->SetFont('Arial', '', 14); $pdf->AddPage(); $pdf->BasicTable($header, $data); $pdf->Output();
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Compra the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Compra::model()->findByPk($id); $model_detalle = $model->Id; if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
* User: Equipo * Date: 26/11/14 * Time: 12:19 */ include_once "../clase.compra.php"; include_once "../clase.comprador.php"; include_once "../clase.tool.php"; $err = $_GET['err']; $res = $_GET['res']; session_start(); if (isset($_SESSION["username"])) { echo "<div style='background-color: #fff5c6;'>"; //cabecera y menu izquierdo echo "<div style='width: 100%;text-align: left;background-color: #983030;position: absolute;top: 0px;left: 0px; padding-left: 10px;'>\n\n <img src='cabecera.jpg' style='float: left;'>\n <h1 style='float: left;padding-left: 10px;'>Gestión de entradas anticipadas</h1>\n </div>\n <div style='width: 215px;text-align: left;background-color: #708e8b;position: absolute;top: 90px;left: 10px; padding-left: 10px;'>\n\t" . Tool::menuPrincipal() . "\n </div>\n "; echo "<div style='position: absolute;top: 70px;left: 250px;'>"; $c = new Compra(); $lista = $c->listadoCompras($_SESSION["Filtro"]); echo "<h1>Compras</h1>\n <form action='./filtro.php' name='filtro_compras' method='post'>\n <select name='NombreParametro'>\n <option>Id</option>\n <option>Email</option>\n <option>Fecha</option>\n <option>Cantidad</option>\n <option>Importe</option>\n </select>\n <input type='text' name='Parametro'>\n <input type='submit' name='Filtrar'>\n <input type='hidden' name='origen' value='compras'>\n </form>"; if ($_SESSION["Filtro"] == "" || $_SESSION["Filtro"] == "1") { echo "<h3>Listado completo</h3>"; } else { echo "<h3>Listado filtrado</h3>"; $_SESSION["Filtro"] = "1"; } if ($err != "") { echo "<div style='width: 100%;background-color: #AA0000;'> " . $err . "</div>"; } if ($res != "") { echo "<div style='width: 100%;background-color: #00AA00;'> " . $res . "</div>"; } echo "<table style='width:100%;'><tr>\n <td><a href='addCompra.php?pass=admin'><img src='png/nuevo.png'>Nuevo</a> </td>\n <td></td>\n <td></td>\n </tr></table>";
/** * Función para mover una compra de la tabla Compras a HistoricoCompras. El registro desaparecerá de la tabla Compras. * @param unknown $id Id de la compra. */ public static function archivaCompra($id) { $db = Tool::_conectaBD(); $archivado = false; if (!$db) { Tool::log("[ERROR] Error conectando a la base de datos archivando compra" . PHP_EOL . mysql_errno . ":" . mysql_error($db), LOG); } else { $c = new Compra(); $c->getCompra($id); $sql = "INSERT INTO HistoricoCompras (Id,IdVendedor,IdComprador,importe,fecha,cantidad,IdEvento)\n\t\t\tVALUES ('" . $c->id_transaccion . "','" . $c->email_vendedor . "','" . $c->email_comprador . "','" . $c->precio . "','" . $c->fecha . "'," . $c->cantidad . ",'" . $c->id_evento . "')"; if ($c->id_transaccion != "") { if (!Compra::estaArchivada($c->id_transaccion)) { if (Tool::ejecutaConsulta($sql, $db)) { //echo "Compra " . $c->id_transaccion . " archivado<br/>"; $archivado = true; } else { //echo "Error en la insercion del compra " . $c->id_transaccion . " -> " . mysqli_error($db) . "<br/> // SQL->" . $sql . "<br/><hr/>"; } } else { $archivado = true; //echo "Compra " . $id . " ya esta archivado<br/>"; } } else { //echo "Compra " . $id . " no encontrado<br/>"; } if ($archivado) { Compra::deleteCompra($id); } } Tool::_desconectaBD($db); return $archivado; }
public function CompraCurso($id) { $arr = array(); $vai = new MySQLDB(); $sql = "SELECT `venda`.`nome`, `venda`.`valor`\n\t\t\t\tFROM `compra_curso` INNER JOIN `venda` ON `venda`.`id`=`compra_curso`.`venda_id`\n\t\t\t\tWHERE `compra_curso`.`compra_id` = {$id};"; $result = $vai->executeQuery($sql); while ($dados = mysql_fetch_array($result)) { $cliente = new Compra(); $cliente->setnome(array('nome' => $dados['nome'])); $cliente->setvalor(array('valor' => $dados['valor'])); $arr[] = $cliente; } return $arr; }
if (!empty($titulo)) { $graph->title->Set($titulo); } //Creamos el plot de tipo tarta $p1 = new PiePlot3D($data); $p1->SetSliceColors($color); #indicamos la leyenda para cada porcion de la tarta $p1->SetLegends($nombres); //Añadirmos el plot al grafico $graph->Add($p1); //mostramos el grafico en pantalla $graph->Stroke("{$nombreGrafico}.png"); $this->Image("{$nombreGrafico}.png", $x, $y, $ancho, $altura); unlink("{$nombreGrafico}.png"); } } } $pdf = new Reporte(); //creamos el documento pdf $pdf->AddPage(); //agregamos la pagina $pdf->SetFont("Arial", "B", 16); //establecemos propiedades del texto tipo de letra, negrita, tamaño //$pdf->Cell(40,10,'hola mundo',1); $pdf->Cell(0, 5, "Estadisticas ultimos 12 meses", 0, 0, 'C'); $compra = new Compra(); $venta = new Venta(); $nro_compra = $compra->contarAno(); $nro_venta = $venta->contarAno(); $pdf->gaficoPDF(array('Ingresos' => array($nro_compra['0']['compras'], 'red'), 'Egresos' => array($nro_venta['0']['ventas'], 'blue')), 'Grafico', array(20, 40, 170, 170), 'Ingresos ' . $nro_compra['0']['compras'] . ' | Egresos ' . $nro_venta['0']['ventas']); $pdf->Output();
public function query() { return Compra::obtenerItemsCarrito(); }
public function AulaVenda($id) { $arr = array(); $vai = new MySQLDB(); $sql = "SELECT `aluno_venda`.`liberacao`, `venda`.`id`, `venda`.`nome` as `nomeVenda` FROM `venda` \n\t\t\t\tINNER JOIN `aluno_venda` ON `venda`.`id`=`aluno_venda`.`venda_id`\t\t\t\t\n\t\t\t\tWHERE `aluno_venda`.`aluno_id` = {$id};"; $result = $vai->executeQuery($sql); while ($dados = mysql_fetch_array($result)) { $cliente = new Compra(); $cliente->setid(array('id' => $dados['id'])); $cliente->setnomeVenda(array('nomeVenda' => $dados['nomeVenda'])); $cliente->setliberacao(array('liberacao' => $dados['liberacao'])); $arr[] = $cliente; } return $arr; }
public function deleteAction() { $Objdel = new Compra(); $new = Input::all(); if ($Objdel->validate(Input::get($this->key), $new, 3)) { $object = Compra::findOrFail(Input::get($this->key)); $object->delete(); } return Redirect::route($this->routeIndex); }
include_once "../clase.ticket.php"; include_once "../clase.compra.php"; include_once "../clase.comprador.php"; include_once "../clase.tool.php"; session_start(); if (isset($_SESSION["username"])) { $c = new Comprador(); $i = 0; $lista = $c->listadoCompradores(); foreach ($lista as $aux) { if (Comprador::archivaComprador($aux['Email'])) { $i++; } } echo "Archivados " . $i . " compradores<br/>"; $c = new Compra(); $i = 0; $lista = $c->listadoCompras(); foreach ($lista as $aux) { if (Compra::archivaCompra($aux['Id'])) { $i++; } } echo "Archivados " . $i . " compras<br/>"; $c = new Ticket(); $i = 0; $lista = $c->listadoTickets(); foreach ($lista as $aux) { if (Ticket::archivaTicket($aux['Codigo'])) { $i++; }