コード例 #1
0
 function getListJuegoDetalleFactura($condicion = null, $parametros = array())
 {
     if ($condicion === null) {
         $condicion = "";
     } else {
         $condicion = "where {$condicion}";
     }
     $sql = "select ju.*, de.*, fa.*, cl.* from detalle de \r\n                    left join juego ju on ju.id_juego = de.id_juego \r\n                    left join factura fa on fa.num_factura = de.num_factura \r\n                    left join cliente cl on fa.id_cliente = cl.id_cliente  \r\n                {$condicion} ORDER BY cl.email, fa.fecha desc ";
     $this->bd->send($sql, $parametros);
     $r = array();
     $contador = 0;
     while ($fila = $this->bd->getRow()) {
         $juego = new Game();
         $juego->set($fila);
         $detalle = new Detalle();
         $detalle->set($fila, 8);
         $factura = new Factura();
         $factura->set($fila, 13);
         $cliente = new User();
         $cliente->set($fila, 16);
         $r[$contador]["juego"] = $juego;
         $r[$contador]["factura"] = $factura;
         $r[$contador]["detalle"] = $detalle;
         $r[$contador]["cliente"] = $cliente;
         $contador++;
     }
     return $r;
 }
コード例 #2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $this->pageTitle = 'Incorporar Bien';
     $user = Usuario::model()->findbyPk(Yii::app()->user->getId());
     $model = new Bienmueble();
     $factura = new Factura();
     $movimiento = new BmMovimiento();
     date_default_timezone_set('America/Caracas');
     $fecha = date('Y-m-d H:i:s');
     $model->f_incorporacion = $fecha;
     $movimiento->dependencia_id = $user->dependencia_id;
     if (isset($_POST['Bienmueble'])) {
         $model->attributes = $_POST['Bienmueble'];
         //print_r();exit;
         $movimiento->attributes = $_POST['BmMovimiento'];
         $model->cantidad = 1;
         $model->status_id = 1;
         $model->factura_id = 1;
         if (isset($_POST['Factura'])) {
             $factura->attributes = $_POST['Factura'];
             $factura->fecha = $model->f_incorporacion;
             if ($factura->save()) {
                 $model->factura_id = $factura->id;
             }
         }
         $model->f_actualizacion = $model->f_incorporacion;
         $model->valor_referencial = $model->valor_unitario;
         if ($model->save()) {
             $movimiento->bienmueble_id = $model->id;
             $movimiento->fecha = $model->f_incorporacion;
             if ($movimiento->save()) {
                 $model->ult_mov_id = $movimiento->id;
                 if ($model->update()) {
                     $bita = new Bitacora();
                     $bita->dependencia_id = $user->dependencia_id;
                     $bita->fecha = $fecha;
                     $bita->operacion_id = 2;
                     // CREAR
                     $bita->objeto_id = 1;
                     // Bienmueble
                     $bita->usuario_id = $user->id;
                     $bita->observacion = 'Se crea BM ' . $model->codigo . ' (ID:' . $model->id . ')';
                     if ($bita->save()) {
                     }
                     $this->redirect(array('view', 'id' => $model->id));
                 }
             } else {
                 //print_r($movimiento->getErrors()); exit;
             }
         }
     }
     $dps = Dependencia::model()->findAll(array('condition' => 'sede_id=1', 'order' => 'descripcion ASC'));
     $clases = BmClasificacion::model()->listAll();
     $tipos = BmTipo::model()->findAll(array('order' => 'descripcion'));
     $conceptos = Concepto::model()->findAll(array('condition' => 'id>0 AND id<20 AND id<>2 AND id<>15 AND id<>16 AND id<>17'));
     $this->render('create', array('model' => $model, 'movimiento' => $movimiento, 'dps' => $dps, 'clases' => $clases, 'tipos' => $tipos, 'conceptos' => $conceptos, 'factura' => $factura, 'acceso' => $user->rol_id));
 }
コード例 #3
0
ファイル: Factura.php プロジェクト: JLuisJ7/sysfip
 public function agregarFactura($nroSerie, $nroFact, $idCliente, $idEmpleado, $subTotal, $IGV, $Total)
 {
     $resultado = array('valor' => 1, 'message' => 'Su solicitud ha sido procesada correctamente.');
     $Factura = new Factura();
     $Factura->nroSerie = $nroSerie;
     $Factura->nroFact = $nroFact;
     $Factura->idCliente = $idCliente;
     $Factura->idEmpleado = $idEmpleado;
     $Factura->subTotal = $subTotal;
     $Factura->IGV = $IGV;
     $Factura->Total = $Total;
     if (!$Factura->save()) {
         $resultado = array('valor' => 0, 'message' => 'No hemos podido realizar su solicitud, intentelo nuevamente');
     }
     return $resultado;
 }
