public function bukti($a) { $pdfku = new Cezpdf("A5", 'landscape'); //595.28,841.29 $pdfku->addInfo('Title', 'List Barang'); $pdfku->ezSetCmMargins("3", "3", "3", "3"); $barang = $this->barang->detail_peminjaman($a); $pdfku->ezSetY(100); $pdfku->ezSetDy(230); //$pdfku->addJpegFromFile("icon.jpg",20,300,-1); $pdfku->addText(120, $pdfku->y + 30, 18, "Bukti Peminjaman Inventaris Laboratorium"); $pdfku->addText(160, $pdfku->y + 10, 15, "Komputasi Berbasis Jaringan (KBJ)"); $cols_db = array('id_barang' => 'ID Barang', 'nama_barang' => 'Nama Barang'); $option_db = array('showHeadings' => 2, 'shaded' => 0, 'xPos' => 'center', 'xOrientation' => 'center', 'fontSize' => 12, 'cols' => array('id_barang' => array('justification' => 'center', 'width' => '120'), 'nama_barang' => array('justification' => 'center', 'width' => '120'))); $pdfku->ezTable($barang, $cols_db, '', $option_db); $pdfku->addText(100, $pdfku->y - 40, 12, "Mengetahui "); $pdfku->addText(90, $pdfku->y - 60, 12, "Administrator Lab"); $pdfku->addText(400, $pdfku->y - 60, 12, "Kepala Laboratorium"); $pdfku->addText(80, $pdfku->y - 130, 10, "__________________"); $pdfku->addText(400, $pdfku->y - 130, 10, "__________________"); $pdfku->ezStream(); }
$pdf->selectFont('./fonts/Helvetica.afm'); $pdf->openHere("Fit"); // Image #ezImage(image,[padding],[width],[resize],[justification],[array border]); #$pdf->addPngFromFile($pathvars["fileroot"]."/images/net/wappen.png",20,780,70); #$pdf->addPngFromFile($pathvars["fileroot"]."/images/net/auge.png",500,780,70); $pdf->addPngFromFile($pathvars["fileroot"] . "/images/net/kleines-wappen.png", 30, 780, 46); $pdf->addPngFromFile($pathvars["fileroot"] . "/images/net/auge.png", 300, 780, 70); // eine linie $pdf->line(20, 770, 560, 770); $pdf->addText(120, 790, '20', '<b>Vermessungsamt</b>'); $pdf->addText(380, 790, '20', '<i>Friedberg</i>'); // seiten nummern $pdf->ezStartPageNumbers(300, 20, 12, '', '', 1); // hier geht es los $pdf->ezSetDy(-60); // spaltenweise ausgabe an $pdf->ezColumnsStart(array("num" => 2, "gap" => 20)); // wichtig: damit der die ausgabe am spaltenbeginn steht #$pdf->ezSetDy(10); // Textblock #$pdf->ezText($text,10,array( "justification" => "full" )); // "leading"=>20, "spacing"=>1 // Tabellen $data = array(array('num' => 1, 'name' => 'gandalf', 'type' => 'wizard'), array('num' => 2, 'name' => 'bilbo', 'type' => 'hobbit', 'url' => 'http://www.ros.co. nz/pdf/'), array('num' => 3, 'name' => 'frodo', 'type' => 'hobbit'), array('num' => 4, 'name' => 'saruman', 'type' => 'bad dude', 'url' => 'http://sourceforge.net/projects/pdf-php'), array('num' => 5, 'name' => 'sauron', 'type' => 'really bad dude')); for ($i = 0; $i <= 20; $i++) { $pdf->ezTable($data, '', '', array("fontSize" => 9, "width" => 260)); } // umbruch $pdf->ezSetDy(-10); // Textblock #$pdf->ezText($text,10,array( "justification" => "full" )); // "leading"=>20, "spacing"=>1
$ls_cant_mes); } if($lb_valido==false) // Existe algún error ó no hay registros { print("<script language=JavaScript>"); print(" alert('No hay nada que Reportar');"); print(" close();"); print("</script>"); } else // Imprimimos el reporte { error_reporting(E_ALL); set_time_limit(1800); $io_pdf=new Cezpdf('LEGAL','landscape'); // Instancia de la clase PDF $io_pdf->selectFont('../../shared/ezpdf/fonts/Helvetica.afm'); // Seleccionamos el tipo de letra $io_pdf->ezSetDy(0.5); $io_pdf->ezSetCmMargins(7.08,3,3,3); // Configuración de los margenes en centímetros uf_print_encabezado_pagina($ls_titulo,$io_pdf); // Imprimimos el encabezado de la página $io_pdf->ezStartPageNumbers(980,40,10,'','',1); // Insertar el número de página $ld_total_monto_programado=0; $ld_total_monto_programado_acumulado=0; $ld_total_monto_ejecutado=0; $ld_total_monto_ejecutado_acumulado=0; $ld_total_variacion_absoluta=0; $ld_total_porcentaje_variacion=0; $ld_total_variacion_absoluta_acumulada=0; $ld_total_porcentaje_variacion_acumulada=0; $ld_total_reprog_proxima=0; $li_total=$io_report->dts_reporte->getRowCount("sc_cuenta"); for($z=1;$z<=$li_total;$z++) {
function pdfoutput__make_pdf_calendar($displayfrom = 0, $wholeyear = false, $admin = false, $forward = 0, $file = false) { global $settings, $lang; if ($displayfrom == 0) { $displayfrom = time(); } // prepare pdf include_once '../tagsets/class.ezpdf.php'; $pdf = new Cezpdf('a4'); $pdf->selectFont('../tagsets/fonts/Times-Roman.afm'); $fontsize = $settings['calendar_pdf_table_fontsize'] ? $settings['calendar_pdf_table_fontsize'] : 8; $titlefontsize = $settings['calendar_pdf_title_fontsize'] ? $settings['calendar_pdf_title_fontsize'] : 12; //start building calendar $displayfrom_lower = $displayfrom; $displayfrom_upper = date__skip_months($forward, $displayfrom_lower); if ($wholeyear) { $displayfrom_upper = mktime(0, 0, 0, 1, 1, date('Y', $displayfrom) + 1); } $results = calendar__get_events($admin, $displayfrom_lower, $displayfrom_upper, false, true); $month_names = explode(",", $lang['month_names']); //loop through each month for ($itime = $displayfrom_lower; $itime <= $displayfrom_upper; $itime = date__skip_months(1, $itime)) { $year = date("Y", $itime); $month = date("m", $itime); $weeks = days_in_month($month, $year); $table_title = $month_names[$month - 1] . ' ' . $year; $table_headings = array(); $calendar__weekdays = explode(",", $lang['format_datetime_weekday_abbr']); for ($i3 = 1; $i3 <= 7; ++$i3) { if (!isset($lang['format_datetime_firstdayofweek_0:Su_1:Mo']) || !$lang['format_datetime_firstdayofweek_0:Su_1:Mo']) { $wdindex = $i3 - 2; if ($wdindex < 0) { $wdindex = 6; } } else { $wdindex = $i3 - 1; } $table_headings[$i3] = $calendar__weekdays[$wdindex]; } $table_data = array(); for ($i2 = 1; $i2 <= count($weeks); ++$i2) { $las1 = array(); $las2 = array(); for ($i3 = 1; $i3 <= 7; ++$i3) { if (!isset($weeks[$i2][$i3])) { $las1[$i3] = ""; $las2[$i3] = ""; } else { $las1[$i3] = $weeks[$i2][$i3]; $las2[$i3] = ""; //the date is the key of the $results array for easy searching $today = $year * 10000 + $month * 100 + $weeks[$i2][$i3]; if (isset($results[$today])) { foreach ($results[$today] as $item) { $las2[$i3] .= $item['display_time']; $las2[$i3] .= "\n" . "<i>" . $item['location'] . "</i>\n"; if ($admin || $settings['public_calendar_hide_exp_name'] != 'y') { $las2[$i3] .= '<b>' . $item['title'] . '</b>'; } else { $las2[$i3] .= '<b>' . $lang['calendar_experiment_session'] . '</b>'; } $las2[$i3] .= "\n"; if ($admin) { $las2[$i3] .= experiment__list_experimenters($item['experimenters'], false, true) . "\n"; } if ($item['type'] == "experiment_session") { if ($admin) { $las2[$i3] .= $item['participants_registered'] . " (" . $item['participants_needed'] . "," . $item['participants_reserve'] . ")"; } else { $las2[$i3] .= $statusdata[$item['status']]['message']; } } $las2[$i3] .= "\n\n"; } } } } $table_data[] = $las1; $table_data[] = $las2; } $y = $pdf->ezTable($table_data, $table_headings, $table_title, array('gridlines' => 31, 'showHeadings' => 1, 'shaded' => 2, 'shadeCol' => array(1, 1, 1), 'shadeCol2' => array(0.9, 0.9, 1), 'fontSize' => $fontsize, 'titleFontSize' => $titlefontsize, 'rowGap' => 1, 'colGap' => 3, 'innerLineThickness' => 0.5, 'outerLineThickness' => 1, 'maxWidth' => 500, 'width' => 500, 'protectRows' => 2)); $pdf->ezSetDy(-20); } if ($file) { $pdffilecode = $pdf->output(); return $pdffilecode; //$fname ="/apache/orsee/admin/pdfdir/test.pdf"; //$fp = fopen($fname,'w'); //fwrite($fp,$pdffilecode); //fclose($fp); //echo '<A HREF="pdfdir/test.pdf" target="_blank">pdf file</A><BR><BR>'; //$pdfcode = str_replace("\n","\n<br>",htmlspecialchars($pdfcode)); //echo trim($pdfcode); } else { $pdf->ezStream(array('Content-Disposition' => 'calendar.pdf', 'Accept-Ranges' => 0, 'compress' => 1)); } }
function ihr_pdf_einzeln(Cezpdf &$pdf, $p_id) { $this->get_hga_profil_infos($p_id); $this->p_ihr_gk_id; $kk = new kontenrahmen(); $kontenrahmen_id = $kk->get_kontenrahmen('Geldkonto', $this->p_ihr_gk_id); $bb = new buchen(); $kontostand11 = $bb->kontostand_tagesgenau_bis($this->p_ihr_gk_id, "01.01.{$this->p_jahr}"); if (!$kontostand11) { $kontostand11 = $this->get_kontostand_manuell($this->p_ihr_gk_id, $this->p_jahr . "-01-01"); } $kontostand11_a = nummer_punkt2komma_t($kontostand11); $ze = 0; $tab_arr[$ze]['TEXT'] = "I. Anfangsbestand 01.01.{$this->p_jahr}"; $tab_arr[$ze]['SOLL'] = "{$kontostand11_a} € "; $tab_arr[$ze]['IST'] = "{$kontostand11_a} € "; $ze++; $soll_summe_wp = $this->get_soll_betrag_wp(6040, $this->p_wplan_id); $soll_summe_wp_a = nummer_punkt2komma_t($soll_summe_wp); $tab_arr[$ze]['TEXT'] = "II. Soll-Zuführung zur Rücklage laut WP"; $tab_arr[$ze]['SOLL'] = ""; $tab_arr[$ze]['IST'] = "{$soll_summe_wp_a} € "; $ze++; $iii_arr[] = $this->III_tab_anzeigen_pdf($p_id); if (is_array($iii_arr)) { $iii_arr = $iii_arr[0]; for ($a = 0; $a < sizeof($iii_arr); $a++) { $text3 = $iii_arr[$a]['TEXT']; $ist3 = $iii_arr[$a]['IST']; $tab_arr[$ze]['TEXT'] = $text3; $tab_arr[$ze]['IST'] = $ist3; $ze++; } } $soll_endbestand = $kontostand11 + $soll_summe_wp; $soll_endbestand_a = nummer_punkt2komma_t($soll_endbestand); $tab_arr[$ze]['TEXT'] = "IV. Soll-Endbestand 31.12.{$this->p_jahr}"; $tab_arr[$ze]['SOLL'] = ""; $tab_arr[$ze]['IST'] = "{$soll_endbestand_a} € "; $n_jahr = $this->p_jahr + 1; $kontostand11 = $bb->kontostand_tagesgenau_bis($this->p_ihr_gk_id, "01.01.{$n_jahr}"); if (!$kontostand11) { $kontostand11 = $this->get_kontostand_manuell($this->p_ihr_gk_id, $this->p_jahr . "-12-31"); } $kontostand11_a = nummer_punkt2komma_t($kontostand11); $ze++; $tab_arr[$ze]['TEXT'] = "V. Endbestand 31.12.{$this->p_jahr}"; $tab_arr[$ze]['SOLL'] = ""; $tab_arr[$ze]['IST'] = "{$kontostand11_a} € "; $this->footer_zahlungshinweis = $bpdf->zahlungshinweis; $pdf->setColor(0.6, 0.6, 0.6); $pdf->filledRectangle(50, 690, 500, 15); $pdf->setColor(0, 0, 0); $pdf->ezSety(720); // $pdf->ezSetY(650); $datum = date("d.m.Y"); $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $pdf->ezText("{$p->partner_ort}, den {$datum}", 10, array('justification' => 'right')); $pdf->ezSetY(705); $o = new objekt(); $o->get_objekt_infos($this->p_objekt_id); $pdf->ezText(" <b>Entwicklung der Instandhaltungsrücklage {$this->p_jahr} | OBJEKT: {$o->objekt_kurzname}</b>", 10, array('justification' => 'full')); $pdf->ezSetDy(-15); $pdf->ezStopPageNumbers(); // seitennummerirung beenden $p = new partners(); $p->get_partner_info($_SESSION['partner_id']); $cols = array('TEXT' => "", 'IST' => "IST-BETRAG"); $pdf->ezTable($tab_arr, $cols, "", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 7, 'fontSize' => 10, 'xPos' => 'left', 'xOrientation' => 'right', 'width' => 500, 'cols' => array('TEXT' => array('justification' => 'left'), 'SOLL' => array('justification' => 'right', 'width' => 100), 'IST' => array('justification' => 'right', 'width' => 100)))); $this->get_hga_profil_infos($p_id); $d = new detail(); $anteile_g = $d->finde_detail_inhalt('OBJEKT', $this->p_objekt_id, 'Gesamtanteile'); $einheiten_arr = $this->einheiten_weg_tabelle_arr($this->p_objekt_id); $anz_einheiten = count($einheiten_arr); $anz_konten = count($tab_arr); $gkkk = new geldkonto_info(); $gkkk->geld_konto_details($this->p_ihr_gk_id); $datum_heute = date("d.m.Y"); $kontostand_aktuell = nummer_punkt2komma_t($bb->kontostand_tagesgenau_bis($this->p_ihr_gk_id, "{$datum_heute}")); for ($a = 0; $a < $anz_einheiten; $a++) { $pdf->ezNewPage(); $e_kn = $einheiten_arr[$a]['EINHEIT_KURZNAME']; $einheit_id = $einheiten_arr[$a]['EINHEIT_ID']; $einheit_anteile = $d->finde_detail_inhalt('EINHEIT', $einheit_id, 'WEG-Anteile'); $pdf->setColor(0.6, 0.6, 0.6); $pdf->filledRectangle(50, 690, 500, 15); $pdf->setColor(0, 0, 0); $pdf->ezSety(720); $pdf->ezText("{$p->partner_ort}, den {$datum}", 10, array('justification' => 'right')); $pdf->ezSetDy(-2); $pdf->ezText("<b> Anteil in der Instandhaltungsrücklage für {$e_kn} | OBJEKT: {$o->objekt_kurzname} {$this->p_jahr}</b>", 10, array('justification' => 'full')); $pdf->ezSetDy(-10); $pdf->ezText("<b>Geldkontobezeichnung:</b> {$gkkk->geldkonto_bez}", 9); $pdf->ezText("<b>Geldinstitut:</b> {$gkkk->kredit_institut}", 9); $pdf->ezText("<b>IBAN:</b> {$gkkk->IBAN1}", 9); $pdf->ezText("<b>BIC:</b> {$gkkk->BIC}", 9); for ($b = 0; $b < $anz_konten; $b++) { $tab_arr_e[$b]['TEXT'] = $tab_arr[$b]['TEXT']; $tab_arr_e[$b]['IST'] = $tab_arr[$b]['IST']; $tab_arr_e[$b]['ANTEIL'] = nummer_punkt2komma_t(nummer_komma2punkt(str_replace('.', '', $tab_arr[$b]['IST'])) / $anteile_g * $einheit_anteile) . " € "; } $pdf->ezSetDy(-15); $cols = array('TEXT' => "", 'IST' => "IST-BETRAG"); $pdf->ezTable($tab_arr, $cols, "", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 7, 'fontSize' => 10, 'xPos' => 'left', 'xOrientation' => 'right', 'width' => 500, 'cols' => array('TEXT' => array('justification' => 'left'), 'SOLL' => array('justification' => 'right', 'width' => 100), 'IST' => array('justification' => 'right', 'width' => 100)))); $pdf->ezSetDy(-15); $cols = array('TEXT' => "", 'IST' => "IST-BETRAG", 'ANTEIL' => "IHR ANTEIL"); $pdf->ezTable($tab_arr_e, $cols, "", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 7, 'fontSize' => 10, 'xPos' => 'left', 'xOrientation' => 'right', 'width' => 500, 'cols' => array('TEXT' => array('justification' => 'left'), 'ANTEIL' => array('justification' => 'right', 'width' => 100), 'IST' => array('justification' => 'right', 'width' => 100)))); unset($tab_arr_e); /* WEG LAUTERSTR 2014 */ $pdf->ezSetDy(-15); $cols_laut = array('TXT' => "", 'BETRAG' => ""); $tab_laut[0]['TXT'] = "Kontostand des IHR-Geldkontos vom {$datum_heute}"; $tab_laut[0]['BETRAG'] = "{$kontostand_aktuell} € "; $pdf->ezTable($tab_laut, $cols_laut, "Zusatzinformationen", array('rowGap' => 1.5, 'showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'titleFontSize' => 7, 'fontSize' => 10, 'xPos' => 'left', 'xOrientation' => 'right', 'width' => 500, 'cols' => array('TXXT' => array('justification' => 'left'), 'BETRAG' => array('justification' => 'right', 'width' => 100)))); } }
function creaPDF($colname_factura, $tmpName) { global $database_f4, $f4, $interface, $setsProlec, $url_dir; $FWK_PDFFONTS = 'pdf/fonts/'; $FWK_PDFDEFAULTFONT = '/face5/' . $url_dir . '/f4/extensiones/pdf/fonts/Helvetica.afm'; $FWK_PDFCOURIERFONT = 'pdf/fonts/Courier.afm'; // Obtener factura y sus anexos $TIPOSCOMPROBANTEMXP = array(1 => "Factura", 3 => "Nota de Cr.", 2 => "NOTA DE DEBITO"); mysql_select_db($database_f4, $f4); $query_factura = sprintf("SELECT facturas.idfactura, facturas.idempresa, facturas.idsello,\n\tfacturas.serie, facturas.folio, archivo,\n\tdate_format( facturas.timestampemision, '%%d/%%m/%%Y %%T') as timestampemision,\n\tfacturas.noaprob, facturas.rfccliente, facturas.estatus, facturas.sello, facturas.cadena, facturas.factura,\n\tfacturas.idif, facturas.tipocfd, empresa.bu\n\tFROM facturas inner join empresa on (facturas.idempresa=empresa.idempresa)\n\tWHERE facturas.idfactura = %s", $colname_factura); $factura = mysql_query($query_factura, $f4); $row_factura = mysql_fetch_assoc($factura); $totalRows_factura = mysql_num_rows($factura); print_r($row_factura); mysql_select_db($database_f4, $f4); $query_partida = sprintf("SELECT * FROM face_partidas WHERE face_factura_idface_factura = %s ORDER BY numero ASC", $row_factura['idif']); $partidas = mysql_query($query_partida, $f4); $partidasArray = array(); while ($partRow = mysql_fetch_assoc($partidas)) { array_push($partidasArray, $partRow); } $dom = new DOMDocument(); $dom->loadXML(base64_decode($row_factura['factura'])); $NS = "http://www.sat.gob.mx/cfd/2"; $NSP = ""; $xp = new DOMXPath($dom); $nsElems = $dom->getElementsByTagNameNS($NS, 'Comprobante'); if ($nsElems->item(0) != null) { $xp->registerNamespace("C", "http://www.sat.gob.mx/cfd/2"); $NSP = "C:"; } $comprobanteNode = null; $elements = $xp->query("/" . $NSP . "Comprobante"); foreach ($elements as $comprobanteNode) { } $emisorNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Emisor"); foreach ($elements as $emisorNode) { } $emisordomicilioNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Emisor/" . $NSP . "DomicilioFiscal"); foreach ($elements as $emisordomicilioNode) { } $expedidoNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Emisor/" . $NSP . "ExpedidoEn"); foreach ($elements as $expedidoNode) { } $receptorNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Receptor"); foreach ($elements as $receptorNode) { } $receptordomicilioNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Receptor/" . $NSP . "Domicilio"); foreach ($elements as $receptordomicilioNode) { } $conceptoNode = null; $conceptos = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Conceptos/" . $NSP . "Concepto"); $impuestosNode = null; $elements = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Impuestos"); foreach ($elements as $impuestosNode) { } $trasladoNode = null; $traslados = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Impuestos/" . $NSP . "Traslados/" . $NSP . "Traslado"); $retencionNode = null; $retenciones = $xp->query("/" . $NSP . "Comprobante/" . $NSP . "Impuestos/" . $NSP . "Retenciones/" . $NSP . "Retencion"); mysql_select_db($database_f4, $f4); $query_empresa = sprintf("SELECT * FROM empresa WHERE idempresa = %s", $row_factura['idempresa']); $empresa = mysql_query($query_empresa, $f4); $row_empresa = mysql_fetch_assoc($empresa); mysql_select_db($database_f4, $f4); $query_sello = sprintf("SELECT * FROM sellos WHERE idsello = %s", $row_factura['idsello']); $sello = mysql_query($query_sello, $f4); $row_sello = mysql_fetch_assoc($sello); mysql_select_db($database_f4, $f4); $query_sucursal = "SELECT * FROM sucursales WHERE sucursal = '" . $row_sello['sucursal'] . "'"; $sucursal = mysql_query($query_sucursal, $f4); $row_sucursal = mysql_fetch_assoc($sucursal); $totalRows_sucursal = mysql_num_rows($sucursal); //descuentos $desc1 = 0.0; $desc2 = 0.0; //================================================================================================================== // Crea el documento pdf $pdf = new Cezpdf('LETTER', 'portrait'); //'LETTER' (612.00,792.00) $pdf->ezSetMargins(100, 30, 30, 30); //$pdf->selectFont($FWK_PDFDEFAULTFONT); $pdf->setLineStyle(0.7, '', '', '', 0); $pdf->openHere('Fit'); if ($row_factura['tipocfd'] == 3) { $pdf->setStrokeColor(255, 0, 0); } if ($row_factura['tipocfd'] == 2) { $pdf->setStrokeColor(0, 255, 0); } // Inicia numeracin de páginas. $pdf->ezStartPageNumbers(400, 50, 10, 'left', '{PAGENUM} of {TOTALPAGENUM}', 1); $pagina = 1; $primeraPagina = $pdf->currentPage; // i. Agrega el logo de la empresa $logofile = "logos/prueba_logo.jpg"; //TENDRA QUE VENIR DE UN PARAMETRO EN LA BD. $pdf->addJpegFromFile($logofile, 30, 655, 200); // i. Agrega la leyenda "cancelada" if ($row_factura['estatus'] == 0) { $pdf->setColor(0.9, 0.9, 0.9); $pdf->addText(180, 200, 65, "<b>CANCELADA</b>", -45); $pdf->setColor(0, 0, 0); } // ------------------------------------------ENCABEZADO ------------------------------------------ //ENCABEZADO DE LA FACTURA $tipoDocto = $TIPOSCOMPROBANTEMXP[$row_factura['tipocfd']]; $emisor = utf8_decode($emisorNode->getAttribute('rfc')) . "\n"; $emisor .= utf8_decode($emisordomicilioNode->getAttribute('calle') . " " . $emisordomicilioNode->getAttribute('noExterior') . " " . $emisordomicilioNode->getAttribute('noInterior')) . "\n"; $emisor .= utf8_decode($emisordomicilioNode->getAttribute('colonia')); if ($emisordomicilioNode->getAttribute('localidad') != "") { $emisor .= "\n" . utf8_decode($emisordomicilioNode->getAttribute('localidad')); } if ($emisordomicilioNode->getAttribute('municipio') != "") { $emisor .= "\n" . utf8_decode($emisordomicilioNode->getAttribute('municipio')); } if ($emisordomicilioNode->getAttribute('estado') != "") { $emisor .= ", " . utf8_decode($emisordomicilioNode->getAttribute('estado')); } if ($emisordomicilioNode->getAttribute('codigoPostal') != "") { $emisor .= "\nCP " . utf8_decode($emisordomicilioNode->getAttribute('codigoPostal')); } $emisor .= " " . utf8_decode($emisordomicilioNode->getAttribute('pais')); $sucursal = ""; if ($row_sucursal['sucursal'] != "Principal_") { $sucursal = "Sucursal " . utf8_decode($row_sucursal['sucursal']) . "\n"; $sucursal .= utf8_decode($expedidoNode->getAttribute('calle') . " " . $expedidoNode->getAttribute('noExterior') . " " . $expedidoNode->getAttribute('noInterior')) . "\n"; $sucursal .= utf8_decode($expedidoNode->getAttribute('colonia')) . "\n"; $sucursal .= utf8_decode($expedidoNode->getAttribute('municipio')) . ", " . utf8_decode($expedidoNode->getAttribute('estado')) . "\n"; $sucursal .= "CP " . utf8_decode($expedidoNode->getAttribute('codigoPostal')) . " " . utf8_decode($expedidoNode->getAttribute('pais')); } ////////// i. Nombre del emisor $tableData = array(array("dato" => "<b>Obintel S.A. de C.V.</b>")); $colOptions = array("dato" => array('justification' => 'left', 'width' => 200)); $options = array('showLines' => 0, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(1, 1, 1), 'fontSize' => 9, 'textCol' => array(0, 0, 0), 'rowGap' => 0, 'colGap' => 0, 'xPos' => 240, 'xOrientation' => 'right', 'width' => 200, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla nombre del emisor $pdf->ezSetY(714); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Datos del emisor y de la sucursal $tableData = array(array("emisor" => $emisor, "espacio" => "", "sucursal" => $sucursal)); $colOptions = array("emisor" => array('justification' => 'left', 'width' => 205), "espacio" => array('justification' => 'left', 'width' => 10), "sucursal" => array('justification' => 'left', 'width' => 120)); $options = array('showLines' => 0, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(1, 1, 1), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 0, 'colGap' => 0, 'xPos' => 240, 'xOrientation' => 'right', 'width' => 335, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla $pdf->ezSetDy(-6); $pdf->ezTable($tableData, "", "", $options); ////////// i. Datos del documento $foliodocto = rellena("0", 6, $comprobanteNode->getAttribute('folio')); $seriedocto = $comprobanteNode->getAttribute('serie'); if (!empty($seriedocto)) { $foliodocto = $seriedocto . "-" . rellena("0", 6, $comprobanteNode->getAttribute('folio')); } $fechastr = $comprobanteNode->getAttribute('fecha'); $fechatok = explode("T", $fechastr); $toksf = explode("-", $fechatok[0]); $fechastr = $toksf[2] . "-" . $toksf[1] . "-" . $toksf[0] . " " . $fechatok[1]; $ncert = $comprobanteNode->getAttribute('noCertificado'); $aprob = $comprobanteNode->getAttribute('anoAprobacion') . "-" . $comprobanteNode->getAttribute('noAprobacion'); $tableData = array(array("dato" => "<b>" . $tipoDocto . "</b>"), array("dato" => "<b>" . $foliodocto . "</b>"), array("dato" => "Fecha"), array("dato" => $fechastr), array("dato" => "Certificado"), array("dato" => $ncert), array("dato" => "Año y No. Aprobación"), array("dato" => $aprob)); $colOptions = array("dato" => array('justification' => 'left', 'width' => 120)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 2, 'shadeCol' => array(1, 1, 1), 'shadeCol2' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(1, 1, 1), 'rowGap' => 2, 'colGap' => 5, 'xPos' => 455, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla datos del documento //$pdf->ezSetDy(-12); $pdf->ezTable($tableData, "", "", $options); ////////// i. Datos del cliente $tableData = array(array("dato" => "<b>Cliente</b>"), array("dato" => utf8_decode($receptorNode->getAttribute('nombre'))), array("dato" => utf8_decode($receptorNode->getAttribute('rfc'))), array("dato" => utf8_decode($receptordomicilioNode->getAttribute('calle')) . " " . utf8_decode($receptordomicilioNode->getAttribute('noExterior')) . " " . utf8_decode($receptordomicilioNode->getAttribute('noInterior')) . " " . utf8_decode($receptordomicilioNode->getAttribute('colonia'))), array("dato" => utf8_decode($receptordomicilioNode->getAttribute('municipio')) . ", " . utf8_decode($receptordomicilioNode->getAttribute('estado'))), array("dato" => utf8_decode($receptordomicilioNode->getAttribute('estado'))), array("dato" => utf8_decode($receptordomicilioNode->getAttribute('codigoPostal')))); $colOptions = array("dato" => array('justification' => 'left', 'width' => 410)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 2, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 410, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla datos del cliente $pdf->ezSetDy(84); $pdf->ezTable($tableData, "", "", $options); $actualY = $pdf->y; $pdf->setColor(0, 0, 0); $pdf->filledRectangle(30, $actualY - 30, 540, 18); $pdf->ezSetY($actualY - 15); $pdf->setColor(1, 1, 1); $pdf->ezText("<b>Cant</b>", 7, array('left' => 18, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Descripción</b>", 7, array('left' => 55, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Unitario</b>", 7, array('left' => 448, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Importe</b>", 7, array('left' => 513, 'justification' => 'left')); ////////// i. Partidas $tableData = array(); $renglones = 0; $rowData = array("cantidad" => "", "descripcion" => "", "unitario" => "", "importe" => ""); $partidaCnt = 0; foreach ($conceptos as $conceptoNode) { $partidaCnt++; $renglones += 2; $currentObj = array(); $currentObj["cantidad"] = number_format(abs(doubleval($conceptoNode->getAttribute('cantidad'))), 0); $currentObj["descripcion"] = utf8_decode($conceptoNode->getAttribute('descripcion')); $currentObj["unitario"] = number_format($conceptoNode->getAttribute('valorUnitario'), 2); $currentObj["importe"] = number_format(doubleval($conceptoNode->getAttribute('importe')), 2); array_push($tableData, $currentObj); } $currentObj = array(); $currentObj["cantidad"] = ""; $currentObj["descripcion"] = ""; $currentObj["unitario"] = ""; $currentObj["importe"] = ""; if ($renglones < 10) { for ($renglones; $renglones < 10; $renglones++) { array_push($tableData, $currentObj); } } $colNames = array("cantidad" => "<b>Cant</b>", "descripcion" => "<b>Descripción</b>", "unitario" => "<b>Unitario</b>", "importe" => "<b>Precio</b>"); $colOptions = array("cantidad" => array('justification' => 'center', 'width' => 50), "descripcion" => array('justification' => 'left', 'width' => 370), "unitario" => array('justification' => 'right', 'width' => 60), "importe" => array('justification' => 'right', 'width' => 60)); $options = array('showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 4, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 410, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla partidas $pdf->ezSetDy(11); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Cantidad con letra $cadena = covertirNumLetras(number_format($comprobanteNode->getAttribute('total'), 2, ".", '')); $tableData = array(array("dato" => "<b>Total con letra</b>\n" . trim($cadena))); $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 420)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 10, 'colGap' => 10, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla cantidad con letra $pdf->ezSetDy(0); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Totales $f_importe = "\$" . number_format($comprobanteNode->getAttribute('subTotal'), 2); $f_iva_T = $impuestosNode->getAttribute('totalImpuestosTrasladados'); $f_total = "\$" . number_format($comprobanteNode->getAttribute('total'), 2); $tableData = array(); $rowData = array("leyenda" => "", "cantidad" => ""); $subtotal = array("dato" => "Subtotal", "valor" => $f_importe); array_push($tableData, $subtotal); foreach ($traslados as $trasladoNode) { $tasaImpuesto = array(); $tasaImpuesto_t = number_format($trasladoNode->getAttribute('tasa'), 0); $tasaImpuesto["dato"] = $trasladoNode->getAttribute('impuesto') . " " . $tasaImpuesto_t . "%"; $tasaImpuesto["valor"] = "\$" . number_format($trasladoNode->getAttribute('importe'), 2); array_push($tableData, $tasaImpuesto); } foreach ($retenciones as $retencionNode) { $tasaImpuesto = array(); $tasaImpuesto_t = number_format($retencionNode->getAttribute('tasa'), 0); $tasaImpuesto["dato"] = "Ret. " . $retencionNode->getAttribute('impuesto') . " " . $tasaImpuesto_t . "%"; $tasaImpuesto["valor"] = "\$" . number_format($retencionNode->getAttribute('importe'), 2); array_push($tableData, $tasaImpuesto); } $total = array("dato" => "<b>Total</b>", "valor" => "<b>" . $f_total . "</b>"); array_push($tableData, $total); $colNames = array("dato" => "<b>Cant</b>", "valor" => "Precio"); $colOptions = array("dato" => array('justification' => 'right', 'width' => 60), "valor" => array('justification' => 'right', 'width' => 60)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 3, 'colGap' => 5, 'xPos' => 455, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla totales $pdf->ezSetDy(36); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Sello $tableData = array(array("dato" => "<b>Sello Digital</b>\n" . $row_factura['sello'])); $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 400)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.8, 0.8, 0.8), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 10, 'colGap' => 10, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla sello $pdf->ezSetDy(-5); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Cadena original $tableData = array(array("dato" => "<b>Cadena Original</b>\n" . utf8_decode(utf8_decode($row_factura['cadena'])))); $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 400)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.8, 0.8, 0.8), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 10, 'colGap' => 10, 'xPos' => 40, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla cadena original $pdf->ezSetDy(-5); $pdf->ezTable($tableData, $colNames, "", $options); // Leyendas $pdf->ezSetDy(-12); $leyendas = 'EFECTOS FISCALES AL PAGO. PAGO EN UNA SOLA EXHIBICION. ESTE DOCUMENTO ES UNA IMPRESION DE UN COMPROBANTE FISCAL DIGITAL'; $pdf->setColor(0.5, 0.5, 0.5); $pdf->ezText($leyendas, 5, array('left' => 0, 'justification' => 'left')); $pdf->setColor(0, 0, 0); //REGRESA PARA PONER ENCABEZADO EN PAGINAS 2 -> if ($pdf->ezPageCount > 1) { $datos = array(); $datos['logo'] = $logofile; $datos['totalPaginas'] = $pdf->ezPageCount; $datos['tipoDocto'] = $tipoDocto; $datos['foliodocto'] = $foliodocto; $datos['fechastr'] = $fechastr; for ($pn = 2; $pn <= $pdf->ezPageCount; $pn++) { $datos['paginaActual'] = $pn; //a partir de la segunda pagina. $pdf->reopenObject($pdf->ezPages[$pn]); headerDoc($pdf, $datos); } } //ESCRIBE REPORTE AL ARCHIVO. //================================================================================ $pdfcode = $pdf->output(); //save the file if ($tmpName) { $nombrePDF = tempnam("tmp/", 'face5') . ".pdf"; $nombreToks = explode("/", $nombrePDF); if (count($nombreToks) < 2) { $nombreToks = explode("\\", $nombrePDF); } $lastTok = count($nombreToks) - 1; $nombrePDF = $nombreToks[$lastTok]; $archivoPDF = "tmp/" . $nombrePDF; $archivos = array($nombrePDF, $archivoPDF); } else { $nombrePDF = $tipoDocto . "_" . $row_factura['serie'] . $row_factura['folio'] . ".pdf"; $archivoPDF = "tmp/" . $nombrePDF; $archivos = array($nombrePDF, $archivoPDF); } $fp = fopen($archivoPDF, 'w'); fwrite($fp, $pdfcode); fclose($fp); return $archivos; }
// ##überschrift############################## $heute = date("Y-m-d"); $heute_deutsch = $buchung->date_mysql2german($heute); // ##erste seite $pdf = new Cezpdf('a4', 'portrait'); $pdf->ezSetCmMargins(4.3, 0, 1.5, 2.5); $berlus_schrift = 'Times-Roman.afm'; $text_schrift = 'Helvetica.afm'; // links, $pdf->addJpegFromFile('includes/logos/Slogo_78_31.jpg', 190, 730, 200, 80); $pdf->setLineStyle(0.5); // line(x1,y1,x2,y2) /links anfang hoehe weite hoehe $pdf->line(42, 722, 550, 722); $pdf->selectFont($berlus_schrift); $pdf->ezText("BERLUS HAUSVERWALTUNG * Fontanestr. 1 * 14193 Berlin", 7); $pdf->ezSetDy(-20); $pdf->selectFont($berlus_schrift); $pdf->addText(400, 680, 10, 'Telefon (030) 89784477'); $pdf->addText(400, 665, 10, 'Telefax (030) 89784479'); $pdf->addText(400, 650, 10, 'Email: info@berlus.de'); $pdf->addText(400, 635, 10, '<c:uline><b>Sprechzeiten</b></c:uline>'); $pdf->addText(400, 620, 10, 'Dienstag:'); $pdf->addText(455, 620, 10, '9:00-12:00'); $pdf->addText(400, 605, 10, 'Donnerstag:'); $pdf->addText(450, 605, 10, '14:00-17:00'); $pdf->addText(400, 590, 10, '<c:uline><b>Internet</b></c:uline>'); $pdf->addText(400, 575, 10, 'Berlus.de'); $pdf->addText(400, 560, 10, 'Hausverwaltung-Forum.de'); $pdf->addText(400, 545, 10, 'Hausverwaltung-Magazin.de'); // echo "<p class=\"ueberschrift_mietkonto\"><b>Mietkonto Einheit: $einheit_kurzname</b> Anschrift: $einheit_info->haus_strasse $einheit_info->haus_nummer $einheit_info->haus_plz $einheit_info->haus_stadt</p>"; // ####Ausgabe von Personendaten####################
public function ezSetDy($dy, $mod = '') { parent::ezSetDy($dy, $mod); return $this->y; }
function pdf_einzel_tab(Cezpdf &$pdf, $bk_arr, $label, $kontroll_tab_druck) { $empf = $bk_arr['EMPF']; $empf_kos_typ = $bk_arr['KOS_TYP']; $empf_kos_id = $bk_arr['KOS_ID']; $mieternummer = $bk_arr['EINHEIT_NAME']; $zeitraum = $bk_arr['ZEITRAUM']; $zeitraum_arr = explode('.', $zeitraum); $anzahl_monate = $zeitraum_arr[3] - $zeitraum_arr[1] + 1; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['KOS_TYP'] = $empf_kos_typ; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['KOS_ID'] = $empf_kos_id; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['ZEITRAUM'] = $zeitraum; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['ANZ_MONATE'] = $anzahl_monate; $einheit_typ = $bk_arr['EINHEIT_TYP']; $einheit_qm = $bk_arr['EINHEIT_QM']; $QM_G_OBJEKT = nummer_punkt2komma($bk_arr['QM_G_OBJEKT']); $QM_G = nummer_punkt2komma($bk_arr['QM_G']); $QM_G_GEWERBE = nummer_punkt2komma($bk_arr['QM_G_GEWERBE']); $this->bk_profil_infos($_SESSION['profil_id']); $anzahl_zeilen = count($bk_arr) - 10; // WICHTIG 10 felder abschneiden $cols = array('KOSTENART' => "Betriebskostenart", 'G_BETRAG' => "Gesamtkosten umlagefähige Betriebskosten", 'G_HNDL' => "Gesamtkosten haushaltsnahe Dienst- und Handwerkerleistungen", 'G_KEY' => "Wohnfläche / Verteiler- Schlüssel in Mieteinheiten (ME)", 'QM_ME' => "Ihre ME", 'BET_HNDL' => "Anteil für Ihre Wohnung haushaltsnahe Dienst- und Handwerkerleistungen", 'BET_G' => "Beteiligung"); $g_beteiligung = 0.0; $g_beteiligung_hnd = 0.0; for ($b = 0; $b < $anzahl_zeilen; $b++) { $tab[$b]['KOSTENART'] = $bk_arr[$b]['KOSTENART']; $tab[$b]['G_KOS_BEZ'] = $bk_arr[$b]['G_KOS_BEZ']; $tab[$b]['G_BETRAG'] = $bk_arr[$b]['G_BETRAG']; $tab[$b]['ANTEIL'] = $bk_arr[$b]['ANTEIL'] . '%'; $tab[$b]['UMLAGE'] = $bk_arr[$b]['UMLAGE']; $tab[$b]['ME'] = $bk_arr[$b]['ME']; $tab[$b]['G_KEY'] = nummer_punkt2komma($bk_arr[$b]['G_KEY']) . ' ' . $bk_arr[$b]['ME']; $tab[$b]['QM'] = $bk_arr[$b]['QM']; $tab[$b]['QM_ME'] = nummer_punkt2komma($bk_arr[$b]['QM']) . ' ' . $bk_arr[$b]['ME']; $tab[$b]['BET_G'] = $bk_arr[$b]['BET_G']; $tab[$b]['G_HNDL'] = $bk_arr[$b]['G_HNDL']; $tab[$b]['BET_HNDL'] = $bk_arr[$b]['BET_HNDL']; $tab[$b]['GENKEY_ID'] = $bk_arr[$b]['GENKEY_ID']; $g_beteiligung += nummer_komma2punkt($bk_arr[$b]['BET_G']); $g_beteiligung_hndl += nummer_komma2punkt($bk_arr[$b]['BET_HNDL']); } /* Pr�fen ob Kaltwasserkosten worden sind */ $check_kw = $this->check_kw_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); if ($check_kw == true) { $kw_summe = $this->summe_kw_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); $kw_summe_a = nummer_punkt2komma($kw_summe); // $pdf->ezText("<b>Heiz- und Betriebskostenabrechnung Einheit: $mv->einheit_kurzname</b>",10); $tab[$b + 1]['KOSTENART'] = 'Be- und Entwässerung lt. Kaltwasserabr.'; if ($kw_summe < 0) { $kw_erg_a = 'Nachzahlung'; } else { $kw_erg_a = 'Guthaben'; } $tab[$b + 1]['G_KEY'] = 'n. Verbrauch'; $tab[$b + 1]['BET_G'] = $kw_summe_a; $g_beteiligung += $kw_summe; // die($g_beteiligung); } else { // $pdf->ezText("<b>Betriebskostenabrechnung $this->bk_jahr Einheit: $mv->einheit_kurzname</b>",10); } $b++; $tab[$b + 1]['KOSTENART'] = '<b>Gesamtkosten</b>'; $tab[$b + 1]['BET_G'] = '<b>' . nummer_punkt2komma($g_beteiligung) . '</b>'; $tab[$b + 1]['BET_HNDL'] = '<b>' . nummer_punkt2komma($g_beteiligung_hndl) . '</b>'; $summe_nebenkosten_jahr = 0.0; if ($empf_kos_typ == 'MIETVERTRAG') { $mz = new miete(); $summe_nebenkosten_jahr = $mz->summe_nebenkosten_im_jahr($empf_kos_typ, $empf_kos_id, $this->bk_jahr); $summe_hk_jahr = $mz->summe_nebenkosten_im_jahr($empf_kos_typ, $empf_kos_id, $this->bk_jahr); } else { $summe_nebenkosten_jahr = 0.0; $summe_hk_jahr = '0.00'; } $tab[$b + 2]['KOSTENART'] = '<b>Ihr Vorschuss/Jahr</b>'; $tab[$b + 2]['BET_G'] = '<b>' . nummer_punkt2komma($summe_nebenkosten_jahr) . '</b>'; $ergebnis = $g_beteiligung + $summe_nebenkosten_jahr; // $ergebnis = $summe_nebenkosten_jahr- substr($g_beteiligung,1); if ($ergebnis < 0) { $txt = 'Nachzahlung'; $ergebnis_a = substr($ergebnis, 1); } if ($ergebnis > 0) { $txt = 'Guthaben'; $ergebnis_a = $ergebnis; } if ($ergebnis == null) { $txt = 'Ergebnis'; $ergebnis_a = $ergebnis; } $tab[$b + 3]['KOSTENART'] = "<b>{$txt}</b>"; $tab[$b + 3]['BET_G'] = '<b>' . nummer_punkt2komma($ergebnis_a) . '</b>'; $pdf->ezNewPage(); $pdf->ezStopPageNumbers(); // seitennummerirung beenden /* * $this->wirt_ges_qm = $wirt->g_qm; * $this->wirt_g_qm_gewerbe = $wirt->g_qm_gewerbe; * $this->wirt_g_qm_wohnen = $this->wirt_ges_qm - $this->wirt_g_qm_gewerbe; */ // $cols1 = array('KOSTENART'=>"Betriebskostenart","KOSTEN_GESAMT"=>"Kosten gesamt $QM_G_OBJEKT m²",'KOSTEN_GEWERBE'=>"Gewerbeanteil $QM_G_GEWERBE m²",'KOSTEN_WOHNRAUM'=>"Wohnanteil $QM_G m²"); // $cols1 = array('KOSTENART'=>"Betriebskostenart","KOSTEN_GESAMT"=>"Kosten gesamt $this->wirt_ges_qm_a m²",'KOSTEN_GEWERBE'=>"Gewerbeanteil $this->wirt_g_qm_gewerbe_a m²",'KOSTEN_WOHNRAUM'=>"Wohnanteil $this->wirt_g_qm_wohnen_a m²"); $cols1 = array('KOSTENART' => "Betriebskostenart", "KOSTEN_GESAMT" => "Kosten gesamt", 'KOSTEN_GEWERBE' => "Gewerbeanteil {$this->wirt_g_qm_gewerbe_a} m²", 'KOSTEN_WOHNRAUM' => "Wohnanteil {$this->wirt_g_qm_wohnen_a} m²"); // $i=$pdf->ezStartPageNumbers(545,728,6,'','Seite {PAGENUM} von {TOTALPAGENUM}',1); $p = new partners(); $p->get_partner_info($_SESSION[partner_id]); $pdf->addText(480, 697, 8, "{$p->partner_ort}, {$this->bk_berechnungs_datum_d}"); // $zeitraum = "01.09.2011 - 31.12.2011"; $pdf->ezText('<b>Betriebskostenabrechnung für den Zeitraum: ' . $zeitraum . '</b>', 8); $pdf->ezSetDy(-15); $pdf->ezText("<b>{$this->bk_bezeichnung}</b>", 8); $pdf->ezText("Wirtschaftseinheit: {$this->bk_kos_bez} ", 8); $pdf->ezText('Mieternummer: ' . $mieternummer . " - {$einheit_typ}", 8); $pdf->ezText('Mieter: ' . $empf, 8); $pdf->ezSetDy(-20); /* Ergebnis in die �bersichtstabelle */ $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['ERGEBNIS'] = $ergebnis; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['SUMME_NK'] = $summe_nebenkosten_jahr; $pdf->ezTable($kontroll_tab_druck, $cols1, "Aufteilung Gewerbe- / Wohnfläche", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 7, 'fontSize' => 7, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KOSTENART' => array('justification' => 'left'), 'KOSTEN_GESAMT' => array('justification' => 'right'), 'KOSTEN_GEWERBE' => array('justification' => 'right'), 'KOSTEN_WOHNRAUM' => array('justification' => 'right')))); $pdf->ezSetDy(-20); $pdf->ezTable($tab, $cols, "{$label}", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 8, 'fontSize' => 7, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KOSTENART' => array('justification' => 'left'), 'G_BETRAG' => array('justification' => 'right', 'width' => 60), 'G_HNDL' => array('justification' => 'right', 'width' => 60), 'ANTEIL' => array('justification' => 'right', 'width' => 40), 'UMLAGE' => array('justification' => 'right', 'width' => 45), 'G_KOS_BEZ' => array('justification' => 'right', 'width' => 45), 'G_KEY' => array('justification' => 'right', 'width' => 55), 'QM_ME' => array('justification' => 'right', 'width' => 50), 'BET_G' => array('justification' => 'right', 'width' => 45), 'BET_HNDL' => array('justification' => 'right', 'width' => 65)))); // $pdf->ezStopPageNumbers(1,1,$i); // ENDE BERECHNUNGSSEITEN if ($empf_kos_typ == 'MIETVERTRAG') { $mz = new miete(); $mk = new mietkonto(); $monat = date("m"); $jahr = date("Y"); $ber_datum_arr = explode('-', $this->bk_berechnungs_datum); $ver_datum_arr = explode('-', $this->bk_verrechnungs_datum); $monat_b = $ber_datum_arr[1]; $jahr_b = $ber_datum_arr[0]; $monat_v = $ver_datum_arr[1]; $jahr_v = $ver_datum_arr[0]; $mk->kaltmiete_monatlich_ink_vz($empf_kos_id, $monat_b, $jahr_b); $mk->ausgangs_kaltmiete_a = nummer_punkt2komma($mk->ausgangs_kaltmiete); // $mk->heizkosten_monatlich($empf_kos_id,$monat,$jahr); // $mk->betriebskosten_monatlich($empf_kos_id,$monat,$jahr); // $mk->nebenkosten_monatlich($empf_kos_id,$monat,$jahr); $anp_tab[0]['KOSTENKAT'] = 'Miete kalt'; $anp_tab[0]['AKTUELL'] = "{$mk->ausgangs_kaltmiete_a} €"; $anp_tab[0]['ANPASSUNG'] = '--'; $mk1 = new mietkonto(); $mk1->kaltmiete_monatlich_ink_vz($empf_kos_id, $monat_v, $jahr_v); $mk1->ausgangs_kaltmiete_a = nummer_punkt2komma($mk1->ausgangs_kaltmiete); $anp_tab[0]['NEU'] = "{$mk1->ausgangs_kaltmiete_a} €"; $this->get_anpassung_details($_SESSION['profil_id'], 'Nebenkosten Vorauszahlung'); $anp_datum = date_mysql2german($this->bk_an_anpassung_ab); $mv = new mietvertraege(); $mv->get_mietvertrag_infos_aktuell($empf_kos_id); /* * if($empf_kos_id == '580'){ * echo '<pre>'; * print_r($mv); * die(); * } */ $pdf->addText(480, 697, 8, "{$p->partner_ort}, {$this->bk_berechnungs_datum_d}"); /* Wenn MV aktuell anpassen, wenn ausgezogen nicht */ // if($mv->mietvertrag_aktuell && $summe_nebenkosten_jahr){ if ($empf_kos_typ != 'Leerstand') { // ##########NEU ENERGIEVERBRAUCH GEGEN VORSCHÜSSE################### /* prüfen ob HK Vorschüsse vorhanden */ $mz2 = new miete(); $met = new mietentwicklung(); // $summe_nebenkosten_jahr = $mz->summe_nebenkosten_im_jahr($empf_kos_typ,$empf_kos_id,$this->bk_jahr); $summe_hk_vorschuss = $mz2->summe_heizkosten_im_jahr($empf_kos_typ, $empf_kos_id, $this->bk_jahr); $energiekosten_jahr = $met->get_energieverbrauch(strtoupper($empf_kos_typ), $empf_kos_id, $this->bk_jahr); if ($energiekosten_jahr > 0) { $pdf->ezNewPage(); $pdf->addText(480, 697, 8, "{$p->partner_ort}, {$this->bk_berechnungs_datum_d}"); $pdf->ezText('<b>Energiekostenabrechnung für den Zeitraum: ' . $zeitraum . '</b>', 8); $pdf->ezSetDy(-15); $pdf->ezText("<b>{$this->bk_bezeichnung}</b>", 8); $pdf->ezText("Wirtschaftseinheit: {$this->bk_kos_bez} ", 8); $pdf->ezText('Mieternummer: ' . $mieternummer . " - {$einheit_typ}", 8); $pdf->ezText('Mieter: ' . $empf, 8); $pdf->ezSetDy(-20); $pdf->ezText("{$mv->mv_anrede}", 9); $pdf->ezText("die Abrechnung der Energiekosten für den o.g. Zeitraum stellt sich wie folgt da:", 9); $hk_verbrauch_tab[0]['KOSTENKAT'] = "Ihre Vorauszahlung im Jahr {$this->bk_jahr}"; $hk_verbrauch_tab[0]['BETRAG'] = nummer_punkt2komma_t($summe_hk_vorschuss); /* Heizkostenverbrauch abfragen */ // $energiekosten_jahr = $met->get_energieverbrauch(strtoupper($empf_kos_typ), $empf_kos_id, $this->bk_jahr); $hk_verbrauch_tab[1]['KOSTENKAT'] = "Angefallene Kosten lt. Abrechnung in {$this->bk_jahr}"; $hk_verbrauch_tab[1]['BETRAG'] = nummer_punkt2komma_t($energiekosten_jahr); /* Ergebnis ermittlen */ $ergebnis_energie = $summe_hk_vorschuss - $energiekosten_jahr; if ($ergebnis_energie < 0) { $energie_text = "Ihre Nachzahlung"; } if ($ergebnis_energie > 0) { $energie_text = "Ihr Guthaben"; } if ($ergebnis_energie == 0) { $energie_text = "Saldo"; } $hk_verbrauch_tab[2]['KOSTENKAT'] = "<b>{$energie_text} {$this->bk_jahr}</b>"; $hk_verbrauch_tab[2]['BETRAG'] = "<b>" . nummer_punkt2komma_t($ergebnis_energie) . "</b>"; $pdf->ezSetDy(-20); $cols = array('KOSTENKAT' => "Bezeichnung", "BETRAG" => "Betrag"); $pdf->ezTable($hk_verbrauch_tab, $cols, "", array('showHeadings' => 0, 'shaded' => 1, 'titleFontSize' => 7, 'fontSize' => 8, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('BETRAG' => array('justification' => 'right', 'width' => 80), 'KOSTENKAT' => array('justification' => 'left')))); $pdf->ezSetDy(-20); $pdf->ezText("Die Energieabrechnung des Abrechnungsunternehmens legen wir dieser Abrechnung bei.", 9); $pdf->ezSetDy(-10); $pdf->ezText("Mit freundlichen Grüßen", 9); $pdf->ezSetDy(-30); $pdf->ezText("Ihre Hausverwaltung", 9); $hk_verbrauch_tab[3]['KOSTENKAT'] = "{$mieternummer} - {$empf} - {$zeitraum}"; $pdf->energie_abr[]["{$mieternummer} - {$empf} - {$zeitraum}"] = $hk_verbrauch_tab; } // #ende wenn energieabrecnung drin } // #ende wenn nicht leerstand // ######################################################################## if ($mv->mietvertrag_aktuell) { /* ANPASSUNGSBLATT */ $pdf->ezNewPage(); $pdf->addText(480, 697, 8, "{$p->partner_ort}, {$this->bk_berechnungs_datum_d}"); $pap = $mv->postanschrift[0]['anschrift']; if (!empty($pap)) { $pdf->ezText("{$pap}", 10); $pap = ''; } else { $pdf->ezText("{$mv->personen_name_string_u}\n{$mv->haus_strasse} {$mv->haus_nr}\n\n{$mv->haus_plz} {$mv->haus_stadt}", 10); } $pdf->ezSetDy(-60); $check_hk = $this->check_hk_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); // $check_bk = $this->check_bk_abrechnung($empf_kos_typ,$empf_kos_id,$this->bk_jahr); $bk_summe = $ergebnis; /* Summe aus der Abrechnung */ $hk_summe = $this->summe_hk_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); // $bk_summe = $this->summe_bk_abrechnung($empf_kos_typ,$empf_kos_id,$this->bk_jahr); /* NEU */ /* Anpassung Nachzahlung Heizkosten */ /* Wenn Nachzahlung, dann mindestens 50/12+1EUR=5.00 EUR */ if ($hk_summe < 0) { // echo $hk_summe; $hk_monatlich_letzte_vj = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $this->bk_jahr, 'Heizkosten Vorauszahlung'); $hk_monatlich_letzte = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $jahr, 'Heizkosten Vorauszahlung'); $hk_jahr_aktuell = $hk_monatlich_letzte * 12; $hk_diff = $hk_jahr_aktuell - ($hk_summe * -1 + $anzahl_monate * $hk_monatlich_letzte_vj); $hk_anp_betrag_neu = ($hk_summe - 25) / 12; $hk_anp_betrag_neu = intval($hk_anp_betrag_neu - 1); $hk_anp_betrag_neu = substr($hk_anp_betrag_neu, 1); // echo "$hk_summe $hk_vorschuss_neu $hk_anp_betrag_neu"; if ($hk_diff >= 0) { $hk_anp_betrag_neu = '0.00'; } else { $hk_anp_betrag_neu = $hk_diff / 12 * -1; } /* * if($mv->mietvertrag_id=='1573'){ * echo "<br><b>HKSUMME: $hk_summe HKV: $hk_vorschuss_neu ANP:$hk_anp_betrag_neu HKJAHR: $hk_jahr_aktuell|$hk_monatlich_letzte $hk_monatlich_letzte_vj $hk_diff</b>"; * echo "$hk_diff = $hk_jahr_aktuell - (($hk_summe*-1) + ($anzahl_monate*$hk_monatlich_letzte_vj));"; * die(); * } */ } else { /* Guthaben bei HK */ $hk_anp_betrag_neu = ($hk_summe - 50) / 12; $hk_anp_betrag_neu = intval($hk_anp_betrag_neu); if ($hk_anp_betrag_neu < 0) { $hk_anp_betrag_neu = 0.0; } /* Unter 5 Euro nicht anpassen */ if ($hk_anp_betrag_neu > 0.0 && $hk_anp_betrag_neu < 5.0) { $hk_anp_betrag_neu = 0.0; } if ($hk_anp_betrag_neu > 5) { $hk_anp_betrag_neu = -$hk_anp_betrag_neu - 1; } if ($hk_summe == 0 or $summe_hk_jahr == 0) { $hk_anp_betrag_neu = '0.00'; } } // END HK ANPASSUNG /* NEU BK */ /* Anpassung Nachzahlung BK */ /* Summe aus der Abrechnung */ // $bk_summe = $this->summe_bk_abrechnung($empf_kos_typ,$empf_kos_id,$this->bk_jahr); // echo $bk_summe if ($bk_summe < 0) { // echo $hk_summe; $bk_anp_betrag_neu = ($bk_summe - 24) / 12; $bk_anp_betrag_neu = intval($bk_anp_betrag_neu - 1); $bk_anp_betrag_neu = substr($bk_anp_betrag_neu, 1); // echo "$bk_anp_betrag_neu"; // die(); } else { /* Guthaben bei BK */ if ($bk_summe > 24) { $bk_anp_betrag_neu = ($bk_summe - 24) / 12; } else { $bk_anp_betrag_neu = $bk_summe / 12; } $bk_anp_betrag_neu = intval($bk_anp_betrag_neu); if ($bk_anp_betrag_neu < 0) { $bk_anp_betrag_neu = 0.0; } /* Unter 5 Euro nicht anpassen */ if ($bk_anp_betrag_neu > 0.0 && $bk_anp_betrag_neu < 5.0) { $bk_anp_betrag_neu = 0.0; } if ($bk_anp_betrag_neu > 5) { // echo "SANEL $bk_anp_betrag_neu"; $bk_anp_betrag_neu = $bk_anp_betrag_neu - 1; // die("SANEL $bk_anp_betrag_neu"); } } // ENDE BK ANPASSUNGSERMITTLUNG if ($bk_summe == 0 or $summe_nebenkosten_jahr == 0) { $bk_anp_betrag_neu = '0.00'; } if ($mv->mietvertrag_id == '1813') { // ob_clean(); // echo "$bk_summe $ergebnis ANP: $bk_anp_betrag_neu "; // die('SANEL'); } $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['HK_SUMME'] = nummer_punkt2komma($hk_summe); /* Summe aller Vorauszahlungen im Jahr der Abrechnung */ $summe_hk_jahr = $mz->summe_heizkosten_im_jahr($empf_kos_typ, $empf_kos_id, $this->bk_jahr); $this->get_anpassung_details($_SESSION['profil_id'], 'Heizkosten Vorauszahlung'); $hk_monatlich_bisher_schnitt = $summe_hk_jahr / $anzahl_monate; $hk_monatlich_letzte = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $jahr, 'Heizkosten Vorauszahlung'); // $hk_monatlich_letzte = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $this->bk_jahr, 'Heizkosten Vorauszahlung'); // $x = $hk_monatlich_letzte + $hk_anp_betrag_neu; // die("$x = $hk_monatlich_letzte + $hk_anp_betrag_neu"); // if($empf_kos_id==1){ // die("Schnitt: $hk_monatlich_bisher_schnitt Letzte:$hk_monatlich_letzte HK-Abrechnung: $hk_summe Voraus:$summe_hk_jahr"); // } /* bis hier alles ok */ $hk_monatlich_genau = (-$summe_hk_jahr + $hk_summe) / $anzahl_monate; if ($hk_monatlich_genau < 0) { $hk_monatlich_genau = substr($hk_monatlich_genau, 1); } echo "{$hk_monatlich_genau} = (-{$summe_hk_jahr} + {$hk_summe})/{$anzahl_monate};"; $vorauszahlung_n_jahr = $hk_monatlich_letzte * $anzahl_monate; $festgesetzt_n_jahr = $vorauszahlung_n_jahr - $hk_summe; $hk_vorschuss_neu = $festgesetzt_n_jahr / $anzahl_monate; // $hk_monatlich_letzte = 84.99; $x = $hk_monatlich_letzte + $hk_anp_betrag_neu; // intval($hk_anp_betrag_neu-1) // $hk_anp_betrag_neu = $x- $hk_monatlich_letzte; echo "HK {$hk_summe} {$hk_monatlich_letzte} {$hk_anp_betrag_neu} {$x} {$hk_vorschuss_neu}<br>"; echo "HK ANP: {$hk_anp_betrag_neu}<br><hr>"; // die(); // if($hk_anp_betrag_neu<0){ // $hk_anp_betrag_neu_pos = substr($hk_anp_betrag_neu,1);//positiv // } // echo "$hk_vorschuss_neu $hk_vorschuss_neu_pos"; // die(); // $hk_vorschuss_neu = $hk_monatlich_letzte + $hk_anp_betrag_neu; $hk_vorschuss_neu = $x; // echo "$hk_vorschuss_neu = $hk_monatlich_letzte + $hk_anp_betrag_neu_pos"; // die(); // $hk_anp_betrag = $hk_monatlich_genau - $hk_monatlich_bisher; // $hk_anp_betrag = $hk_monatlich_bisher_schnitt - $hk_monatlich_genau; // $hk_vorschuss_neu = $hk_monatlich_bisher + $hk_anp_betrag; // $hk_vorschuss_neu = $hk_monatlich_letzte + $hk_anp_betrag; $hk_monatlich_bisher_schnitt_a = nummer_punkt2komma($hk_monatlich_bisher_schnitt); $hk_monatlich_bisher_a = nummer_punkt2komma($hk_monatlich_letzte); // if($mv->mietvertrag_id=='1365'){ // die('SANEL'); // } $this->get_genkey_infos($this->bk_an_keyid); if ($this->bk_an_keyid == '1') { $hk_vorschuss_neu = $hk_vorschuss_neu + $this->bk_an_fest_betrag * $einheit_qm; } if ($this->bk_an_keyid == '2') { $hk_vorschuss_neu = $hk_vorschuss_neu + $this->bk_an_fest_betrag; } // $hk_anp_betrag = $hk_vorschuss_neu - $hk_monatlich_bisher; /* Anpassung auf Vollzahlen */ // $hk_vorschuss_neu = intval(substr($hk_vorschuss_neu,0,-2)); // $hk_anp_betrag = $hk_vorschuss_neu - $hk_monatlich_letzte; // die("$hk_anp_betrag = $hk_anp_betrag_neu **** $hk_vorschuss_neu - $hk_monatlich_letzte"); // if($hk_anp_betrag_neu!=0){ // if(($hk_anp_betrag < 5.00) && ($hk_anp_betrag < -5.00)){ // die("if(($hk_anp_betrag_neu > 0 && $hk_anp_betrag < 5.00) && ($hk_anp_betrag_neu < 0 && $hk_anp_betrag < -5.00)){"); // $hk_anp_betrag = 0.00; // $hk_vorschuss_neu =$hk_monatlich_letzte; // die('OK'); // die("$hk_anp_betrag < 5.00) && ($hk_anp_betrag < -5.00)"); // } // } $hk_anp_betrag_a = nummer_punkt2komma($hk_anp_betrag_neu); $hk_vorschuss_neu_a = nummer_punkt2komma($hk_vorschuss_neu); if ($check_hk == true) { $anp_tab[2]['KOSTENKAT'] = 'Heizkosten Vorauszahlung'; $anp_tab[2]['AKTUELL'] = "{$hk_monatlich_bisher_a} €"; $anp_tab[2]['ANPASSUNG'] = "{$hk_anp_betrag_a} €"; $anp_tab[2]['NEU'] = "{$hk_vorschuss_neu_a} €"; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['HK_VORSCHUSS_ALT'] = $hk_monatlich_bisher_a; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['HK_VORSCHUSS_NEU'] = $hk_vorschuss_neu_a; if ($hk_summe > $hk_monatlich_bisher_schnitt * $anzahl_monate) { die("{$mieternummer} {$empf} - Summe Hk Abrechnung > eingezahlte Summe für HK im Jahr"); } } if ($check_hk == true) { $pdf->ezText("<b>Anpassung der monatlichen Heiz- und Betriebskostenvorauszahlungen ab {$this->bk_verrechnungs_datum_d}</b>", 10); } else { $pdf->ezText("<b>Anpassung der monatlichen Betriebskostenvorauszahlungen ab {$this->bk_verrechnungs_datum_d}</b>", 10); } // $pdf->ezText("Objekt: $mv->haus_strasse $mv->haus_nr, $mv->haus_plz $mv->haus_stadt",12); $pdf->ezText("<b>{$this->bk_bezeichnung}</b>", 10); $pdf->ezText("Wirtschaftseinheit: {$this->bk_kos_bez} Einheit: {$mv->einheit_kurzname}", 10); // $pdf->ezText("Einheit: $mv->einheit_kurzname",12); $pdf->ezSetDy(-10); /* Faltlinie */ $pdf->setLineStyle(0.2); $pdf->line(5, 542, 20, 542); $pdf->ezText("{$anrede}", 10); $pdf->ezText("{$mv->mv_anrede}", 10); // $text_nachzahlung = "aufgrund der Nachzahlungsbetr�ge aus der letzten Betriebskostenabrechnung und der uns bisher bekannten Erhöhungen der Kosten für die Müllentsorgung durch die BSR, die Be- und Entwässerungskosten durch die Berliner Wasserbetriebe und die Erhöhung der Kosten für die Hausreinigung ändern wir die monatlichen Betriebskostenvorauszahlungen auf der Grundlage des § 560 BGB wie nachfolgend aufgeführt ab dem $this->bk_verrechnungs_datum_d."; $text_nachzahlung = "aufgrund der vorliegenden Nebenkostenabrechnung und zu erwartender Kostensteigerungen, erfolgt hiermit eine Änderung der monatlichen Betriebskostenvorauszahlungen auf der Grundlage des § 560 BGB, wie nachfolgend aufgeführt ab dem {$this->bk_verrechnungs_datum_d}."; $text_guthaben_berlin = "aufgrund der uns bisher bekannten Erhöhungen der Kosten für die Müllentsorgung durch die BSR, die Be- und Entwässerungskosten durch die Berliner Wasserbetriebe und die Erhöhung der Kosten für die Hausreinigung, erfolgt hiermit eine Änderung der monatlichen Betriebskostenvorauszahlungen auf der Grundlage des § 560 BGB wie nachfolgend aufgeführt ab dem {$this->bk_verrechnungs_datum_d}."; $text_guthaben = "aufgrund der vorliegenden Nebenkostenabrechnung und zu erwartender Kostensteigerungen, erfolgt hiermit eine Änderung der monatlichen Betriebskostenvorauszahlungen auf der Grundlage des § 560 BGB, wie nachfolgend aufgeführt ab dem {$this->bk_verrechnungs_datum_d}."; if ($txt == 'Nachzahlung') { $pdf->ezText("{$text_nachzahlung}", 10, array('justification' => 'full')); } $alttext = 'aufgrund der Nachzahlungsbeträge aus der letzten Betriebskostenabrechnung ändern wir die monatlichen Betriebskostenvorauszahlungen auf der Grundlage des § 560 Abs. 4 und 5 BGB wie nachfolgend aufgeführt ab dem $this->bk_verrechnungs_datum_d.'; if ($txt == 'Guthaben') { $pdf->ezText("{$text_guthaben}", 10, array('justification' => 'full')); } $pdf->ezSetDy(-15); /* BK NK ANPASSUNG */ $this->get_anpassung_details($_SESSION['profil_id'], 'Nebenkosten Vorauszahlung'); // $vorschuesse_aktuell =$summe_nebenkosten_jahr; $men = new mietentwicklung(); // $vorschuesse_aktuell = $men->nebenkosten_monatlich($empf_kos_id,date("m"),date("Y")); // $vorschuesse_aktuell = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $this->bk_jahr, 'Nebenkosten Vorauszahlung'); $jahr_vorschuss = date("Y"); // OKOKOK2015$vorschuesse_aktuell = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $jahr_vorschuss, 'Nebenkosten Vorauszahlung'); // $vorschuesse_aktuell = $mz->letzte_vorauszahlung_summe($empf_kos_typ, $empf_kos_id, $jahr_vorschuss, 'Nebenkosten Vorauszahlung'); $vorschuesse_aktuell = $mz->letzte_hk_vorauszahlung($empf_kos_typ, $empf_kos_id, $jahr_vorschuss, 'Nebenkosten Vorauszahlung'); /* * if($empf_kos_id=='1585'){ * ob_clean(); * die($vorschuesse_aktuell); * } */ $vorschuesse_neu = $g_beteiligung / $anzahl_monate; $vorschuesse_aktuell_a = nummer_punkt2komma($vorschuesse_aktuell); if ($vorschuesse_neu < 0) { $vorschuesse_neu = substr($vorschuesse_neu, 1); } $this->get_genkey_infos($this->bk_an_keyid); if ($this->bk_an_keyid == '1') { $vorschuesse_neu = $vorschuesse_neu + $this->bk_an_fest_betrag * $einheit_qm; } if ($this->bk_an_keyid == '2') { $vorschuesse_neu = $vorschuesse_neu + $this->bk_an_fest_betrag; } $vorschuesse_neu_a = nummer_punkt2komma($vorschuesse_neu); $anp_betrag = $vorschuesse_neu - $vorschuesse_aktuell; $anp_betrag_a = nummer_punkt2komma($anp_betrag); if ($ergebnis > 0) { $xbk = intval($vorschuesse_aktuell - $bk_anp_betrag_neu); // intval($hk_anp_betrag_neu-1) } else { $xbk = intval($vorschuesse_aktuell + $bk_anp_betrag_neu); // intval($hk_anp_betrag_neu-1) } $bk_anp_betrag_neu = $xbk - $vorschuesse_aktuell; echo "BK: {$vorschuesse_aktuell} {$bk_anp_betrag_neu} {$xbk}<br>"; echo "BK_ANP {$bk_anp_betrag_neu}<br>"; // $anp_betrag_a = nummer_punkt2komma($bk_anp_betrag_neu); // $vorschuesse_neu = $xbk; // $vorschuesse_neu_a =nummer_punkt2komma($vorschuesse_neu); // die(); /* Wenn keine VZ Anteilig gezahlt, BK Anpassen - Nettomieter!!!!!!!!! */ $mkk = new mietkonto(); if ($mkk->check_vz_anteilig($empf_kos_id, $monat, $jahr) == true) { // $vorschuesse_aktuell_a =nummer_punkt2komma(0); // $anp_betrag_a = nummer_punkt2komma(0); $anp_betrag_a = nummer_punkt2komma(intval($anp_betrag)); $vorschuesse_neu = $vorschuesse_aktuell + intval($anp_betrag); $vorschuesse_neu_a = nummer_punkt2komma($vorschuesse_neu); } else { /* Wenn VZ Anteilig gezahlt, keine BK Anpassen - Bruttomieter!!!!!!!!! */ $anp_betrag = 0; $vorschuesse_aktuell = 0; $vorschuesse_neu = 0; $anp_betrag_a = nummer_punkt2komma(0); $vorschuesse_neu_a = nummer_punkt2komma($vorschuesse_aktuell); } $anp_tab[1]['KOSTENKAT'] = 'Betriebskosten Vorauszahlung'; $anp_tab[1]['AKTUELL'] = "{$vorschuesse_aktuell_a} €"; $anp_tab[1]['ANPASSUNG'] = "{$anp_betrag_a} €"; $anp_tab[1]['NEU'] = "{$vorschuesse_neu_a} €"; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['VORSCHUSS_ALT'] = "{$vorschuesse_aktuell_a}"; if ($vorschuesse_neu > $vorschuesse_aktuell) { $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['VORSCHUSS_NEU'] = "<b>{$vorschuesse_neu_a}</b>"; } else { $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['VORSCHUSS_NEU'] = "{$vorschuesse_neu_a}"; } $anp_tab[3]['KOSTENKAT'] = ''; $anp_tab[3]['AKTUELL'] = ""; $anp_tab[3]['ANPASSUNG'] = ""; $anp_tab[3]['NEU'] = ""; $anp_tab[4]['KOSTENKAT'] = ''; $a_km = nummer_punkt2komma($mk->ausgangs_kaltmiete + $vorschuesse_aktuell + $hk_monatlich_letzte); // $n_km= nummer_punkt2komma($mk->ausgangs_kaltmiete + $vorschuesse_neu + $hk_vorschuss_neu); // if($bk_summe && $check_hk==true){ $n_km = nummer_punkt2komma($mk->ausgangs_kaltmiete + $vorschuesse_neu + $hk_vorschuss_neu); // } // if($check_hk==true && !$bk_summe){ // $n_km= nummer_punkt2komma($mk->ausgangs_kaltmiete + $hk_vorschuss_neu); // } // if($check_hk==false && $bk_summe){ // $n_km= nummer_punkt2komma($mk->ausgangs_kaltmiete + $vorschuesse_neu); // } $anp_tab[4]['AKTUELL'] = "{$a_km} €"; $anp_tab[4]['ANPASSUNG'] = "<b>Neue Miete</b>"; $anp_tab[4]['NEU'] = "<b>{$n_km} €</b>"; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['A_MIETE'] = $a_km; $pdf->ergebnis_tab["{$mieternummer} - {$empf}"]['N_MIETE'] = $n_km; $cols = array('KOSTENKAT' => "", "AKTUELL" => "Derzeitige Miete", 'ANPASSUNG' => "Anpassungsbetrag", 'NEU' => "Neue Miete ab {$this->bk_verrechnungs_datum_d}"); $pdf->ezTable($anp_tab, $cols, "", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 7, 'fontSize' => 7, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('AKTUELL' => array('justification' => 'right', 'width' => 100), 'ANPASSUNG' => array('justification' => 'right', 'width' => 100), 'NEU' => array('justification' => 'right', 'width' => 100)))); $pdf->ezSetDy(-15); $pdf->ezText("Die Anpassung des Heiz- und Betriebskostenvorschusses hat eine vertragsverändernde Wirkung, bedarf aber nicht Ihrer Zustimmung. Sollte Sie bei Ihrer Bank einen Dauerauftrag eingerichtet haben, bitten wir diesen ändern zu lassen. Bei uns vorliegenden Einzugsermächtigung erfolgt automatisch ab {$this->bk_verrechnungs_datum_d} der Lastschrifteinzug der geänderten Miete. \n\n", 10, array('justification' => 'full')); $pdf->ezSetDy(-15); // $pdf->ezText("$this->footer_zahlungshinweis",10); // $pdf->ezText("$this->footer_zahlungshinweis", 10, array('justification'=>'full')); } /* ENDE ANPASSUNGSBLATT */ /* Anschreiben nur für Mietverträge */ if ($empf_kos_typ == 'MIETVERTRAG') { $mv = new mietvertraege(); $mv->get_mietvertrag_infos_aktuell($empf_kos_id); /* Wenn Mietvertrag aktuell anpassen, sonst nicht (d.h. Mieter wohnt noch in der Einheit) */ // $this->get_anpassung_infos($_SESSION['profil_id']); $this->get_anpassung_details($this->profil_id, 'Nebenkosten Vorauszahlung'); $anp_datum = date_mysql2german($this->bk_an_anpassung_ab); $p = new partners(); $p->get_partner_info($_SESSION[partner_id]); $pdf->ezNewPage(); $pdf->addText(480, 697, 8, "{$p->partner_ort}, {$this->bk_berechnungs_datum_d}"); /* * echo '<pre>'; * print_r($mv); * die(); * * /*Wennn ausgezogen */ $pap = $mv->postanschrift[0]['anschrift']; if (!empty($pap)) { $pdf->ezText("{$pap}", 10); $pap = ''; } else { $pdf->ezText("{$mv->personen_name_string_u}\n{$mv->haus_strasse} {$mv->haus_nr}\n\n{$mv->haus_plz} {$mv->haus_stadt}", 10); } /* * if($mv->mietvertrag_aktuell=='0'){ * $anschrift_xx = $mv->postanschrift[0]['anschrift']; * $pdf->ezText("$anschrift_xx",10); * }else{ * $pdf->ezText("$mv->personen_name_string_u\n$mv->haus_strasse $mv->haus_nr\n\n$mv->haus_plz $mv->haus_stadt",10); * } */ $pdf->ezSetDy(-60); /* Pr�fen ob heizkostenabgerechnet worden sind */ $check_hk = $this->check_hk_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); if ($check_hk == true) { $hk_summe = $this->summe_hk_abrechnung($empf_kos_typ, $empf_kos_id, $this->bk_jahr); $hk_summe_a = nummer_punkt2komma($hk_summe); $pdf->ezText("<b>Heiz- und Betriebskostenabrechnung Einheit: {$mv->einheit_kurzname}</b>", 10); $tab_ans[1]['KOSTENART'] = 'Heizkosten/Warmwasser'; if ($hk_summe < 0) { $hk_erg_a = 'Nachzahlung'; } else { $hk_erg_a = 'Guthaben'; } $tab_ans[1]['ERGEBNIS'] = $hk_erg_a; $tab_ans[1]['SUMME'] = $hk_summe_a . ' €'; } else { $pdf->ezText("<b>Betriebskostenabrechnung {$this->bk_jahr} Einheit: {$mv->einheit_kurzname}</b>", 10); } $pdf->ezText("<b>{$this->bk_bezeichnung}</b>", 10); $pdf->ezText("Wirtschaftseinheit: {$this->bk_kos_bez}", 10); // $pdf->ezText("Einheit: $mv->einheit_kurzname",12); $pdf->ezSetDy(-12); /* Faltlinie */ $pdf->setLineStyle(0.2); $pdf->line(5, 542, 20, 542); $pdf->ezText("{$anrede}", 12); $pdf->ezText("{$mv->mv_anrede}", 10); $pdf->ezText("namens und im Auftrag der Eigentümer erhalten Sie nachfolgend die Betriebs- und Heizkostenabrechnung für das Kalenderjahr {$this->bk_jahr} mit entsprechenden Erläuterungen zu den einzelnen Abrechnungspositionen und eventuellen Veränderungen zu vorangegangenen Abrechnungen.\n\n\t\tDaraus ergibt sich für Sie folgendes Ergebnis:", 10, array('justification' => 'full')); $tab_ans[0]['KOSTENART'] = 'Betriebskosten'; if ($ergebnis < 0) { $bk_ergebnis = 'Nachzahlung'; } if ($ergebnis > 0) { $bk_ergebnis = 'Guthaben'; } if ($ergebnis == 0) { $bk_ergebnis = 'Ergebnis'; } /* Wenn kein Bruttomieter */ $mkk = new mietkonto(); if ($mkk->check_vz_anteilig($empf_kos_id, $monat, $jahr) == true) { // die('Sanel'); $tab_ans[0]['ERGEBNIS'] = $bk_ergebnis; $ergebnis_a_a = nummer_punkt2komma($ergebnis); $tab_ans[0]['SUMME'] = $ergebnis_a_a . ' €'; } else { // die($empf_kos_id); $bk_ergebnis = 0.0; $ergebnis_a_a = nummer_punkt2komma(0.0); $tab_ans[0]['SUMME'] = $ergebnis_a_a . ' €'; $ergebnis = 0.0; } // if($summe_nebenkosten_jahr>0){ // $tab_ans[0]['ERGEBNIS'] = $bk_ergebnis; // $ergebnis_a_a = nummer_punkt2komma($ergebnis); // $tab_ans[0]['SUMME'] = $ergebnis_a_a.' €'; // }else{ // $bk_ergebnis = 0.00; // $ergebnis_a_a = nummer_punkt2komma(0.00); // $tab_ans[0][SUMME] = $ergebnis_a_a.' €'; // $ergebnis = 0.00; // } $tab_ans[2][KOSTENART] = ''; $tab_ans[2][ERGEBNIS] = ''; $tab_ans[2][SUMME] = ''; $end_erg = $hk_summe + $ergebnis; if ($end_erg < 0) { $end_erg_ergebnis = 'Nachzahlung'; } if ($end_erg > 0) { $end_erg_ergebnis = 'Guthaben'; } if ($end_erg == 0) { $end_erg_ergebnis = 'Ergebnis'; } $tab_ans[3][KOSTENART] = '<b>Gesamtergebnis</b>'; $tab_ans[3][ERGEBNIS] = "<b>{$end_erg_ergebnis}</b>"; $tab_ans[3][SUMME] = '<b>' . nummer_punkt2komma($end_erg) . ' €' . '</b>'; $pdf->ezSetDy(-8); $cols = array('KOSTENART' => "Betriebskostenart", 'ERGEBNIS' => "Ergebnis", 'SUMME' => "Summe"); $pdf->ezTable($tab_ans, $cols, "", array('showHeadings' => 1, 'shaded' => 1, 'titleFontSize' => 7, 'fontSize' => 7, 'xPos' => 55, 'xOrientation' => 'right', 'width' => 500, 'cols' => array('KOSTENART' => array('justification' => 'left', 'width' => 345), 'ERGEBNIS' => array('justification' => 'left', 'width' => 55), 'SUMME' => array('justification' => 'right', 'width' => 100)))); } $pdf->ezSetDy(-10); $pdf->ezText("Die Abrechnungsunterlagen können nach vorheriger Terminabsprache bei uns im Büro eingesehen werden. Eventuelle Einwände gegen die Abrechnung sind bitte innerhalb eines Jahres nach Zugang der Abrechnung schriftlich bei uns anzuzeigen.", 10, array('justification' => 'full')); $pdf->ezSetDy(-10); $v_monat_arr = explode('-', $this->bk_verrechnungs_datum); $v_monat_name = monat2name($v_monat_arr['1']); $v_jahr = $v_monat_arr['0']; $pdf->ezText("Bei Vorlage einer Einzugsermächtigung wird das Guthaben aus der Abrechnung mit der Miete für den Monat {$v_monat_name} {$v_jahr} verrechnet. Nachzahlungsbeträge werden mit der Zahlung der Miete für den Monat {$v_monat_name} {$v_jahr} mit eingezogen, bitte sorgen Sie für eine ausreichende Kontodeckung bzw. informieren uns unbedingt, falls der Nachzahlungsbetrag nicht per Lastschrift eingezogen werden soll.", 10, array('justification' => 'full')); $pdf->ezSetDy(-10); if (isset($_SESSION[geldkonto_id])) { $g = new geldkonto_info(); $g->geld_konto_details($_SESSION[geldkonto_id]); } else { die("GELDKONTO AUSWÄHLEN"); } // $pdf->ezText("auf das Konto $g->kontonummer bei der $g->kredit_institut, BLZ $g->blz.\n\n",12); $pdf->ezText("Sollte uns keine Einzugsermächtigung vorliegen, bitten wir das Guthaben mit der nächsten Mietzahlung zu\nverrechnen bzw. den Nachzahlungsbetrag unter Angabe Ihrer Mieternummer <b>{$mieternummer}</b> auf das Konto mit der\n<b>IBAN</b> <b>{$g->IBAN1}</b> bei der <b>{$g->kredit_institut}</b> zu überweisen.", 10, array('justification' => 'left')); $pdf->ezSetDy(-10); $pdf->ezText("Bei verzogenen Mietern ist es uns nicht möglich die Nachzahlungsbeträge per Lastschrift einzuziehen, wir bitten hier um Überweisung auf das o.g. Geldkonto.", 10, array('justification' => 'full')); $pdf->ezText("Für die Erstattung eines Guthabens bitten wir Sie uns Ihre aktuelle Kontonummer schriftlich mitzuteilen.", 10); // print_r($g); // die(); $pdf->ezSetDy(-15); // $pdf->ezText("$this->footer_zahlungshinweis",10); /* Anschreiben ENDE */ } else { // $pdf->ezText("KEINE ANPASSUNG",10); } // }
if ($key == "abinteressen") { $int = explode(";", $data[$key]); foreach ($int as $value) { $komma = ", "; if ($interessen == "") { $komma = ""; } $interessen .= $komma . $value; } $table[$i][] = $interessen; } else { $table[$i][] = $data[$key]; } } // hauptteil ausgeben $pdf->ezSetDy(123); $pdf->ezText($header_allgemein, 11); $pdf->ezSetDy(-10); $lage = $pdf->ezTable($table, '', '', array("showLines" => 0, "showHeadings" => 0, "shaded" => 0, "fontSize" => 11, "xPos" => 'left', "xOrientation" => 'right', "width" => 450, "cols" => $col_width_allg, "protectRows" => 2)); $pdf->line($links, $lage - 30, $rechts + 117, $lage - 30); // amtsleiter oder private angaben ausgeben if (is_array($al_or_priv)) { $pdf->ezSetDy(-60); $pdf->ezText($theader, 11); $pdf->ezSetDy(-10); $lage = $pdf->ezTable($al_or_priv, '', '', array("showLines" => 0, "showHeadings" => 0, "shaded" => 0, "fontSize" => 11, "xPos" => 'left', "xOrientation" => 'right', "maxWidth" => 528, "maxWidth" => 450, "cols" => $col_width_priv, "protectRows" => 2)); } // redaktion oder ansprechpartner ausgeben if (is_array($red_or_ans)) { $pdf->ezSetDy($abstand); $pdf->ezText($aheader, 11);
function creaPDF($ids, $tmpName, $path, $PATHQR, $tmp = "") { require dirname(dirname(dirname(__FILE__))) . '/f4/configuracion/utils.php'; require dirname(dirname(dirname(__FILE__))) . '/f4/configuracion/importeco.php'; require dirname(dirname(dirname(__FILE__))) . "/gui/QRCode/qr_imgV2.php"; $data = ""; $facturaController = new FacturaController($path); $selloController = new SelloController($path); $empresaController = new EmpresaController($path); $sucursalController = new SucursalController($path); $FWK_PDFFONTS = 'pdf/fonts/'; $FWK_PDFDEFAULTFONT = 'pdf/fonts/Helvetica.afm'; $FWK_PDFCOURIERFONT = 'pdf/fonts/Courier.afm'; // Obtener factura y sus anexos $TIPOSCOMPROBANTEMXP = array(1 => "Factura", 3 => "Nota de Cr.", 2 => "NOTA DE DEBITO"); $idconsulta = ""; $idconsulta = explode(",", trim($ids)); foreach ($idconsulta as $valor) { if (is_null($valor) || $valor == "") { array_pop($idconsulta); } } $contadorTotalPaginas = count($idconsulta); $contadorPagina = 1; // Crea el documento pdf $pdf = new Cezpdf('LETTER', 'portrait'); foreach ($idconsulta as $idfactura) { $data['idfactura'] = $idfactura; $factura = $facturaController->execute('facturaParaPdf', $data); $row_factura = $factura['respuesta']; $info_xtra = json_decode($row_factura["info_xtra"]); $data['idfacefactura'] = $factura['respuesta']['idface_factura']; $data['idempresa'] = $factura['respuesta']['idempresa']; $data['idsello'] = $factura['respuesta']['idsello']; $version = $factura['respuesta']['version']; $addenda = $facturaController->execute('datosAddenda', $data); $row_addenda = $addenda['respuesta']; $empresa = $empresaController->execute('allId', $data); $row_empresa = $empresa['respuesta']; $sello = $selloController->execute('obtenerPorIdsello', $data); $row_sello = $sello['respuesta']; $data['sucursal'] = $sello['respuesta']['sucursal']; $sucursal = $sucursalController->execute('nombreSucIdempresa', $data); $row_sucursal = $sucursal['respuesta']; $xmlArray = xml2array(base64_decode($row_factura['factura'])); $attr = "_attr"; if ($version === "3.2") { $NSP = "cfdi:"; } else { $NSP = ""; } $comprobante = $NSP . "Comprobante"; $emisor = $NSP . "Emisor"; $emisorDomFiscal = $NSP . "DomicilioFiscal"; $emisorExpedidoEn = $NSP . "ExpedidoEn"; $receptor = $NSP . "Receptor"; $domicilio = $NSP . "Domicilio"; $concepto = $NSP . "Conceptos"; $conceptoTag = $NSP . "Concepto"; $impuestos = $NSP . "Impuestos"; $traslado = $NSP . "Traslados"; $trasladoTag = $NSP . "Traslado"; $retencion = $NSP . "Retenciones"; $retencionTag = $NSP . "Retencion"; //INICIALIZACIONES $comprobanteNode = null; $emisorNode = null; $emisordomicilioNode = null; $expedidoNode = null; $receptorNode = null; $receptordomicilioNode = null; $conceptoNode = null; $impuestosNode = null; $trasladoNode = null; $retencionNode = null; // -------------------------------------------------chs -------------------------------------------------------------- $comprobanteNode = $xmlArray[$comprobante . $attr]; $emisorNode = $xmlArray[$comprobante][$emisor . $attr]; $emisordomicilioNode = $xmlArray[$comprobante][$emisor][$emisorDomFiscal . $attr]; $expedidoNode = isset($xmlArray[$comprobante][$emisor][$emisorExpedidoEn . $attr]) ? $xmlArray[$comprobante][$emisor][$emisorExpedidoEn . $attr] : ""; $receptorNode = $xmlArray[$comprobante][$receptor . $attr]; $receptordomicilioNode = $xmlArray[$comprobante][$receptor][$domicilio . $attr]; $conceptos = $xmlArray[$comprobante][$concepto]; $impuestosNode = $xmlArray[$comprobante][$impuestos . $attr]; $traslados = $xmlArray[$comprobante][$impuestos][$traslado]; $retenciones = isset($xmlArray[$comprobante][$impuestos][$retencion][$retencionTag . $attr]) ? $xmlArray[$comprobante][$impuestos][$retencion][$retencionTag . $attr] : ""; $regimenFiscal = $xmlArray[$comprobante][$emisor]["cfdi:RegimenFiscal_attr"]["Regimen"]; // --------------------------------------------------------------------------------------------------------------- //descuentos $desc1 = 0.0; $desc2 = 0.0; //================================================================================================================== $pdf->ezSetMargins(100, 30, 30, 30); $pdf->selectFont($FWK_PDFDEFAULTFONT); $pdf->setLineStyle(0.7, '', '', '', 0); $pdf->openHere('Fit'); if ($row_factura['tipocfd'] == 3) { $pdf->setStrokeColor(255, 0, 0); } if ($row_factura['tipocfd'] == 2) { $pdf->setStrokeColor(0, 255, 0); } // Inicia numeracin de paginas. $pagina = 1; $pdf->ezStartPageNumbers(500, 15, 10, '', '{PAGENUM} de {TOTALPAGENUM}', 1); $primeraPagina = $pdf->currentPage; // i. Agrega el logo de la empresa $pathToLogo = $path == "../" ? "../f4/extensiones/" : ""; $logofile = "logos/f.jpg"; //TENDRA QUE VENIR DE UN PARAMETRO EN LA BD. /*if(isset($row_empresa['rfc']) && !empty($row_empresa['rfc'])) $logofile="logos/".$row_empresa['rfc'].".jpg";*/ if (isset($sucursal["respuesta"]["sucursal"]) && !empty($sucursal["respuesta"]["sucursal"])) { $logofile = "logos/" . strtolower($sucursal["respuesta"]["sucursal"]) . ".jpg"; } error_log($logofile); if ($comprobanteNode['serie'] == "X") { $logofile = "logos/wingu-xpress.jpg"; } $pdf->addJpegFromFile($pathToLogo . $logofile, 30, 705, 140); // i. Agrega la leyenda "cancelada" if ($row_factura['estatus'] == 0) { $pdf->setColor(0.9, 0.9, 0.9); $pdf->addText(180, 200, 65, "<b>CANCELADA</b>", -45); $pdf->setColor(0, 0, 0); } // ------------------------------------------ENCABEZADO ------------------------------------------ //ENCABEZADO DE LA FACTURA $tipoDocto = $row_factura['tipodocumento']; $tipoDocto1 = $row_factura['tipodocumento'] == "FACTURA" ? "FACTURA" : ""; $tipoDocto2 = $row_factura['tipodocumento'] == "NOTA CARGO" ? "FACTURA" : ""; $tipoDocto3 = $row_factura['tipodocumento'] == "NOTA CREDITO" ? "NOTA DE CREDITO" : ""; $emisor = utf8_decode($emisorNode['nombre'] . "\n" . $emisorNode['rfc']) . "\n"; $noInterior = isset($emisordomicilioNode['noInterior']) ? $emisordomicilioNode['noInterior'] : ""; $noExterior = isset($emisordomicilioNode['noExterior']) ? $emisordomicilioNode['noExterior'] : ""; $emisor .= utf8_decode($emisordomicilioNode['calle'] . " {$noExterior}"); $emisor .= utf8_decode($emisordomicilioNode['colonia']); if (isset($emisordomicilioNode['localidad'])) { $emisor .= "\n" . utf8_decode($emisordomicilioNode['localidad']); } if ($emisordomicilioNode['municipio'] != "" && isset($emisordomicilioNode['municipio'])) { $emisor .= "\n" . utf8_decode($emisordomicilioNode['municipio']); } if ($emisordomicilioNode['estado'] != "" && isset($emisordomicilioNode['estado'])) { $emisor .= ", " . utf8_decode($emisordomicilioNode['estado']); } if ($emisordomicilioNode['codigoPostal'] != "" && isset($emisordomicilioNode['codigoPostal'])) { $emisor .= "\nCP " . utf8_decode($emisordomicilioNode['codigoPostal']); } $emisor .= " " . utf8_decode($emisordomicilioNode['pais']); $telefono = isset($row_empresa['telefono']) ? $row_empresa['telefono'] : ""; $emisor .= "\nTel: " . $telefono . "\n"; $mail = isset($row_empresa['mail']) ? $row_empresa['mail'] : ""; $emisor .= "\n" . $mail; $emisor1 = utf8_decode($emisorNode['nombre']); $sucursal = ""; if ($expedidoNode != "") { if (utf8_decode($row_sucursal['sucursal']) == "Q") { $tipoSucursal = utf8_decode('Querétaro'); } else { if (utf8_decode($row_sucursal['sucursal']) == "F") { $tipoSucursal = utf8_decode('5/6'); } else { if (utf8_decode($row_sucursal['sucursal']) == "S") { $tipoSucursal = utf8_decode('Santa Fe'); } } } $sucursal = "Sucursal " . $tipoSucursal . "\n"; if (utf8_decode($row_sucursal['sucursal']) != "S") { $noInteriorExpedido = isset($expedidoNode['noInterior']) ? $expedidoNode['noInterior'] : ""; $sucursal .= utf8_decode($expedidoNode['calle'] . " " . $expedidoNode['noExterior'] . " ") . "\n"; $sucursal .= utf8_decode($expedidoNode['colonia']) . "\n"; $sucursal .= utf8_decode($expedidoNode['municipio']) . ", " . utf8_decode($expedidoNode['estado']) . "\n"; $sucursal .= "CP " . utf8_decode($expedidoNode['codigoPostal']) . " " . utf8_decode($expedidoNode['pais']); } } ////////// i. Nombre del emisor $colNames = array(); $tableData = array(array("dato" => $emisor1)); $colOptions = array("dato" => array('justification' => 'left', 'width' => 200)); $options = array('showLines' => 0, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(1, 1, 1), 'fontSize' => 9, 'textCol' => array(0, 0, 0), 'rowGap' => 0, 'colGap' => 0, 'xPos' => 200, 'xOrientation' => 'right', 'width' => 200, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla nombre del emisor $pdf->ezSetY(765); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Datos del emisor y de la sucursal $tableData = array(array("emisor" => $emisor, "espacio" => "", "sucursal" => $sucursal)); $colOptions = array("emisor" => array('justification' => 'left', 'width' => 150), "espacio" => array('justification' => 'left', 'width' => 3), "sucursal" => array('justification' => 'left', 'width' => 100)); $options = array('showLines' => 0, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(1, 1, 1), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 0, 'colGap' => 0, 'xPos' => 190, 'xOrientation' => 'right', 'width' => 335, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla $pdf->ezTable($tableData, "", "", $options); ////////// i. Datos del documento $foliodocto = rellena("0", 6, $comprobanteNode['folio']); $seriedocto = $comprobanteNode['serie']; if (!empty($seriedocto)) { $foliodocto = $seriedocto . "-" . rellena("0", 6, $comprobanteNode['folio']); } $fechastr = $comprobanteNode['fecha']; $fechatok = explode("T", $fechastr); $toksf = explode("-", $fechatok[0]); $fechastr = $toksf[2] . "-" . $toksf[1] . "-" . $toksf[0] . " " . $fechatok[1]; $fechastrcfdi = $row_factura['FechaTimbrado']; $ncert = $comprobanteNode['noCertificado']; $aprob = $row_factura['noCertificadoSAT']; //chs $tableData = array(array("dato" => "<b>" . $tipoDocto1 . $tipoDocto2 . $tipoDocto3 . "</b>"), array("dato" => "<b>" . $foliodocto . "</b>"), array("dato" => "FECHA DE EMISION"), array("dato" => $fechastr), array("dato" => "LUGAR DE EXPEDICION"), array("dato" => utf8_decode($info_xtra->LugarExpedicion)), array("dato" => "FECHA DE CERTIFICACION"), array("dato" => $fechastrcfdi), array("dato" => "No. de Serie del Certificado del Emisor"), array("dato" => $ncert), array("dato" => "No. de Serie del Certificado del SAT"), array("dato" => $aprob), array("dato" => "Folio Fiscal"), array("dato" => $row_factura['uuid'])); $colOptions = array("dato" => array('justification' => 'left', 'width' => 120)); /*JASR*/ $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 2, 'shadeCol' => array(1, 1, 1), 'shadeCol2' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(1, 1, 1), 'rowGap' => 2, 'colGap' => 5, 'xPos' => 455, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla datos del documento $pdf->ezSetDy(70); $pdf->ezTable($tableData, "", "", $options); ////////// i. Datos del cliente $noInterior = isset($receptordomicilioNode['noInterior']) ? utf8_decode($receptordomicilioNode['noInterior']) : ""; $municipio = isset($receptordomicilioNode['municipio']) ? $receptordomicilioNode['municipio'] : ""; $localidadCliente = isset($receptordomicilioNode['localidad']) ? utf8_decode($receptordomicilioNode['localidad']) : ""; $tableData1 = array(array("cliente" => "<b>Cliente</b>"), array("cliente" => utf8_decode($receptorNode['nombre'])), array("cliente" => "RFC: " . utf8_decode($receptorNode['rfc'])), array("cliente" => utf8_decode($receptordomicilioNode['calle']) . " " . utf8_decode($receptordomicilioNode['noExterior']) . " {$noInterior} "), array("cliente" => utf8_decode($receptordomicilioNode['colonia']) . " " . $localidadCliente), array("cliente" => utf8_decode($municipio) . ", " . utf8_decode($receptordomicilioNode['estado']) . " " . utf8_decode($receptordomicilioNode['codigoPostal']) . " \n" . utf8_decode($receptordomicilioNode['pais'])), array("cliente" => utf8_decode("Atención: " . $info_xtra->Receptor->contacto . " Cliente: " . $info_xtra->Receptor->noCliente)), array("cliente" => utf8_decode("Tel: " . $info_xtra->Receptor->telefono))); $formaDePago = isset($comprobanteNode['formaDePago']) ? $comprobanteNode['formaDePago'] : "PAGO EN UNA SOLA EXHIBICION"; $metodoPago = isset($comprobanteNode['metodoDePago']) ? $comprobanteNode['metodoDePago'] : "No Identificado"; $numeroCuentaPago = isset($comprobanteNode['NumCtaPago']) ? $comprobanteNode['NumCtaPago'] : "No Identificado"; $tableData2 = array(array("expedido" => "Expedido en: " . utf8_decode($info_xtra->LugarExpedicion)), array("expedido" => "Forma de Pago: " . utf8_decode($formaDePago)), array("expedido" => "Metodo de Pago: " . utf8_decode($metodoPago)), array("expedido" => "No. de Cuenta: " . utf8_decode($numeroCuentaPago)), array("expedido" => "Condiciones de Pago: " . utf8_decode($comprobanteNode['condicionesDePago'])), array("expedido" => "Regimen Fiscal: " . utf8_decode(preg_replace("/Ii/", "II", ucwords(strtolower($regimenFiscal))))), array("expedido" => "Tipo de Cambio: " . $comprobanteNode['TipoCambio'] . " Moneda: " . $comprobanteNode['Moneda']), array("expedido" => "Elaboro: " . utf8_decode($info_xtra->Vendedor)), array("expedido" => utf8_decode("Póliza: " . $info_xtra->NumeroPoliza . " SAP No: " . $info_xtra->NumeroPedido))); $tableData = array(); $aux = count($tableData1) >= count($tableData2) ? $tableData1 : $tableData2; $cont = 0; foreach ($aux as $arr) { array_push($tableData, array("cliente" => $tableData1[$cont]["cliente"], "expedido" => $tableData2[$cont]["expedido"])); $cont++; } $colNames = array("cliente" => "", "expedido" => ""); $colOptions = array("cliente" => array('justification' => 'left', 'width' => 205), "expedido" => array('justification' => 'left', 'width' => 205)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 2, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 410, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); $pdf->ezSetDy(125); $pdf->ezTable($tableData, $colNames, "", $options); //encabezado //error_log(print_r($info_xtra,true)); $tableData = array(array("dato" => utf8_decode($info_xtra->Consumo->NotaEncabezado))); $colOptions = array("dato" => array('justification' => 'left', 'width' => 540)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 5, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); $pdf->ezSetDy(-10); $pdf->ezTable($tableData, "", "", $options); $actualY = $pdf->y; $pdf->setColor(0, 0, 0); $pdf->filledRectangle(30, $actualY - 30, 540, 18); $pdf->ezSetY($actualY - 15); $pdf->setColor(1, 1, 1); $pdf->ezText("<b>Codigo</b>", 7, array('left' => 25, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Descripcion</b>", 7, array('left' => 180, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Cant</b>", 7, array('left' => 361, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Unidad</b>", 7, array('left' => 398, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Unitario</b>", 7, array('left' => 445, 'justification' => 'left')); $pdf->ezSetY($actualY - 15); $pdf->ezText("<b>Importe</b>", 7, array('left' => 497, 'justification' => 'left')); ////////// i. Partidas $tableData = array(); $renglones = 0; $rowData = array("codigo" => "", "cantidad" => "", "unidad" => "", "descripcion" => "", "unitario" => "", "importe" => ""); $partidaCnt = 0; $cantidadArrayConceptos = count($conceptos); foreach ($conceptos as $key => $conceptoNode) { if (stristr($key, $attr) && $cantidadArrayConceptos == 2) { $partidaCnt++; $renglones += 2; $currentObj = array(); $descripcion = $conceptoNode['descripcion']; $totalPalabras = strlen($descripcion); $totalCaracteres = 4800; if ($totalPalabras >= $totalCaracteres) { $pagDesc = ceil($totalPalabras / $totalCaracteres); $aux = 1; $array = array(); for ($i = 1; $i <= $pagDesc; $i++) { if ($i == $pagDesc) { $array[] = $totalPalabras; } else { $val = $aux += $totalCaracteres; $array[] = $val; } } $desc = array(); $o = 0; foreach ($array as $valor) { $desc[] = substr($descripcion, $o, $valor); $o += $valor - $o; } $cont = 1; foreach ($desc as $descripcionexp) { $currentObj["codigo"] = $info_xtra->Consumo->partidas[$partidaCnt - 1]->codigo; $currentObj["cantidad"] = number_format(abs(doubleval($conceptoNode['cantidad'])), 2); //$currentObj["unidad"]= (isset($conceptoNode['unidad'])) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["unidad"] = $conceptoNode['unidad']; //)) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["descripcion"] = str_replace("__", "\n", utf8_decode($descripcionexp) . "\n" . utf8_decode($info_xtra->Consumo->partidas[$partidaCnt - 1]->nota)); if ($info_xtra->TipoImpresion == "KI2") { $contPartidas = count($info_xtra->Consumo->partidas); for ($i = 1; $i < $contPartidas; $i++) { $currentObj["descripcion"] .= $info_xtra->Consumo->partidas[$i]->codigo . " " . $info_xtra->Consumo->partidas[$i]->cantidad . " " . $info_xtra->Consumo->partidas[$i]->unidad . " " . $info_xtra->Consumo->partidas[$i]->descripcion . " \$" . $info_xtra->Consumo->partidas[$i]->valorUnitario . " \n"; } } $currentObj["unitario"] = number_format($conceptoNode['valorUnitario'], 2); $currentObj["importe"] = number_format(doubleval($conceptoNode['importe']), 2); $for = $cont++; log_action("for:::" . $for); if ($for > 1) { $currentObj["codigo"] = ""; $currentObj["cantidad"] = ""; $currentObj["unidad"] = ""; $currentObj["unitario"] = ""; $currentObj["importe"] = ""; } array_push($tableData, $currentObj); } } else { $currentObj["codigo"] = $info_xtra->Consumo->partidas[$partidaCnt - 1]->codigo; $currentObj["cantidad"] = number_format(abs(doubleval($conceptoNode['cantidad'])), 2); //$currentObj["unidad"]= (isset($conceptoNode['unidad'])) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["unidad"] = $conceptoNode['unidad']; //)) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["descripcion"] = str_replace("__", "\n", utf8_decode($descripcion) . "\n" . utf8_decode($info_xtra->Consumo->partidas[$partidaCnt - 1]->nota)); if ($info_xtra->TipoImpresion == "KI2") { $contPartidas = count($info_xtra->Consumo->partidas); for ($i = 1; $i < $contPartidas; $i++) { $currentObj["descripcion"] .= utf8_decode($info_xtra->Consumo->partidas[$i]->codigo . " " . $info_xtra->Consumo->partidas[$i]->cantidad . " " . $info_xtra->Consumo->partidas[$i]->unidad . " " . $info_xtra->Consumo->partidas[$i]->descripcion . " " . $info_xtra->Consumo->partidas[$i]->valorUnitario) . " \n"; } } $currentObj["unitario"] = number_format($conceptoNode['valorUnitario'], 2); $currentObj["importe"] = number_format(doubleval($conceptoNode['importe']), 2); array_push($tableData, $currentObj); } } else { foreach ($conceptoNode as $key1 => $conceptoNode1) { log_action(print_r($key1, TRUE)); if (stristr($key1, $attr)) { $partidaCnt++; $renglones += 2; $currentObj = array(); $currentObj["codigo"] = $info_xtra->Consumo->partidas[$partidaCnt - 1]->codigo; $currentObj["cantidad"] = number_format(abs(doubleval($conceptoNode1['cantidad'])), 2); //$currentObj["unidad"]= (isset($conceptoNode['unidad'])) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["unidad"] = $conceptoNode1['unidad']; //)) ? $conceptoNode['unidad'] : "No Aplica"; $currentObj["descripcion"] = str_replace("__", "\n", utf8_decode($conceptoNode1['descripcion'] . "\n" . $info_xtra->Consumo->partidas[$partidaCnt - 1]->nota)); if ($info_xtra->TipoImpresion == "KI2") { $contPartidas = count($info_xtra->Consumo->partidas); for ($i = 1; $i < $contPartidas; $i++) { $currentObj["descripcion"] .= $info_xtra->Consumo->partidas[$i]->codigo . " " . $info_xtra->Consumo->partidas[$i]->cantidad . " " . $info_xtra->Consumo->partidas[$i]->unidad . " " . $info_xtra->Consumo->partidas[$i]->descripcion . " \$" . $info_xtra->Consumo->partidas[$i]->valorUnitario . " \n"; } } $currentObj["unitario"] = number_format($conceptoNode1['valorUnitario'], 2); $currentObj["importe"] = number_format(doubleval($conceptoNode1['importe']), 2); array_push($tableData, $currentObj); } } //fin foreach 2 chs 20130705 } } $currentObj = array(); $currentObj["codigo"] = ""; $currentObj["cantidad"] = ""; $currentObj["unidad"] = ""; $currentObj["descripcion"] = str_replace("__", "\n", utf8_decode($row_factura["fnotas"])); $currentObj["unitario"] = ""; $currentObj["importe"] = ""; array_push($tableData, $currentObj); if (isset($row_addenda['cl_fld1'])) { $currentObj = array(); $currentObj["cantidad"] = ""; $currentObj["descripcion"] = $row_addenda['cl_fld1']; if (!empty($row_addenda['cl_fld2'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld2']; } if (!empty($row_addenda['cl_fld3'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld3']; } if (!empty($row_addenda['cl_fld4'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld4']; } if (!empty($row_addenda['cl_fld5'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld5']; } if (!empty($row_addenda['cl_fld6'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld6']; } if (!empty($row_addenda['cl_fld7'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld7']; } if (!empty($row_addenda['cl_fld8'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld8']; } if (!empty($row_addenda['cl_fld9'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld9']; } if (!empty($row_addenda['cl_fld10'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld10']; } if (!empty($row_addenda['cl_fld11'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld11']; } if (!empty($row_addenda['cl_fld12'])) { $currentObj["descripcion"] .= "\n" . $row_addenda['cl_fld12']; } $currentObj["unitario"] = ""; $currentObj["importe"] = ""; array_push($tableData, $currentObj); } $currentObj = array(); $currentObj["codigo"] = ""; $currentObj["cantidad"] = ""; $currentObj["unidad"] = ""; $currentObj["descripcion"] = ""; $currentObj["unitario"] = ""; $currentObj["importe"] = ""; if ($info_xtra->TipoImpresion == "KI2") { for ($renglones; $renglones < 10 - count($info_xtra->Consumo->partidas) * 0.95; $renglones++) { array_push($tableData, $currentObj); } } else { if ($renglones < 10) { for ($renglones; $renglones < 10; $renglones++) { array_push($tableData, $currentObj); } } } $colNames = array("codigo" => "", "descripcion" => "", "cantidad" => "", "unidad" => "", "unitario" => "", "importe" => ""); $colOptions = array("codigo" => array('justification' => 'center', 'width' => 70), "descripcion" => array('justification' => 'left', 'width' => 280), "cantidad" => array('justification' => 'center', 'width' => 40), "unidad" => array('justification' => 'left', 'width' => 40), "unitario" => array('justification' => 'right', 'width' => 55), "importe" => array('justification' => 'right', 'width' => 55)); $options = array('showLines' => 1, 'showHeadings' => 1, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 4, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 410, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla partidas $pdf->ezSetDy(11); $pdf->ezTable($tableData, $colNames, "", $options); ////////// i. Cantidad con letra $cadena = covertirNumLetras(number_format($comprobanteNode['total'], 2, ".", '')); if ($comprobanteNode['Moneda'] == "USD") { $cadena = str_replace("M.N.", "USD", $cadena); $cadena = str_replace("PESOS", "DOLARES", $cadena); $cadena = str_replace("PESO", "DOLAR", $cadena); } $tableData = array(array("dato" => "<b>Nota:</b>\n" . utf8_decode($info_xtra->Consumo->notaAlPie)), array("dato" => "<b>Total con letra</b>\n" . trim($cadena))); $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 390)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 1, 'shadeCol' => array(0.9, 0.9, 0.9), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 2.5, 'colGap' => 5, 'xPos' => 35, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla cantidad con letra $pdf->ezSetDy(0); $pdf->ezTable($tableData, "", "", $options); ////////// i. Totales $f_importe = "\$" . number_format($comprobanteNode['subTotal'], 2); //$f_iva_T=$conceptoNode['totalImpuestosTrasladados']; $f_total = "\$" . number_format($comprobanteNode['total'], 2); $tableData = array(); $rowData = array("leyenda" => "", "cantidad" => ""); $subtotal = array("dato" => "Subtotal", "valor" => $f_importe); array_push($tableData, $subtotal); foreach ($traslados as $key => $trasladoNode) { if ($key === $trasladoTag . $attr) { $tasaImpuesto = array(); $tasaImpuesto_t = number_format($trasladoNode['tasa'], 0); $tasaImpuesto["dato"] = $trasladoNode['impuesto'] . " " . $tasaImpuesto_t . "%"; $tasaImpuesto["valor"] = "\$" . number_format($trasladoNode['importe'], 2); //array_push($tableData,$tasaImpuesto); } } if (!empty($retenciones)) { foreach ($retenciones as $key => $retencionNode) { if ($key === $retencionTag . $attr) { $tasaImpuesto = array(); $tasaImpuesto_t = number_format($retencionNode['tasa'], 2); $tasaImpuesto["dato"] = "Ret. " . $retencionNode['impuesto']; $tasaImpuesto["valor"] = "\$" . number_format($retencionNode['importe'], 2); //array_push($tableData,$tasaImpuesto); } } } //fin if empty $iva = array("dato" => "<b>IVA</b>", "valor" => "<b>\$ " . number_format($info_xtra->TotalImpuestosTrasladados, 2) . "</b>"); array_push($tableData, $iva); $total = array("dato" => "<b>Total</b>", "valor" => "<b>" . $f_total . "</b>"); array_push($tableData, $total); $colNames = array("dato" => "<b>Cant</b>", "valor" => "Importe"); $colOptions = array("dato" => array('justification' => 'right', 'width' => 55), "valor" => array('justification' => 'right', 'width' => 95)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 2, 'shadeCol' => array(1, 1, 1), 'shadeCol2' => array(91, 21, 0), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 3, 'colGap' => 5, 'xPos' => 425, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla totales $pdf->ezSetDy(42.5); $pdf->ezTable($tableData, $colNames, "", $options); $rfce = $row_empresa['rfc']; $rfcr = $receptorNode['rfc']; $total = $comprobanteNode['total']; $uuidsat = $row_factura['uuid']; $cadenaQRCode = sprintf("?re=%s&rr=%s&tt=%s&id=%s", $rfce, $rfcr, $total, $uuidsat); /*QR Code: Para usar qr_imgV2(): qr_imgV2(d,e,s,v,t); d= datos Cadena o datos a ser codificados. e= ECC level Puede ser L,M,Q,H (default M) s= module size Para imagen JPEG:8; para PNG:4 v= version 1-40 8 recomendado. t= image type "J":imagen jpeg, "P" o culaquier otra cosa: imagen PNG */ $img_filename = qr_imgV2($cadenaQRCode, "M", 8, 8, "J", $PATHQR); //v:7-13 8 parece adecuado. //$pdf->addJpegFromFile($img_filename,495,$pdf->y,90); //100 //$pdf->addJpegFromFile($img_filename,32,170,130); //100 $pdf->addJpegFromFile($img_filename, 32, $pdf->y - 140, 130); //100 unlink($img_filename); ////////// i. Sello if ($version === "3.2") { $tableData = array(array("dato" => "<b>Sello Digital del Emisor</b>\n" . $row_factura['sello']), array("dato" => "<b>Sello Digital del SAT</b>\n" . $row_factura['selloSAT'])); } else { $tableData = array(array("dato" => "<b>Sello Digital</b>\n" . $row_factura['sello'])); } $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 400)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.8, 0.8, 0.8), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 5, 'colGap' => 5, 'xPos' => 175, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla sello $pdf->ezSetDy(-10); $pdf->ezTable($tableData, $colNames, "", $options); /*$pdf->setColor(91,21,0); $pdf->filledRectangle(30,167,134,151); $pdf->setColor(1,1,1); $pdf->filledRectangle(31,167.5,132.3,149.5);*/ ////////// i. Cadena original $columnaCadena = ""; if ($version === "3.2") { $columnaCadena = sprintf("||1.0|%s|%s|%s|%s||", $row_factura['uuid'], $row_factura['FechaTimbrado'], $row_factura['selloCFD'], $row_factura['noCertificadoSAT']); } else { $columnaCadena = sprintf("%s", $row_factura['cadena']); } $tableData = array(array("dato" => "<b>Cadena original del complemento de certificacion digital del SAT</b>\n" . $columnaCadena), array("dato" => "<b>Folio Fiscal</b>\n" . $row_factura['uuid'])); $colNames = array("dato" => "<b>Cant</b>"); $colOptions = array("dato" => array('justification' => 'left', 'width' => 400)); $options = array('showLines' => 1, 'showHeadings' => 0, 'shaded' => 0, 'shadeCol' => array(0.8, 0.8, 0.8), 'fontSize' => 7, 'textCol' => array(0, 0, 0), 'rowGap' => 5, 'colGap' => 5, 'xPos' => 175, 'xOrientation' => 'right', 'width' => 120, 'cols' => $colOptions, 'innerLineThickness' => 0.3, 'outerLineThickness' => 0.3); // Dibuja la tabla cadena original $pdf->ezSetDy(-5); $pdf->ezTable($tableData, $colNames, "", $options); // Leyendas $pdf->ezSetDy(-12); $leyendas = "ESTE DOCUMENTO ES UNA REPRESENTACION IMPRESA DE UN CFDI.\n"; $pdf->setColor(0.5, 0.5, 0.5); $pdf->ezText($leyendas, 5, array('left' => 50, 'justification' => 'center')); $pdf->setColor(0, 0, 0); $pdf->ezStream(array("filename" => $row_factura['folio'] . "_" . str_replace(" ", "-", $receptorNode['nombre']))); //Necesario para que funcione ezStartPageNumbers //REGRESA PARA PONER ENCABEZADO EN PAGINAS 2 -> if ($contadorPagina != $contadorTotalPaginas) { $pdf->ezNewPage(); $pdf->ezSetDy(-12); } $contadorPagina++; } //fin del foreach para la creacion del objeto pdf //ESCRIBE REPORTE AL ARCHIVO. //================================================================================ $pdfcode = $pdf->output(); error_log($tmpName); if ($tmpName === 2 || !$tmpName) { $tmpName = !$tmpName ? $tmpName : true; } else { exit($pdfcode); } //save the file if ($tmpName) { $nombrePDF = tempnam($tmp . "tmp/", 'face5') . ".pdf"; $nombreToks = explode("/", $nombrePDF); if (count($nombreToks) < 2) { $nombreToks = explode("\\", $nombrePDF); } $lastTok = count($nombreToks) - 1; $nombrePDF = $nombreToks[$lastTok]; $archivoPDF = $tmp . "tmp/" . $nombrePDF; $archivos = array($nombrePDF, $archivoPDF); error_log(print_R($archivos, true)); } else { $nombrePDF = $tipoDocto . "_" . $row_factura['serie'] . $row_factura['folio'] . ".pdf"; //$archivoPDF ="tmp/".$nombrePDF;//chs 20130705 $archivoPDF = $tmp . "tmp/" . $nombrePDF; $archivos = array($nombrePDF, $archivoPDF); error_log(2); ob_flush(); ob_clean(); } global $SITE_ROOT; error_log($archivoPDF); @file_put_contents($SITE_ROOT . "gui/" . $archivoPDF, $pdfcode); /*$fp = fopen($archivoPDF,'w+'); fwrite($fp,$pdfcode); fclose($fp);*/ return $archivos; }
function pdf_einauszugsbestaetigung(Cezpdf $pdf, $mv_id, $einzug = 0) { $pdf->ezSetMargins(135, 70, 50, 50); $mv = new mietvertraege(); $mv->get_mietvertrag_infos_aktuell($mv_id); $oo = new objekt(); $oo->get_objekt_infos($mv->objekt_id); if ($mv->anzahl_personen > 1) { $ist_sind = 'sind'; } else { $ist_sind = 'ist'; } if ($einzug == '0') { $pdf->ezText("<b>Einzugsbestätigung</b>", 18, array('justification' => 'left')); $pdf->ezText("{$mv->einheit_kurzname}", 10, array('justification' => 'right')); } else { $pdf->ezText("<b>Auszugsbestätigung</b>", 18, array('justification' => 'left')); $pdf->ezText("{$mv->einheit_kurzname}", 10, array('justification' => 'right')); } $pdf->ezText("<b>Wohnungsgeberbescheinigung gemäß § 19 des Bundesmeldegesetzes (BMG)</b>", 11, array('justification' => 'left')); $pdf->ezSetDy(-35); // Abstand $pdf->ezText("Hiermit bestätige(n) ich/wir als Wohnungsgeber/Vermieter, dass", 10); $pdf->ezSetDy(-15); // Abstand $pdf->ezText("{$mv->personen_name_string_u}", 10); $pdf->ezSetDy(-15); // Abstand if ($einzug == '0') { $pdf->ezText("in die von mir/uns vermietete Wohnung", 10); } else { $pdf->ezText("aus der von mir/uns vermieteten Wohnung", 10); } $pdf->ezSetDy(-15); // Abstand $pdf->ezText("unter der Anschrift: {$mv->haus_strasse} {$mv->haus_nr}, {$mv->haus_plz} {$mv->haus_stadt} (Wohnlage:</b> {$mv->einheit_lage})", 10); $pdf->ezSetDy(-15); // Abstand if ($einzug == '0') { $pdf->ezText("am _______________________ eingezogen {$ist_sind}.", 10); } else { $pdf->ezText("am _______________________ ausgezogen {$ist_sind}.", 10); } $pdf->ezSetDy(-20); // Abstand if (empty($oo->objekt_eigentuemer)) { $pdf->ezSetDy(-30); // Abstand $this->kasten($pdf, 1, 50, 10, 10); $pdf->addText(70, $pdf->y + 1, 10, 'Der Wohnungsgeber/Vermieter ist gleichzeitig <b>Eigentümer</b> der Wohnung oder'); $pdf->ezSetDy(-20); // Abstand $this->kasten($pdf, 1, 50, 10, 10); $pdf->addText(70, $pdf->y + 1, 10, "Der Wohnungsgeber/Vermieter ist <b>nicht</b> Eigentümer der Wohnung"); $pdf->ezSetDy(-15); // Abstand $pdf->ezSetDy(-25); // Abstand $pdf->line(50, $pdf->y, 550, $pdf->y); $pdf->ezSetDy(-25); // Abstand $pdf->line(50, $pdf->y, 550, $pdf->y); } else { $this->kasten($pdf, 1, 50, 10, 10); $pdf->addText(50, $pdf->y + 2, 10, 'X'); $pdf->addText(70, $pdf->y + 1, 10, "Der Wohnungsgeber ist <b>nicht</b> Eigentümer der Wohnung"); $pdf->ezSetDy(-15); // Abstand $pdf->ezText("Name und Anschrift des <b>Eigentümers</b> lauten:", 10); $pdf->ezText("{$oo->objekt_eigentuemer}", 10); $pp = new partners(); $pp->get_partner_info($oo->objekt_eigentuemer_id); $pdf->ezText("{$pp->partner_strasse} {$pp->partner_hausnr}, {$pp->partner_plz} {$pp->partner_ort}", 10); } $pdf->ezSetDy(-25); // Abstand $pdf->ezText("Ich bestätige mit meiner Unterschrift den Ein- bzw. Auszug der oben genannten Person(en) in die näher bezeichnete Wohnung und dass ich als Wohnungsgeber oder als beauftragte Person diese Bescheinigung ausstellen darf. Ich habe davon Kenntnis genommen, da ich ordnungswidrig handele, wenn ich hierzu nicht berechtigt bin und dass es verboten ist, eine Wohnanschrift für eine Anmeldung eines Wohnsitzes einem Dritten anzubieten oder zur Verfügung zu stellen, obwohl ein tatsächlicher Bezug der Wohnung durch einen Dritten weder stattfindet noch beabsichtigt ist. Ein Verstoß gegen das Verbot stellt auch einen Ordnungswidrigkeit dar.", 8); /* Footer */ $pdf->ezSetDy(-25); // Abstand $pdf->ezText("{$mv->haus_stadt}, __________________", 9, array('justification' => 'left')); $pdf->ezSetDy(-7); // Abstand $pdf->addText(125, $pdf->y, 6, "Datum"); $pdf->ezSetDy(-30); // Abstand $pdf->ezText("____________________________________________", 9, array('justification' => 'left')); $pdf->ezSetDy(-8); // Abstand $pdf->addText(57, $pdf->y, 6, "Unterschrift des Wohnungsgebers/Vermieters oder der beauftragten Person"); $pdf->ezSetDy(-15); // Abstand }
<?php include_once ABSPATH . "includes/php-pdf/class.ezpdf.php"; $cols = array('jenis' => 'Jenis', 'tanggal' => 'Tanggal', 'perihal' => 'perihal', 'kode' => 'Kode', 'tahun' => 'Tahun'); $options = array('shaded' => 1, 'width' => 500, 'fontSize' => 8, 'titleFontSize' => 10); $data = array(); while ($row = $rs->FetchNextObject()) { $data[] = array('jenis' => $row->JENIS, 'tanggal' => formatDate2($row->TANGGAL), 'perihal' => $row->PERIHAL, 'kode' => $row->KODE, 'tahun' => $row->TAHUN); } $pdf = new Cezpdf('a4', 'potrait'); $pdf->selectFont('includes/php-pdf/fonts/Helvetica.afm'); $pdf->ezText('<b>Sample Report</b>', 14, array('justification' => 'center')); $pdf->ezSetDy(-20); $pdf->ezTable($data, $cols, '', $options); $pdf->ezStream();
function separacion($espacio = 6) { $this->pdf->ezSetDy(-$espacio, 'makeSpace'); }
function kontobuchungen_pdf($geldkonto_id, $kostenkonto, $jahr, $monat) { if ($monat == '') { $result = mysql_query("SELECT DATUM, BETRAG, VERWENDUNGSZWECK FROM GELD_KONTO_BUCHUNGEN WHERE GELDKONTO_ID='{$geldkonto_id}' && KONTENRAHMEN_KONTO = '{$kostenkonto}' && ( DATE_FORMAT( DATUM, '%Y' ) = '{$jahr}') && AKTUELL='1' ORDER BY GELD_KONTO_BUCHUNGEN_ID DESC"); } else { $result = mysql_query("SELECT DATUM, BETRAG, VERWENDUNGSZWECK FROM GELD_KONTO_BUCHUNGEN WHERE GELDKONTO_ID='{$geldkonto_id}' && KONTENRAHMEN_KONTO = '{$kostenkonto}' && ( DATE_FORMAT( DATUM, '%Y-%m' ) = '{$jahr}-{$monat}') && AKTUELL='1' ORDER BY GELD_KONTO_BUCHUNGEN_ID DESC"); } $numrows = mysql_numrows($result); if ($numrows > 0) { $k = new kontenrahmen(); $k->konto_informationen($kostenkonto); /* PDF */ //include_once ('pdfclass/class.ezpdf.php'); $pdf = new Cezpdf('a4', 'portrait'); $pdf->ezSetCmMargins(4.5, 2.5, 2.5, 2.5); $berlus_schrift = './fonts/Times-Roman.afm'; $text_schrift = './fonts/Arial.afm'; $pdf->addJpegFromFile('includes/logos/hv_logo198_80.jpg', 450, 780, 100, 42); $pdf->setLineStyle(0.5); $pdf->selectFont($berlus_schrift); $pdf->addText(42, 743, 6, "BERLUS HAUSVERWALTUNG - Fontanestr. 1 - 14193 Berlin"); $pdf->line(42, 750, 550, 750); $seite = $pdf->ezGetCurrentPageNumber(); $alle_seiten = $pdf->ezPageCount; $pdf->addText(70, 780, 12, "Kostenkonto {$kostenkonto}"); while ($row = mysql_fetch_assoc($result)) { $datum = date_mysql2german($row[DATUM]); $betrag = nummer_punkt2komma($row[BETRAG]); $vzweck = $this->umlaute_anpassen(ltrim(rtrim($row[VERWENDUNGSZWECK]))); $this->summe_kontobuchungen_jahr($geldkonto_id, $kostenkonto, $jahr); echo "<tr></td><td>{$datum}</td><td>{$erfass_nr}</td><td>{$betrag}</td><td>{$b_id}</td><td>{$vzweck}</td></tr><br>"; $pdf->ezText("{$datum}", 10, array('left' => '0')); if (strlen($vzweck) > '60') { $pdf->ezText("{$vzweck}", 10, array('left' => '60')); // $pdf->ezSetDy(-12); //abstand } else { $pdf->ezText("{$vzweck}", 10, array('left' => '60')); } $pdf->ezText("{$betrag}", 10, array('left' => '430')); $pdf->ezSetDy(-12); // abstand } $content = $pdf->output(); $dateiname_org = 'Kontenbericht'; $dateiname = $this->save_file($dateiname_org, 'Monatsbericht_Konten', $geldkonto_id, $content, $monat, $jahr); // weiterleiten($dateiname); $download_link = "<h3><a href=\"{$dateiname}\">Monatsbericht {$geldkonto_id} für {$monat}/{$jahr} HIER</a></h3>"; echo $download_link; } else { // echo "Geldkonto $geldkonto_id - Kostenkonto $kostenkonto leer<br>"; } }
function dofreePDF() { global $mosConfig_live_site, $mosConfig_sitename, $mosConfig_offset; global $mainframe, $database, $my; $id = intval(mosGetParam($_REQUEST, 'id', 1)); $gid = $my->gid; $now = _CURRENT_SERVER_TIME; $nullDate = $database->getNullDate(); // query to check for state and access levels $query = "SELECT a.*, cc.name AS category, s.name AS section, s.published AS sec_pub, cc.published AS cat_pub," . "\n s.access AS sec_access, cc.access AS cat_access, s.id AS sec_id, cc.id as cat_id" . "\n FROM #__content AS a" . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope = 'content'" . "\n WHERE a.id = " . (int) $id . "\n AND a.state = 1" . "\n AND a.access <= " . (int) $gid . "\n AND ( a.publish_up = " . $database->Quote($nullDate) . " OR a.publish_up <= " . $database->Quote($now) . " )" . "\n AND ( a.publish_down = " . $database->Quote($nullDate) . " OR a.publish_down >= " . $database->Quote($now) . " )"; $database->setQuery($query); $row = NULL; if ($database->loadObject($row)) { /* * check whether category is published */ if (!$row->cat_pub && $row->catid) { mosNotAuth(); return; } /* * check whether section is published */ if (!$row->sec_pub && $row->sectionid) { mosNotAuth(); return; } /* * check whether category access level allows access */ if ($row->cat_access > $gid && $row->catid) { mosNotAuth(); return; } /* * check whether section access level allows access */ if ($row->sec_access > $gid && $row->sectionid) { mosNotAuth(); return; } include 'includes/class.ezpdf.php'; $params = new mosParameters($row->attribs); $params->def('author', !$mainframe->getCfg('hideAuthor')); $params->def('createdate', !$mainframe->getCfg('hideCreateDate')); $params->def('modifydate', !$mainframe->getCfg('hideModifyDate')); $row->fulltext = pdfCleaner($row->fulltext); $row->introtext = pdfCleaner($row->introtext); $pdf = new Cezpdf('a4', 'P'); //A4 Portrait $pdf->ezSetCmMargins(2, 1.5, 1, 1); $pdf->selectFont('./fonts/Helvetica.afm'); //choose font $all = $pdf->openObject(); $pdf->saveState(); $pdf->setStrokeColor(0, 0, 0, 1); // footer $pdf->addText(250, 822, 6, $mosConfig_sitename); $pdf->line(10, 40, 578, 40); $pdf->line(10, 818, 578, 818); $pdf->addText(30, 34, 6, $mosConfig_live_site); $pdf->addText(250, 34, 6, _PDF_POWERED); $pdf->addText(450, 34, 6, _PDF_GENERATED . ' ' . date('j F, Y, H:i', time() + $mosConfig_offset * 60 * 60)); $pdf->restoreState(); $pdf->closeObject(); $pdf->addObject($all, 'all'); $pdf->ezSetDy(30); $txt1 = $row->title; $pdf->ezText($txt1, 14); $txt2 = AuthorDateLine($row, $params); $pdf->ezText($txt2, 8); $txt3 = $row->introtext . "\n" . $row->fulltext; $pdf->ezText($txt3, 10); $pdf->ezStream(); } else { mosNotAuth(); return; } }
session_start(); if (empty($_SESSION['user'])) { session_destroy(); header('location:index.php'); } require_once 'class.ezpdf.php'; $pdf = new Cezpdf('LETTER'); $pdf->selectFont('fonts/Helvetica.afm'); $pdf->ezSetCmMargins(1, 1, 1.5, 1.5); $conexion = mysql_connect("Localhost", "root", ""); mysql_select_db("libreria1", $conexion); $queEmp = "SELECT codigo_alu, nombre_alu, primer_apellido, fecha_ingreso FROM alumnos "; $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error()); $totEmp = mysql_num_rows($resEmp); $CODIGO_ALU = trim(strtoupper($_POST['codigo_alu'])); $NOMBRE_COMPLETO = trim(strtoupper($_POST['nombre_alu'])); $NOMBRE_COMPLETO = trim(strtoupper($_POST['primer_apellido'])); $FECHA = trim($_POST['fecha_ingreso']); $txttit = "<b><u>REPORTE GENERAL DE PROGRA 4</u></b>\n"; $txttit .= "Ejemplo de PDF CON PHP \n"; $txttit .= "PARCIAL PROGRA 4 \n"; $txttit .= "--------------------------------------------------\n"; $pdf->ezText($txttit, 16, array('justification' => 'center')); $pdf->ezText("<u>codigo del amuno: {$CODIGO_ALU} </u>\n", 12, array('justification' => 'center')); $pdf->ezText("Nombre Completo del Alumno:<u>{$NOMBRE_COMPLETO}</u>", 10); $pdf->ezText("Primer Apellido:<u>{$PRIMER_APELLIDO}</u>", 10); $pdf->ezText("Fecha de Ingreso:<u>{$FECHA}</u>", 10); $pdf->ezText("\n\n\n", 10); $pdf->ezSetDy(-150); ob_end_clean(); $pdf->ezStream();
function saldenliste_mv_pdf($monat, $jahr) { ob_clean(); // ausgabepuffer leeren /* PDF AUSGABE */ //include_once ('pdfclass/class.ezpdf.php'); $pdf = new Cezpdf('a4', 'portrait'); $pdf->selectFont('Helvetica.afm'); $pdf->ezSetCmMargins(4.5, 0, 0, 0); /* Kopfzeile */ $pdf->addJpegFromFile('includes/logos/logo_hv_sw.jpg', 220, 750, 175, 100); $pdf->setLineStyle(0.5); $pdf->addText(86, 743, 6, "BERLUS HAUSVERWALTUNG * Fontanestr. 1 * 14193 Berlin * Inhaber Wolfgang Wehrheim * Telefon: 89784477 * Fax: 89784479 * Email: info@berlus.de"); $pdf->line(42, 750, 550, 750); /* Footer */ $pdf->line(42, 50, 550, 50); $pdf->addText(170, 42, 6, "BERLUS HAUSVERWALTUNG * Fontanestr. 1 * 14193 Berlin * Inhaber Wolfgang Wehrheim"); $pdf->addText(150, 35, 6, "Bankverbindung: Dresdner Bank Berlin * BLZ: 100 800 00 * Konto-Nr.: 05 804 000 00 * Steuernummer: 24/582/61188"); $pdf->addInfo('Title', "Saldenliste {$objekt_name} {$monatname} {$jahr}"); $pdf->addInfo('Author', $_SESSION[username]); $pdf->ezStartPageNumbers(550, 755, 7, '', "Seite {PAGENUM} von {TOTALPAGENUM}"); // echo "Monatsbericht Mieter - Monatsbericht Kostenkonten<br>"; // echo "<h3>Aktuelle Mieterstatistik mit ausgezogene Mieter<br></h3>"; $s = new statistik(); $jahr = $_REQUEST[jahr]; if (empty($jahr)) { $jahr = date("Y"); } else { if (strlen($jahr) < 4) { $jahr = date("Y"); } } // $jahr_monat = date("Y-m"); // $jahr = date("Y"); $monat = $_REQUEST[monat]; if (empty($monat)) { $monat = date("m"); } else { if (strlen($monat) < 2) { $monat = '0' . $monat; } } // $monat = '04'; $jahr_monat = $jahr . '-' . $monat; // $jahr_vormonat = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); // $jahr_vormonat = date("Y-m",$jahr_vormonat); $bg = new berlussimo_global(); $link = "?daten=mietvertrag_raus&mietvertrag_raus=saldenliste"; $bg->objekt_auswahl_liste($link); $bg->monate_jahres_links($jahr, $link); if (isset($_SESSION['objekt_id'])) { $objekt_id = $_SESSION['objekt_id']; $einheit_info = new einheit(); $o = new objekt(); $objekt_name = $o->get_objekt_name($objekt_id); $monatname = monat2name($monat); $pdf->addText(70, 755, 10, "Saldenliste {$objekt_name} {$monatname} {$jahr}"); $pdf->ezSetDy(25); $pdf->ezSetCmMargins(3, 3, 3, 3); $text_options = array(left => 0, justification => 'left'); $pdf->ezText("<b>Einheit</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 100, justification => 'left'); $pdf->ezText("<b>Mieter</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 270, justification => 'left'); $pdf->ezText("<b>Einzug</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 320, justification => 'left'); $pdf->ezText("<b>Auszug</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(right => 0, justification => 'right'); $pdf->ezText("<b>SALDO EUR</b>", 8, $text_options); /* Aktuell bzw. gewünschten Monat berechnen */ $ob = new objekt(); $einheiten_array = $ob->einheiten_objekt_arr($objekt_id); // $einheiten_array = $s->vermietete_monat_jahr($jahr_monat,$objekt_id, ''); /* * echo "<pre>"; * print_r($einheiten_array); * echo "<h1> EINHEITEN: $anzahl_aktuell</h1>"; * $mv_array = $einheit_info->get_mietvertrag_ids('7'); * print_r($mv_array); */ $summe_sv = 0; $summe_mieten = 0; $summe_umlagen = 0; $summe_akt_gsoll = 0; $summe_g_zahlungen = 0; $summe_saldo_neu = 0; $anzahl_aktuell = count($einheiten_array); $miete = new miete(); $zeilen_pro_seite = 60; $aktuelle_zeile = 0; for ($i = 0; $i < $anzahl_aktuell; $i++) { $mv_array = $einheit_info->get_mietvertraege_bis("" . $einheiten_array[$i]['EINHEIT_ID'] . "", $jahr, $monat); $mv_anzahl = count($mv_array); if (is_array($mv_array)) { for ($b = 0; $b < $mv_anzahl; $b++) { $mv_id = $mv_array[$b]['MIETVERTRAG_ID']; $mk = new mietkonto(); $mieter_ids = $mk->get_personen_ids_mietvertrag($mv_id); for ($a = 0; $a < count($mieter_ids); $a++) { $mieter_daten_arr[] = $mk->get_person_infos($mieter_ids[$a][PERSON_MIETVERTRAG_PERSON_ID]); } // $miete->mietkonto_berechnung_monatsgenau($mv_id, $jahr, $monat); $end_saldoo = $miete->saldo_berechnen_monatsgenau($mv_id, $monat, $jahr); $zeile = $zeile + 1; $einheit_kurzname = $einheiten_array[$i]['EINHEIT_KURZNAME']; $vn = RTRIM(LTRIM($mieter_daten_arr['0']['0']['PERSON_VORNAME'])); $nn = RTRIM(LTRIM($mieter_daten_arr['0']['0']['PERSON_NACHNAME'])); $akt_gesamt_soll = $miete->saldo_vormonat_stand + $miete->sollmiete_warm; $this->get_mietvertrag_infos_aktuell($mv_id); $l_tag_akt_monat = letzter_tag_im_monat($monat, $jahr); $l_datum = "{$jahr}-{$monat}-{$l_tag_akt_monat}"; if ($this->mietvertrag_bis == '0000-00-00' or $this->mietvertrag_bis > $l_datum) { $mv_bis = 'aktuell'; } else { $mv_bis = date_mysql2german($this->mietvertrag_bis); } $mv_von = date_mysql2german($this->mietvertrag_von); $end_saldoo = nummer_punkt2komma($end_saldoo); if ($mv_bis == 'aktuell') { // echo "$zeile. $einheit_kurzname $nn $vn SALDO NEU: $end_saldoo <br>"; $pdf->ezSetCmMargins(3, 3, 3, 3); $text_options = array(left => 0, justification => 'left'); $pdf->ezText("{$einheit_kurzname}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 100, justification => 'left'); $pdf->ezText("{$nn} {$vn}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 270, justification => 'left'); $pdf->ezText("{$mv_von}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 320, justification => 'left'); $pdf->ezText("", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(right => 0, justification => 'right'); $pdf->ezText("{$end_saldoo}", 8, $text_options); $aktuelle_zeile++; } else { // echo "<b>$zeile. $einheit_kurzname $nn $vn SALDO NEU: $end_saldoo € BEENDET AM :$mv_bis €</b><br>"; $pdf->ezSetCmMargins(3, 3, 3, 3); $text_options = array(left => 0, justification => 'left'); $pdf->ezText("{$einheit_kurzname}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 100, justification => 'left'); $pdf->ezText("{$nn} {$vn}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 270, justification => 'left'); $pdf->ezText("{$mv_von}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 320, justification => 'left'); $pdf->ezText("{$mv_bis}", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(right => 0, justification => 'right'); $pdf->ezText("{$end_saldoo}", 8, $text_options); $aktuelle_zeile++; } if ($zeilen_pro_seite == $aktuelle_zeile) { $pdf->ezNewPage(); /* Kopfzeile */ $pdf->addJpegFromFile('includes/logos/logo_hv_sw.jpg', 220, 750, 175, 100); $pdf->setLineStyle(0.5); $pdf->addText(86, 743, 6, "BERLUS HAUSVERWALTUNG * Fontanestr. 1 * 14193 Berlin * Inhaber Wolfgang Wehrheim * Telefon: 89784477 * Fax: 89784479 * Email: info@berlus.de"); $pdf->line(42, 750, 550, 750); /* Footer */ $pdf->line(42, 50, 550, 50); $pdf->addText(170, 42, 6, "BERLUS HAUSVERWALTUNG * Fontanestr. 1 * 14193 Berlin * Inhaber Wolfgang Wehrheim"); $pdf->addText(150, 35, 6, "Bankverbindung: Dresdner Bank Berlin * BLZ: 100 800 00 * Konto-Nr.: 05 804 000 00 * Steuernummer: 24/582/61188"); $pdf->addInfo('Title', "Saldenliste {$objekt_name} {$monatname} {$jahr}"); $pdf->addText(70, 755, 10, "Saldenliste {$objekt_name} {$monatname} {$jahr}"); $pdf->ezStartPageNumbers(550, 755, 7, '', "Seite {PAGENUM} von {TOTALPAGENUM}"); /* Überschriftzeile */ $pdf->ezSetDy(-18); $pdf->ezSetCmMargins(3, 3, 3, 3); $text_options = array(left => 0, justification => 'left'); $pdf->ezText("<b>Einheit</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 100, justification => 'left'); $pdf->ezText("<b>Mieter</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 270, justification => 'left'); $pdf->ezText("<b>Einzug</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(left => 320, justification => 'left'); $pdf->ezText("<b>Auszug</b>", 8, $text_options); $pdf->ezSetDy(9); $text_options = array(right => 0, justification => 'right'); $pdf->ezText("<b>SALDO EUR</b>", 8, $text_options); $aktuelle_zeile = 0; } unset($mieter_daten_arr); unset($nn); unset($vn); } // end if is_array mv_ids } } // hinweis_ausgeben("Saldenliste mit Vormieter für $objekt_name wurde erstellt<br>"); ob_clean(); // ausgabepuffer leeren $pdf->ezStopPageNumbers(); $pdf->ezStream(); /* Falls kein Objekt ausgewählt */ } else { echo "Objekt auswählen"; } }
// "WHERE prescription_id = '" . $row['prescription_id'] . // "' AND quantity > 0"); // $label_text .= ($refills_row['count'] - 1) . ' of ' . $row['refills'] . ' refills'; // } // We originally went for PDF output on the theory that output formatting // would be more controlled. However the clumisness of invoking a PDF // viewer from the browser becomes intolerable in a POS environment, and // printing HTML is much faster and easier if the browser's page setup is // configured properly. // if (false) { // if PDF output is desired $pdf = new Cezpdf($dconfig['paper_size']); $pdf->ezSetMargins($dconfig['top'], $dconfig['bottom'], $dconfig['left'], $dconfig['right']); $pdf->selectFont('Helvetica'); $pdf->ezSetDy(20); // dunno why we have to do this... $pdf->ezText($header_text, 7, array('justification' => 'center')); if (!empty($dconfig['logo'])) { $pdf->ezSetDy(-5); // add space (move down) before the image $pdf->ezImage($dconfig['logo'], 0, 180, '', 'left'); $pdf->ezSetDy(8); // reduce space (move up) after the image } $pdf->ezText($label_text, 9, array('justification' => 'center')); $pdf->ezStream(); } else { // HTML output ?> <html>