private function imprimir_ticket($num_tickets = 2) { $fpt = new fs_printer(); $fpt->abrir_cajon(); while ($num_tickets > 0) { $linea = "\nTicket: " . $this->albaran->codigo; $linea .= " " . $this->albaran->fecha; $linea .= " " . $this->albaran->show_hora(FALSE) . "\n"; $fpt->add($linea); $fpt->add("Cliente: " . $this->albaran->nombrecliente . "\n"); $fpt->add("Agente: " . $this->albaran->codagente . "\n\n"); $fpt->add(sprintf("%3s", "Ud.") . " " . sprintf("%-25s", "Articulo") . " " . sprintf("%10s", "TOTAL") . "\n"); $fpt->add(sprintf("%3s", "---") . " " . sprintf("%-25s", "-------------------------") . " " . sprintf("%10s", "----------") . "\n"); foreach ($this->albaran->get_lineas() as $col) { $linea = sprintf("%3s", $col->cantidad) . " " . sprintf("%-25s", $col->referencia) . " " . sprintf("%10s", $this->show_numero($col->total_iva())) . "\n"; $fpt->add($linea); } $linea = "----------------------------------------\n" . $fpt->center_text("IVA: " . $this->show_precio($this->albaran->totaliva, $this->albaran->coddivisa, FALSE) . " " . "Total: " . $this->show_precio($this->albaran->total, $this->albaran->coddivisa, FALSE)) . "\n\n"; if (isset($_POST['efectivo'])) { $linea .= $fpt->center_text("Efectivo..........: " . sprintf("%12s", $this->show_precio($_POST['efectivo'], $this->albaran->coddivisa, FALSE))) . "\n"; } if (isset($_POST['cambio'])) { $linea .= $fpt->center_text("Cambio............: " . sprintf("%12s", $this->show_precio($_POST['cambio'], $this->albaran->coddivisa, FALSE))) . "\n"; } $linea .= "\n\n\n"; $fpt->add($linea); $fpt->add_big($fpt->center_text($this->empresa->nombre, 16) . "\n"); $fpt->add($fpt->center_text($this->empresa->lema) . "\n\n"); $fpt->add($fpt->center_text($this->empresa->direccion . " - " . $this->empresa->ciudad) . "\n"); $fpt->add($fpt->center_text("CIF: " . $this->empresa->cifnif) . chr(27) . chr(105) . "\n\n"); /// corta el papel $fpt->add($fpt->center_text($this->empresa->horario) . "\n"); $fpt->imprimir(); $num_tickets--; } }
private function imprimir_ticket($albaran, $num_tickets = 1, $cajon = TRUE) { $fpt = new fs_printer(); if ($cajon) { $fpt->abrir_cajon(); } while ($num_tickets > 0) { $linea = "\nTicket: " . $albaran->codigo; $linea .= " " . $albaran->fecha; $linea .= " " . $albaran->show_hora(FALSE) . "\n"; $fpt->add($linea); $fpt->add("Cliente: " . $albaran->nombrecliente . "\n"); $fpt->add("Empleado: " . $albaran->codagente . "\n\n"); if ($this->imprimir_observaciones) { $fpt->add('Observaciones: ' . $albaran->observaciones . "\n\n"); } $fpt->add(sprintf("%3s", "Ud.") . " " . sprintf("%-25s", "Articulo") . " " . sprintf("%10s", "TOTAL") . "\n"); $fpt->add(sprintf("%3s", "---") . " " . sprintf("%-25s", "-------------------------") . " " . sprintf("%10s", "----------") . "\n"); foreach ($albaran->get_lineas() as $col) { if ($this->imprimir_descripciones) { $linea = sprintf("%3s", $col->cantidad) . " " . sprintf("%-25s", substr($col->descripcion, 0, 24)) . " " . sprintf("%10s", $this->show_numero($col->total_iva())) . "\n"; } else { $linea = sprintf("%3s", $col->cantidad) . " " . sprintf("%-25s", $col->referencia) . " " . sprintf("%10s", $this->show_numero($col->total_iva())) . "\n"; } $fpt->add($linea); } $linea = "----------------------------------------\n" . $fpt->center_text("IVA: " . $this->show_precio($albaran->totaliva, $albaran->coddivisa, FALSE) . ' ' . "Total: " . $this->show_precio($albaran->total, $albaran->coddivisa, FALSE)) . "\n\n\n\n"; $fpt->add($linea); $fpt->add_big($fpt->center_text($this->empresa->nombre, 16) . "\n"); if ($this->empresa->lema != '') { $fpt->add($fpt->center_text($this->empresa->lema) . "\n\n"); } else { $fpt->add("\n"); } $fpt->add($fpt->center_text($this->empresa->direccion . " - " . $this->empresa->ciudad) . "\n"); $fpt->add($fpt->center_text("CIF: " . $this->empresa->cifnif) . chr(27) . chr(105) . "\n\n"); /// corta el papel if ($this->empresa->horario != '') { $fpt->add($fpt->center_text($this->empresa->horario) . "\n"); } $fpt->imprimir(); $num_tickets--; } }
private function cerrar_caja() { $this->caja->fecha_fin = Date('d-m-Y H:i:s'); if ($this->caja->save()) { $fpt = new fs_printer(); $fpt->add_big("\nCIERRE DE CAJA:\n"); $fpt->add("Empleado: " . $this->user->codagente . " " . $this->agente->get_fullname() . "\n"); $fpt->add("Caja: " . $this->caja->fs_id . "\n"); $fpt->add("Fecha inicial: " . $this->caja->fecha_inicial . "\n"); $fpt->add("Dinero inicial: " . $this->show_precio($this->caja->dinero_inicial, FALSE, FALSE) . "\n"); $fpt->add("Fecha fin: " . $this->caja->show_fecha_fin() . "\n"); $fpt->add("Dinero fin: " . $this->show_precio($this->caja->dinero_fin, FALSE, FALSE) . "\n"); $fpt->add("Diferencia: " . $this->show_precio($this->caja->diferencia(), FALSE, FALSE) . "\n"); $fpt->add("Tickets: " . $this->caja->tickets . "\n\n"); $fpt->add("Dinero pesado:\n\n\n"); $fpt->add("Observaciones:\n\n\n\n"); $fpt->add("Firma:\n\n\n\n\n\n\n"); /// encabezado común para los tickets $fpt->add_big($fpt->center_text($this->empresa->nombre, 16) . "\n"); $fpt->add($fpt->center_text($this->empresa->lema) . "\n\n"); $fpt->add($fpt->center_text($this->empresa->direccion . " - " . $this->empresa->ciudad) . "\n"); $fpt->add($fpt->center_text("CIF: " . $this->empresa->cifnif) . chr(27) . chr(105) . "\n\n"); /// corta el papel $fpt->add($fpt->center_text($this->empresa->horario) . "\n"); $fpt->imprimir(); $fpt->abrir_cajon(); /// recargamos la página header('location: ' . $this->url()); } else { $this->new_error_msg("¡Imposible cerrar la caja!"); } }