コード例 #4
0
 public function siguientePedido()
 {
     $pedidoAnterior = Factura::where('cliente_id', '=', $this->id)->orderBy('pedido', 'desc')->first();
     if ($pedidoAnterior) {
         return $pedidoAnterior->pedido + 1;
     } else {
         return 1;
     }
 }
コード例 #5
0
 public function getGenerateTxt($desde, $hasta)
 {
     $reportes = Reporte::where('fecha', '>=', $desde)->where('fecha', '<=', $hasta)->get();
     $facturas = Factura::all();
     $agente = Agente::find(1);
     $proveedores = Proveedor::all();
     $code = str_random(10);
     $content = \View::make('excel.txt')->with('reportes', $reportes)->with('facturas', $facturas)->with('agente', $agente)->with('proveedores', $proveedores);
     return \Response::make($content, '200')->header('Content-Type', 'plain/txt');
 }
コード例 #6
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $proveedores = Proveedor::find($id);
     if (is_null($proveedores)) {
         return Redirect::route('proveedores.index')->with('global', '<i class="fa fa-exclamation fa-fw x3"></i> Pagina no encontrada');
     }
     $user = DB::table('users')->where('id', '=', $proveedores->id_user)->first();
     $facturas = Factura::where('id_proveedor', '=', $proveedores->id)->orderBy('created_at', 'DESC')->paginate(10);
     $totalFacturas = Factura::where('id_proveedor', '=', $proveedores->id)->count();
     $contador = 0;
     //dd($totalFacturas);
     return View::make('proveedores.show', array('proveedores' => $proveedores, 'user' => $user))->with('facturas', $facturas)->with('totalFacturas', $totalFacturas)->with('contador', $contador);
     //return var_dump($user);
 }
コード例 #7
0
 public function process()
 {
     $factura = new Factura();
     $factura->usuario_id = Auth::user()->id;
     $factura->total = Cart::total();
     foreach (Cart::content() as $item) {
         if (Item::find($item['id'])->stock == 0) {
             Session::flash('error', 'El item ' . $item['name'] . ' se ha agotado');
             return Redirect::back();
         }
         if (Item::find($item['id'])->stock - $item['qty'] < 0) {
             Session::flash('error', 'No hay suficiente stock del item ' . $item['name'] . ' para cubrir su pedido');
             return Redirect::back();
         }
     }
     if ($factura->save()) {
         foreach (Cart::content() as $item) {
             $detalle = new Detalle();
             $detalle->factura_id = $factura->id;
             $detalle->item_id = $item['id'];
             $detalle->cantidad = $item['qty'];
             if ($detalle->save()) {
                 $deduct = Item::find($item['id']);
                 $deduct->stock -= $item['qty'];
                 $deduct->save();
             } else {
                 Session::flash('error', 'Error al procesar');
                 return Redirect::back();
             }
         }
     } else {
         Session::flash('error', 'Error al procesar');
         return Redirect::back();
     }
     Cart::destroy();
     return Redirect::to('shop');
 }
コード例 #8
0
 function insert(Factura $factura)
 {
     $parametros = $factura->getArray();
     return $this->bd->insert($this->tabla, $parametros, true);
 }
コード例 #9
0
ファイル: BaseTipoPago.php プロジェクト: kcornejo/usac
 /**
  * @param	Factura $factura The factura object to add.
  */
 protected function doAddFactura($factura)
 {
     $this->collFacturas[] = $factura;
     $factura->setTipoPago($this);
 }
コード例 #10
0
ファイル: VentasController.php プロジェクト: JLuisJ7/sisfip
 public function actionAjaxActualizarEstadoFactura()
 {
     $nroSerie = $_POST['nroSerie'];
     $nroFact = $_POST['nroFact'];
     $estadoFact = $_POST['estadoFact'];
     $respuesta = Factura::model()->actualizarEstadoFactura($nroSerie, $nroFact, $estadoFact);
     Util::renderJSON(array('success' => TRUE));
 }
コード例 #11
0
ファイル: BaseAdmision.php プロジェクト: jalvarez14/hva
 /**
  * @param	Factura $factura The factura object to add.
  */
 protected function doAddFactura($factura)
 {
     $this->collFacturas[] = $factura;
     $factura->setAdmision($this);
 }
コード例 #12
0
ファイル: ReportesController.php プロジェクト: JLuisJ7/sisfip
 public function actionAjaxObtenerFacturasEntreFechas()
 {
     $inicio = $_POST['inicio'];
     $fin = $_POST['fin'];
     $factura = Factura::model()->ObtenerFacturasEntreFechas($inicio, $fin);
     Util::renderJSON($factura);
 }
コード例 #13
0
 /**
  * Filter the query by a related Factura object
  *
  * @param   Factura|PropelObjectCollection $factura  the related object to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return                 PacientefacturacionQuery The current query, for fluid interface
  * @throws PropelException - if the provided filter is invalid.
  */
 public function filterByFactura($factura, $comparison = null)
 {
     if ($factura instanceof Factura) {
         return $this->addUsingAlias(PacientefacturacionPeer::IDPACIENTEFACTURACION, $factura->getIddatosfacturacion(), $comparison);
     } elseif ($factura instanceof PropelObjectCollection) {
         return $this->useFacturaQuery()->filterByPrimaryKeys($factura->getPrimaryKeys())->endUse();
     } else {
         throw new PropelException('filterByFactura() only accepts arguments of type Factura or PropelCollection');
     }
 }
コード例 #14
0
ファイル: BaseFacturaDetalle.php プロジェクト: kcornejo/usac
 /**
  * Declares an association between this object and a Factura object.
  *
  * @param             Factura $v
  * @return FacturaDetalle The current object (for fluent API support)
  * @throws PropelException
  */
 public function setFactura(Factura $v = null)
 {
     if ($v === null) {
         $this->setFacturaId(NULL);
     } else {
         $this->setFacturaId($v->getId());
     }
     $this->aFactura = $v;
     // Add binding for other direction of this n:n relationship.
     // If this object has already been added to the Factura object, it will not be re-added.
     if ($v !== null) {
         $v->addFacturaDetalle($this);
     }
     return $this;
 }
コード例 #15
0
<?php

require '../clases/AutoCarga.php';
$bd = new DataBase();
$gestor = new ManageFactura($bd);
$factura = new Factura();
$factura->read();
$pkID = Request::post("pkID");
$r = $gestor->set($factura, $pkID);
$bd->close();
//echo $r;
//var_dump($bd->getError());
header("Location:index.php?op=edit&r={$r}");
コード例 #16
0
ファイル: actions.class.php プロジェクト: kcornejo/usac
 public function executeConfirmar(sfWebRequest $request)
 {
     $Factura = FacturaQuery::create()->findOneById($request->getParameter('id'));
     $Detalles = FacturaDetalleQuery::create()->findByFacturaId($request->getParameter('id'));
     if (sizeof($Detalles) == 0) {
         $this->getUser()->setFlash('error', 'No existen productos ingresados en esta factura.');
         $this->redirect('venta/detalle?id=' . $request->getParameter('id'));
     }
     if ($Factura->getActivo()) {
         foreach ($Detalles as $detalle) {
             $fecha = date("d/m/Y");
             $Promocion = PromocionQuery::create()->filterByProductoId($detalle->getProductoId())->where("fecha_inicio <= '{$fecha}' and fecha_fin >= '{$fecha}'")->findOne();
             $descuento = 1;
             if ($Promocion) {
                 $descuento = 1 - $Promocion->getDescuento() / 100;
             }
             $Movimiento = new Movimiento();
             $Movimiento->setTipoMovimiento('-');
             $Movimiento->setClienteId($Factura->getClienteId());
             $Movimiento->setProductoId($detalle->getProductoId());
             $Movimiento->setCantidad($detalle->getCantidad());
             $Movimiento->setProveedorId($detalle->getProveedorId());
             $Movimiento->setPrecio($detalle->getPrecioUnitario() * $descuento);
             $Movimiento->setFecha(date('Y-m-d'));
             $Movimiento->save();
         }
         $BitacoraCambios = new BitacoraCambios();
         $BitacoraCambios->setModelo('Factura');
         $BitacoraCambios->setIp(sfContext::getInstance()->getRequest()->getRemoteAddress());
         $BitacoraCambios->setDescripcion('Creacion de Factura con id: ' . sprintf("%05d", $Factura->getId()));
         $Usuario = UsuarioQuery::create()->findOneById(sfContext::getInstance()->getUser()->getAttribute('usuario', null, 'seguridad'));
         if ($Usuario) {
             $Factura->setCreatedBy($Usuario->getUsuario());
             $BitacoraCambios->setCreatedBy($Usuario->getUsuario());
         }
         $BitacoraCambios->save();
         $Cliente = ClienteQuery::create()->findOneById($Factura->getClienteId());
         if (Factura::obtenerTotal($request->getParameter('id')) >= 200) {
             $Cliente->setPuntos($Cliente->getPuntos() + 10);
             $Cliente->save();
         }
     }
     $Factura->setActivo(false);
     $Factura->save();
     $pdf = new sfTCPDF("P", "mm", "Letter");
     $this->id = $request->getParameter("id");
     $pdf->SetCreator(PDF_CREATOR);
     $pdf->SetAuthor('SALUD_INTEGRAL');
     $pdf->SetTitle('Factura');
     $pdf->SetSubject('Factura');
     $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
     // set margins
     $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
     $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
     $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
     $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
     $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
     $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
     $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
     $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
     $pdf->SetHeaderMargin(0.1);
     $pdf->SetFooterMargin(0.1);
     $pdf->setPrintHeader(false);
     $pdf->setPrintFooter(false);
     $pdf->SetFont('dejavusans', '', 7);
     $pdf->AddPage();
     $html = '';
     $detalles = FacturaDetalleQuery::create()->findByFacturaId($Factura->getId());
     $html = $this->getPartial('venta/soporteTabla', array("factura" => $Factura, "detalles" => $detalles));
     $pdf->writeHTML($html);
     $pdf->Output('Factura.pdf', 'D');
 }
コード例 #17
0
ファイル: facturas.php プロジェクト: NARTONIC/tuchefacasa
    foreach ($platos as $plato) {
        $pdf->Cell(40, 10, $plato->getValueEncoded("nombre"));
        $pdf->Ln();
    }
    $pdf->Cell(40, 10, "Bebidas: ");
    $pdf->Ln();
} else {
    foreach ($platos as $plato) {
        $pdf->Cell(40, 10, $plato->getValueEncoded("nombre"));
        $pdf->Ln();
    }
    $pdf->Cell(40, 10, "Bebidas: ");
    $pdf->Ln();
}
list($bebidas) = Bebida::getByPedido($id_pedido);
foreach ($bebidas as $bebida) {
    $pdf->Cell(40, 10, $bebida->getValueEncoded("nombre"));
    $pdf->Ln();
    $pdf->Cell(40, 10, "Precio: " . $bebida->getValueEncoded("precio"));
    $pdf->Ln();
    $pdf->Cell(40, 10, "Cantidad: " . $_SESSION['cantidad']);
    $pdf->Ln();
}
$pdf->Cell(40, 10, "Total: ");
$pdf->Ln();
$factura = Factura::getById($id_pedido);
$pdf->Cell(40, 10, $factura->getValueEncoded("precio"));
$pdf->Ln();
$pdf->Output("facturas/" . $id_pedido . ".pdf", 'F');
echo "<script language='javascript'>window.open('facturas/" . $id_pedido . ".pdf','_self','');</script>";
//para ver el archivo pdf generado
コード例 #18
0
ファイル: BaseFacturaQuery.php プロジェクト: kcornejo/usac
 /**
  * Exclude object from result
  *
  * @param   Factura $factura Object to remove from the list of results
  *
  * @return FacturaQuery The current query, for fluid interface
  */
 public function prune($factura = null)
 {
     if ($factura) {
         $this->addUsingAlias(FacturaPeer::ID, $factura->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }
コード例 #19
0
require '../clases/AutoCarga.php';
$bd = new DataBase();
$gestorJuego = new ManageGame($bd);
$juego = new Game();
$juego->read();
$pkID = Request::post("pkID");
$stock = Request::post("stock");
$cantidad = Request::post("cantidad");
$stockDisponible = $juego->getStock() - $cantidad;
if ($cantidad > $stock) {
    echo $cantidad . "  " . $stock;
    echo "No hay suficientes unidades";
} else {
    /*GENERAMOS LA FACTURA*/
    $gestorFactura = new ManageFactura($bd);
    $facturas = new Factura();
    $facturas->read();
    $sesion = new Session();
    $id = $sesion->get("id");
    $time = time();
    $fecha = date("Y-m-d H:i:s", $time);
    echo $fecha;
    $facturas->setId_cliente($id);
    $facturas->setFecha($fecha);
    $r = $gestorFactura->insert($facturas);
    echo "El id de la factura es " . $r;
    /*GENERAMOS EL DETALLE*/
    $id_juego = Request::post("id_juego");
    $precio = Request::post("precio");
    $gestorDetalle = new ManageDetalle($bd);
    $detalles = new Detalle();
コード例 #20
0
ファイル: FacturarController.php プロジェクト: jalvarez14/hva
 public function generarAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post_data = $request->getPost();
         $cerpem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.cer.pem');
         $this->emisorArr['cerpem'] = $cerpem;
         $keypem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.key.pem');
         $this->emisorArr['keypem'] = $keypem;
         $receptorArr = \PacientefacturacionQuery::create()->findPk($post_data['idpacientefacturacion'])->toArray(\BasePeer::TYPE_FIELDNAME);
         $idmovimiento = $post_data['idmovimiento'];
         $type = explode('-', $idmovimiento);
         $idmovimiento = $type[1];
         $type = $type[0];
         switch ($type) {
             case 'ADM':
                 $admision = \AdmisionQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME);
                 //Los "items"
                 $admision_detalles_servicios = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByIdadmision($idmovimiento)->find();
                 foreach ($admision_detalles_servicios as $detalle) {
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $servicio_nombre = $detalle->getServicio()->getServicioNombre();
                     $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio();
                     $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva();
                     $item['servicio_nombre'] = $servicio_nombre;
                     $item['servicio_valorunitario'] = $servicio_valorunitario;
                     $item['servicio_unidad'] = 'No aplica';
                     $admision['detalles'][] = $item;
                 }
                 $admision_detalles_articulo = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByIdadmision($idmovimiento)->find();
                 foreach ($admision_detalles_articulo as $detalle) {
                     $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo();
                     $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante();
                     $articulo_nombre = '';
                     $articulo_nombre .= $articulo->getArticuloNombre() . ' ';
                     //Descripcion
                     $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find();
                     $propiedadCount = 0;
                     foreach ($articuloVarianteValorCollection as $kavv => $vavv) {
                         $propiedadCount++;
                         $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre();
                         //Propiedad
                         $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre();
                         //PropiedadValor
                         if ($propiedadCount < $articuloVarianteValorCollection->count()) {
                             $articulo_nombre .= ' - ';
                         }
                     }
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $item['articulo_nombre'] = $articulo_nombre;
                     $item['articulo_unidad'] = 'pieza';
                     $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio();
                     $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva();
                     $admision['detalles'][] = $item;
                 }
                 $generalOrder = $admision;
                 break;
             case 'CON':
                 $consulta = \ConsultaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME);
                 //Los "items"
                 $consulta_detalles_servicios = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByIdconsulta($idmovimiento)->find();
                 foreach ($consulta_detalles_servicios as $detalle) {
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $servicio_nombre = $detalle->getServicio()->getServicioNombre();
                     $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio();
                     $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva();
                     $item['servicio_nombre'] = $servicio_nombre;
                     $item['servicio_valorunitario'] = $servicio_valorunitario;
                     $item['servicio_unidad'] = 'No aplica';
                     $consulta['detalles'][] = $item;
                 }
                 $consulta_detalles_articulo = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByIdconsulta($idmovimiento)->find();
                 foreach ($consulta_detalles_articulo as $detalle) {
                     $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo();
                     $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante();
                     $articulo_nombre = '';
                     $articulo_nombre .= $articulo->getArticuloNombre() . ' ';
                     //Descripcion
                     $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find();
                     $propiedadCount = 0;
                     foreach ($articuloVarianteValorCollection as $kavv => $vavv) {
                         $propiedadCount++;
                         $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre();
                         //Propiedad
                         $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre();
                         //PropiedadValor
                         if ($propiedadCount < $articuloVarianteValorCollection->count()) {
                             $articulo_nombre .= ' - ';
                         }
                     }
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $item['articulo_nombre'] = $articulo_nombre;
                     $item['articulo_unidad'] = 'pieza';
                     $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio();
                     $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva();
                     $consulta['detalles'][] = $item;
                 }
                 $generalOrder = $consulta;
                 break;
             case 'VP':
                 $venta = \VentaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME);
                 //Los "items"
                 $venta_detalles_servicios = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByIdventa($idmovimiento)->find();
                 foreach ($venta_detalles_servicios as $detalle) {
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $servicio_nombre = $detalle->getServicio()->getServicioNombre();
                     $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio();
                     $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva();
                     $item['servicio_nombre'] = $servicio_nombre;
                     $item['servicio_valorunitario'] = $servicio_valorunitario;
                     $item['servicio_unidad'] = 'No aplica';
                     $venta['detalles'][] = $item;
                 }
                 $venta_detalles_articulo = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByIdventa($idmovimiento)->find();
                 foreach ($venta_detalles_articulo as $detalle) {
                     $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo();
                     $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante();
                     $articulo_nombre = '';
                     $articulo_nombre .= $articulo->getArticuloNombre() . ' ';
                     //Descripcion
                     $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find();
                     $propiedadCount = 0;
                     foreach ($articuloVarianteValorCollection as $kavv => $vavv) {
                         $propiedadCount++;
                         $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre();
                         //Propiedad
                         $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre();
                         //PropiedadValor
                         if ($propiedadCount < $articuloVarianteValorCollection->count()) {
                             $articulo_nombre .= ' - ';
                         }
                     }
                     $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME);
                     $item['articulo_nombre'] = $articulo_nombre;
                     $item['articulo_unidad'] = 'pieza';
                     $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio();
                     $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva();
                     $venta['detalles'][] = $item;
                 }
                 $generalOrder = $venta;
                 break;
         }
         // Aqui hacer conexion con el timbrador
         $bridgeFacturas = new \Facturacion\Timbradores\BridgeFacturas('finkok');
         //// A la pasarela  ------------------------------------------------------------
         $res = $bridgeFacturas->timbrar('factura', $type, $generalOrder, $this->emisorArr, $receptorArr);
         //Verificamos que no exista error al timbrar
         if (isset($res['error']) && $res['error'] != '') {
             $details = $res['error'];
             return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => false, 'details' => $details)));
         } else {
             $xmlTimbrado = $res['response'];
             $filePathXML = '/tmp/xml/' . $res['xmlId'] . '.xml';
             $filePathPDF = '/tmp/pdf/' . $res['xmlId'] . '.pdf';
             //Generamos la url del qrcode
             $qr_main = 'http://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=';
             $qr_url .= 're=' . $this->emisorArr['rfc'];
             //Emisor
             $qr_url .= '&rr=' . $receptorArr['pacientefacturacion_rfc'];
             //Receptor
             $qr_url .= '&tt=' . $this->numberTo17Digits($xmlArray["Comprobante"]["total"]);
             $qr_url .= '&id=' . $xmlArray['TimbreFiscalDigital']['UUID'];
             $qr_url = $qr_main . urlencode($qr_url) . '.png';
             //http://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=200x200
             //EL PDF
             $cfdi = $xmlTimbrado['xml'];
             $cadena_original = $xmlTimbrado['cadenaOriginal'];
             $qrcode = $qr_url;
             $pdf = new \Facturacion\PdfGenerator\PdfGenerator($cfdi, $cadena_original, $qrcode);
             $pdf->AliasNbPages();
             $pdf->AddPage();
             $pdf->FancyTable();
             $pdf->QrCode();
             $pdf->Output($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F');
             //Guardamos los datos de la factura
             $factura = new \Factura();
             $factura->setIddatosfacturacion($post_data['idpacientefacturacion']);
             if ($type == 'ADM') {
                 $factura->setIdadmision($idmovimiento);
                 $admision = \AdmisionQuery::create()->findPk($idmovimiento);
                 $admision->setAdmisionFacturada(1);
                 $admision->save();
             } else {
                 if ($type == 'CON') {
                     $factura->setIdconsulta($idmovimiento);
                     $consulta = \ConsultaQuery::create()->findPk($idmovimiento);
                     $consulta->setConsultaFacturada(1);
                     $consulta->save();
                 } else {
                     $factura->setIdventa($idmovimiento);
                     $venta = \VentaQuery::create()->findPk($idmovimiento);
                     $venta->setVentaFacturada(1);
                     $venta->save();
                 }
             }
             $factura->setFacturaUrlXml($filePathXML);
             $factura->setFacturaUrlPdf($filePathPDF);
             $factura->setFacturaFecha($xmlTimbrado['fecha']);
             $factura->setFacturaSellosat($xmlTimbrado['SatSeal']);
             $factura->setFacturaCertificadosat($xmlTimbrado['NoCertificadoSAT']);
             $factura->setFacturaCfdi($xmlTimbrado['uuid']);
             $factura->setFacturaMensaje($xmlTimbrado['codEstatus']);
             $factura->setFacturaTipodepago('unico');
             $factura->setFacturaTipo('ingreso');
             $factura->setFacturaStatus('creada');
             $factura->setFacturaQrcode($qr_url);
             $factura->save();
             $this->flashMessenger()->addMessage('Factura emitida exitosamente!');
             return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true)));
         }
     }
     if ($this->params()->fromRoute('id')) {
         $id = $this->params()->fromRoute('id');
         $type = explode('-', $id);
         $id = $type[1];
         $type = $type[0];
         $factura_info = array();
         switch ($type) {
             case 'ADM':
                 $admision = \AdmisionQuery::create()->findPk($id);
                 $factura_info['fecha'] = $admision->getAdmisionFechaadmision('d-m-Y H:i');
                 $factura_info['id'] = 'ADM-' . $admision->getIdadmision();
                 $factura_info['paciente'] = $admision->getPaciente()->getPacienteNombre() . ' ' . $admision->getPaciente()->getPacienteAp() . ' ' . $admision->getPaciente()->getPacienteAm();
                 $factura_info['idpaciente'] = $admision->getPaciente()->getIdpaciente();
                 $factura_info['medico'] = $admision->getMedico()->getMedicoNombre() . ' ' . $admision->getMedico()->getMedicoApellidopaterno() . ' ' . $admision->getMedico()->getMedicoApellidomaterno();
                 $factura_info['pagada'] = $admision->getAdmisionPagadaen('d-m-Y H:i');
                 $factura_info['tipo_pago'] = $admision->getAdmisionTipodepago();
                 $factura_info['total'] = $admision->getAdmisionTotal();
                 $factura_info['tipo'] = 'admision';
                 $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($admision->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME);
                 break;
             case 'CON':
                 $consulta = \ConsultaQuery::create()->findPk($id);
                 $factura_info['fecha'] = $consulta->getConsultaFecha('d-m-Y');
                 $factura_info['fecha'] .= ' ' . $consulta->getConsultaHora();
                 $factura_info['id'] = 'CON-' . $consulta->getIdconsulta();
                 $factura_info['paciente'] = $consulta->getPaciente()->getPacienteNombre() . ' ' . $consulta->getPaciente()->getPacienteAp() . ' ' . $consulta->getPaciente()->getPacienteAm();
                 $factura_info['idpaciente'] = $consulta->getPaciente()->getIdpaciente();
                 $factura_info['medico'] = $consulta->getMedico()->getMedicoNombre() . ' ' . $consulta->getMedico()->getMedicoApellidopaterno() . ' ' . $consulta->getMedico()->getMedicoApellidomaterno();
                 $factura_info['pagada'] = $consulta->getConsultaFecha('d-m-Y');
                 $factura_info['pagada'] .= ' ' . $consulta->getConsultaHora();
                 $factura_info['tipo_pago'] = $consulta->getConsultaTipodepago();
                 $factura_info['total'] = $consulta->getConsultaTotal();
                 $factura_info['tipo'] = 'consulta';
                 $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($consulta->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME);
                 break;
             case 'VP':
                 $venta = \VentaQuery::create()->findPk($id);
                 $factura_info['fecha'] = $venta->getVentaFecha('d-m-Y H:i');
                 $factura_info['id'] = 'VP-' . $venta->getIdventa();
                 $factura_info['paciente'] = $venta->getPaciente()->getPacienteNombre() . ' ' . $venta->getPaciente()->getPacienteAp() . ' ' . $venta->getPaciente()->getPacienteAm();
                 $factura_info['idpaciente'] = $venta->getPaciente()->getIdpaciente();
                 $factura_info['medico'] = 'N/A';
                 $factura_info['pagada'] = $venta->getVentaFecha('d-m-Y H:i');
                 $factura_info['tipo_pago'] = $venta->getVentaTipodepago();
                 $factura_info['total'] = $venta->getVentaTotal();
                 $factura_info['tipo'] = 'venta al publico';
                 $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente(1)->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME);
                 break;
         }
         return new ViewModel(array('general_info' => $factura_info, 'facturacion_info' => $direcciones));
     }
     $this->getResponse()->setStatusCode(404);
     return;
 }
コード例 #21
0
<?php

require '../clases/AutoCarga.php';
$sesion = new Session();
$id = $sesion->get("id");
$bd = new DataBase();
$gestor = new ManageFactura($bd);
$facturas = new Factura();
$facturas->read();
$facturas->setId_cliente($id);
$r = $gestor->insert($facturas);
$bd->close();
//echo $r;
//var_dump($bd->getError());
header("Location:index.php?op=insert&r={$r}");
コード例 #22
0
 /**
  * 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)
 {
     $model = Factura::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
コード例 #23
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $facturas = Factura::find($id);
     if (is_null($facturas)) {
         App::abort(404);
     }
     $facturas->delete();
     if ($facturas->n_factura == '' && $facturas->n_nota_credito == '') {
         return Redirect::route('reportes.show', array($facturas->id_reporte))->with('delete', 'La nota de débito <b>' . $facturas->n_nota_debito . '</b> ha sido eliminada correctamente.');
     } elseif ($facturas->n_factura == '' && $facturas->n_nota_debito == '') {
         return Redirect::route('reportes.show', array($facturas->id_reporte))->with('delete', 'La nota de crédito <b>' . $facturas->n_nota_credito . '</b> ha sido eliminada correctamente.');
     } else {
         return Redirect::route('reportes.show', array($facturas->id_reporte))->with('delete', 'La factura <b>' . $facturas->n_factura . '</b> ha sido eliminada correctamente.');
     }
 }
コード例 #24
0
ファイル: BaseFacturaPeer.php プロジェクト: jalvarez14/hva
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param Factura $obj A Factura object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool($obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getIdfactura();
         }
         // if key === null
         FacturaPeer::$instances[$key] = $obj;
     }
 }
コード例 #25
0
ファイル: BaseTipoPagoQuery.php プロジェクト: kcornejo/usac
 /**
  * Filter the query by a related Factura object
  *
  * @param   Factura|PropelObjectCollection $factura  the related object to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return   TipoPagoQuery The current query, for fluid interface
  * @throws   PropelException - if the provided filter is invalid.
  */
 public function filterByFactura($factura, $comparison = null)
 {
     if ($factura instanceof Factura) {
         return $this->addUsingAlias(TipoPagoPeer::ID, $factura->getTipoPagoId(), $comparison);
     } elseif ($factura instanceof PropelObjectCollection) {
         return $this->useFacturaQuery()->filterByPrimaryKeys($factura->getPrimaryKeys())->endUse();
     } else {
         throw new PropelException('filterByFactura() only accepts arguments of type Factura or PropelCollection');
     }
 }
コード例 #26
0
function insertar()
{
    $pedido = new Pedidos(array("id_cliente" => $_SESSION['cliente']->getValue('id_cliente'), "fecha" => $_SESSION['fecha'], "hora" => $_SESSION['hora'], "cp" => $_SESSION['cp'], "direccion" => $_SESSION['direccion'], "comensales" => $_SESSION['comensales']));
    $pedido->insert();
    if (!($pedido = Pedidos::getByFecha($_SESSION['fecha']))) {
        echo "Error desconocido, pongase en contacto con el Administrador";
    }
    $Z = count($_SESSION['platos']);
    $plato = $_SESSION['platos'];
    for ($i = 0; $i < $Z; $i++) {
        $pedido_plato = new Pedidos_platos(array("id_plato" => $plato[$i], "id_pedido" => $pedido->getValueEncoded("id_pedido")));
        $pedido_plato->insert();
    }
    $N = count($_SESSION['bebidas']);
    $bebida = $_SESSION['bebidas'];
    for ($i = 0; $i < $N; $i++) {
        $pedido_bebida = new Pedidos_bebidas(array("id_bebida" => $bebida[$i], "id_pedido" => $pedido->getValueEncoded("id_pedido"), "cantidad" => $_SESSION['cantidad']));
        $pedido_bebida->insert();
    }
    $factura = new Factura(array("id_pedido" => $pedido->getValueEncoded("id_pedido"), "precio" => $_SESSION['precio']));
    $factura->insert();
    echo "Insertado correctamente";
    echo "<a href='facturas.php' target='_blank'>Ver Factura</a>";
}
コード例 #27
0
 public static function getInstanceBySQLRow(array $row)
 {
     //idusuario,usuario,password,tr.descripcion,email,nombrecompleto
     $factura = new \Factura();
     $factura->setNroFactura($row["nrofactura"]);
     $factura->setConcepto($row["concepto"]);
     $factura->setImporte($row["importe"]);
     $factura->setCantidad($row["cantidad"]);
     $factura->setDescripcion($row["descripcion"]);
     $factura->setImporte($row["montototal"]);
     $factura->setPalabraClave($row["palabraclave"]);
     $factura->setUrl($row["url"]);
     $factura->setFechaIngreso($row["fechaingreso"]);
     $factura->setFechaBaja($row["fechabaja"]);
     return $usuario;
 }
コード例 #28
0
 /**
  * Filter the query by a related Factura object
  *
  * @param   Factura|PropelObjectCollection $factura The related object(s) to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return   FacturaDetalleQuery The current query, for fluid interface
  * @throws   PropelException - if the provided filter is invalid.
  */
 public function filterByFactura($factura, $comparison = null)
 {
     if ($factura instanceof Factura) {
         return $this->addUsingAlias(FacturaDetallePeer::FACTURA_ID, $factura->getId(), $comparison);
     } elseif ($factura instanceof PropelObjectCollection) {
         if (null === $comparison) {
             $comparison = Criteria::IN;
         }
         return $this->addUsingAlias(FacturaDetallePeer::FACTURA_ID, $factura->toKeyValue('PrimaryKey', 'Id'), $comparison);
     } else {
         throw new PropelException('filterByFactura() only accepts arguments of type Factura or PropelCollection');
     }
 }
コード例 #29
0
ファイル: BaseCliente.php プロジェクト: kcornejo/usac
 /**
  * @param	Factura $factura The factura object to add.
  */
 protected function doAddFactura($factura)
 {
     $this->collFacturas[] = $factura;
     $factura->setCliente($this);
 }
コード例 #30
0
 /**
  * Método para cargar las facturas
  */
 public function facturar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'upd_incidencias', 'int'))) {
         return DwRedirect::toAction('registro');
     }
     $incidencias = new Incidencias();
     $obj = new IncidenciasPatologia();
     //$factura = new Factura();
     $factura_dt = new FacturaDt();
     $this->sol = $obj->getInformacionIncidenciasPatologia($id);
     if (!$incidencias->getInformacionIncidencias($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('registro');
     }
     if (Input::hasPost('factura')) {
         ActiveRecord::beginTrans();
         $factu = Factura::setFactura('create', Input::post('factura'));
         if ($factu) {
             if (FacturaDt::setFacturaDt(Input::post('descripcion'), Input::post('cantidad'), Input::post('monto'), Input::post('exento'), $factu->id)) {
                 $solfactura = IncidenciasFactura::setIncidenciasFactura($factu->id, $id);
                 if ($solfactura) {
                     if (Input::post('multifactura')) {
                         //para saber si va a cargar multiples facturas sobre esa solicitud
                         $solser = $incidencias->getInformacionIncidencias($id);
                         $solser->estado_solicitud = "G";
                         //estado G parcialmente facturada
                         $solser->save();
                         ActiveRecord::commitTrans();
                         DwMessage::valid('Se ha cargado la factura exitosamente!');
                         $key_upd = DwSecurity::getKey($id, 'upd_incidencias');
                         return DwRedirect::toAction('facturar/' . $key_upd);
                         //retorna a la misma visata de facturacion
                     } else {
                         $solser = $incidencias->getInformacionIncidencias($id);
                         $solser->estado_solicitud = "F";
                         $solser->save();
                         ActiveRecord::commitTrans();
                         DwMessage::valid('Se ha cargado la factura exitosamente!');
                         return DwRedirect::toAction('facturacion');
                     }
                 } else {
                     ActiveRecord::rollbackTrans();
                     DwMessage::error('No se pudo enviar a cargar multiples facturas!');
                 }
             } else {
                 ActiveRecord::rollbackTrans();
                 DwMessage::error('Los detalles de la Factura no se han cargado correctamente Intente de nuevo!');
             }
         } else {
             ActiveRecord::rollbackTrans();
             DwMessage::error('La Factura no se ha cargado con exito!');
         }
     }
     $this->incidencias = $incidencias;
     $this->page_title = 'Cargar Facturas a la solicitud';
 }