PHP - sumarizar e imprimir un total por Edificio en un reporte PDF

   
Vista:

sumarizar e imprimir un total por Edificio en un reporte PDF

Publicado por zendi (824 intervenciones) el 04/03/2014 01:13:53
Que tal a todos, estoy desarrollando un reporte y en él debo sumar una cantidad por nro de apartamento para luego imprimir en la variable $TotalEdificio pero no esta funcionando, claro el asunto es que si lo hace pero en el ultimo recibo, ahora en la variable $TotalApto ya esta resuelta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/*require_once("claseelim.php");
$mile = new Ranimile();
$dia = '2013-09-30 00:00:00';
if (isset($dia))
{
   $datos=$mile->rarrob($dia);
}
*/?>
<?php
$conexion = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
require('WriteTag.php');
include("../tesis1/funciones.php");

$recibos = "SELECT * FROM vrecibo";

class PDF extends PDF_WriteTag
{
//Cabecera de página
function Header()
{
     $this->SetFont('Arial','B',8);
     $this->Cell(90, 5, 'Residencias Valle Alto', 0, 0, 'L');
     $this->Ln(6);
     $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 1, 'L');
//150 = Indica el margen derecho
//    ('./imagenes/logo.JPG',180=Margen derecho,5= Margen Izquierdo,30,25);
//    $this->Image('./img/edificio.JPG',180,5,30,25);
    //Select Arial bold 15
    $this->SetFont('Arial','B',15);

    $this->Ln(25);

    //Move to the right
    $this->Cell(80);
    //Framed title
    $this->Cell(30,10,'Recibo de Cobro',0,0,'C');
    $this->SetFont('Arial','B',8);
//    $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 0, 'R');
    //Line break
    $this->Ln(40);
    $this->SetFont('Arial','B',8);
	
}

//Pie de página
function Footer()
{
    //Posición: a 1,5 cm del final
    $this->SetY(-12);
    //Arial italic 8
    $this->SetFont('Arial','I',8);
    //Número de página
    $this->Cell(0,10,'Pag '.$this->PageNo(),0,0,'C');
}

}//--Fin de la Clase

//Creación del objeto de la clase heredada
$pdf=new PDF('P','mm','Letter');
//$pdf->Ln(20);
$dia6 = '2013-09-30 00:00:00';
$dia5 = $dia6;
$dia4 = $dia5;
$dia3 = $dia4;
$dia2 = $dia3;
$dia1 = $dia2;
$nroapto = '';
$tdeuda = $tot = $total = $totalmonto = 0;
//////////////////

//if (time() >= strtotime($dia1)){
////    unlink("sumreg.php");
////    unlink("menu.html.php");
//    unlink("prueba.html");
//  }
alternar('2012-12-01 00:00:00');

$seleccionados = @pg_query($conexion,$recibos);
while($select2 = @pg_fetch_array($seleccionados)):
            $nombres   = $select2['nombres'];
            $apellidos = $select2['apellidos'];
			$monto     = $select2['monto'];
			$alicuota  = $select2['alicuota'];
			$deudag    = $select2['deudag'];
	        $tdeuda2 +=$deudag;

            if ($select2['nroapto']!=$nroapto)
			  {
          	    $pdf->Ln(3);
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(3);
       	        $pdf->Cell(45,1,"Total Apartamento--->",0,0);
    			$pdf->Cell(90,4,number_format($TotalApto,2,',','.'),0,1,'R');

   			    $TotalApto = 0;
				$pdf->AddPage();
//    	        $pdf->Cell(20,4,"Total--*->",0,0,'R');
//                $pdf->Cell(26,4,number_format($totaledf,2,'.',','),0,1);
	            $totaledf = $tdeuda2=0;
                $pdf->SetFont('Arial','B',10);
				$pdf->Cell(20,4,'Cédula:');
				$pdf->Cell(26,4,$select2['cedula'],0,1,'R');
				$pdf->Cell(20,4,'Nombres:',0);
                $pdf->Cell(26,4,$nombres,0,1,'R');
				$pdf->Cell(20,4,'Apellidos:',0);
                $pdf->Cell(26,4,$apellidos,0,1,'R');
				$pdf->Cell(20,4,'Nro Apto:',0);
                $pdf->Cell(26,4,$select2['nroapto'],0,1,'R');
//////////totaliza por nro de apartamento
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(8);
                $pdf->Cell(45,4,'Gasto',0,'C');
                $pdf->Cell(90,4,'Monto',0,1,'R');
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(6);
				
              }
                     $monto  = $select2['monto'];
        	         $TotalEdificio  +=$monto;
					 $TotalApto +=$monto;
  	  		    $nroapto = $select2['nroapto'];
                $pdf->SetFont('Arial','I',8);
                $pdf->Cell(45,4,$select2['descripcion'],0,0,'L');
    			$pdf->Cell(90,4,number_format($monto,2,',','.'),0,1,'R');
          	    $pdf->Ln(2);
endwhile;
/////////////este es el total pero en el ultimo recibo
       	        $pdf->Cell(45,1,"Total Apartamento--->",0,0);
    			$pdf->Cell(100,4,number_format($TotalApto,2,',','.'),0,1,'R');
       	        $pdf->Cell(45,1,"Total Edificio--->",0,0);
                $pdf->Cell(100,4,number_format($TotalEdificio,2,',','.'),0,1,'C');
			    $TotalEdificio = 0;

$pdf->Output();
$pdf->Close();
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

sumarizar e imprimir un total por Edificio en un reporte PDF

Publicado por zendi (824 intervenciones) el 04/03/2014 01:35:24
aqui envio la impresion del reporte donde aparecen el total por Apartamento y el total por Edificio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sumarizar e imprimir un total por Edificio en un reporte PDF(resuelto)

Publicado por zendi (824 intervenciones) el 04/03/2014 22:34:16
No respondan todos a la vez que me confundiria. Todo es broma. Yendo al grano que es el que nace; Bueno ya resolvi el problemilla,
envío el codigo, tal vez se pueda utilizar esta logica en algun codigo que se necesite:
Nota: Y por favor revisen y me informan. Saludos.
en negrita esta la solucion.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
/*require_once("claseelim.php");
$mile = new Ranimile();
$dia = '2013-09-30 00:00:00';
if (isset($dia))
{
   $datos=$mile->rarrob($dia);
}
*/?>
<?php
$conexion = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
require('WriteTag.php');
include("../tesis1/funciones.php");

$recibos = "SELECT * FROM vrecibo1";
$totEdifi ="SELECT SUM(vrecibo1.monto) AS totaledificio FROM vrecibo1";
class PDF extends PDF_WriteTag
{
//Cabecera de página
function Header()
{
     $this->SetFont('Arial','B',8);
     $this->Cell(90, 5, 'Residencias Valle Alto', 0, 0, 'L');
     $this->Ln(6);
     $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 1, 'L');
//150 = Indica el margen derecho
//    ('./imagenes/logo.JPG',180=Margen derecho,5= Margen Izquierdo,30,25);
//    $this->Image('./img/edificio.JPG',180,5,30,25);
    //Select Arial bold 15
    $this->SetFont('Arial','B',15);

    $this->Ln(25);

    //Move to the right
    $this->Cell(80);
    //Framed title
    $this->Cell(30,10,'Recibo de Cobro',0,0,'C');
    $this->SetFont('Arial','B',8);
//    $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 0, 'R');
    //Line break
    $this->Ln(40);
    $this->SetFont('Arial','B',8);
	
}

//Pie de página
function Footer()
{
    //Posición: a 1,5 cm del final
    $this->SetY(-12);
    //Arial italic 8
    $this->SetFont('Arial','I',8);
    //Número de página
    $this->Cell(0,10,'Pag '.$this->PageNo(),0,0,'C');
}

}//--Fin de la Clase

//Creación del objeto de la clase heredada
$pdf=new PDF('P','mm','Letter');
//$pdf->Ln(20);
$dia6 = '2013-09-30 00:00:00';
$dia5 = $dia6;
$dia4 = $dia5;
$dia3 = $dia4;
$dia2 = $dia3;
$dia1 = $dia2;
$nroapto = '';
$tdeuda = $tot = $total = $totalmonto = 0;
//////////////////

//if (time() >= strtotime($dia1)){
////    unlink("sumreg.php");
////    unlink("menu.html.php");
//    unlink("prueba.html");
//  }
alternar('2012-12-01 00:00:00');

$seleccionados = @pg_query($conexion,$recibos);
while($select2 = @pg_fetch_array($seleccionados)):
            $nombres   = $select2['nombres'];
            $apellidos = $select2['apellidos'];
			$monto     = $select2['monto'];
			$alicuota  = $select2['alicuota'];
			$deudag    = $select2['deudag'];
	        $tdeuda2 +=$deudag;
            if ($select2['nroapto']!=$nroapto)
			  {
          	    $pdf->Ln(3);
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(3);
       	        $pdf->Cell(45,1,"Total Apartamento--->",0,0);
    			$pdf->Cell(90,4,number_format($TotalApto,2,',','.'),0,1,'R');
   			    $TotalApto = 0;
				$pdf->AddPage();
//    	        $pdf->Cell(20,4,"Total--*->",0,0,'R');
//                $pdf->Cell(26,4,number_format($totaledf,2,'.',','),0,1);
	            $totaledf = $tdeuda2=0;
                $pdf->SetFont('Arial','B',10);
				$pdf->Cell(20,4,'Cédula:');
				$pdf->Cell(26,4,$select2['cedula'],0,1,'R');
				$pdf->Cell(20,4,'Nombres:',0);
                $pdf->Cell(26,4,$nombres,0,1,'R');
				$pdf->Cell(20,4,'Apellidos:',0);
                $pdf->Cell(26,4,$apellidos,0,1,'R');
				$pdf->Cell(20,4,'Nro Apto:',0);
                $pdf->Cell(26,4,$select2['nroapto'],0,1,'R');
                   $tot = @pg_query($conexion,$totEdifi);
                   while($select3 = @pg_fetch_array($tot)):
				         $TotalEdificio = $select3['totaledificio'];
            	         $pdf->Cell(45,1,"Total Edificio--->",0,0);
                         $pdf->Cell(90,4,number_format($TotalEdificio,2,',','.'),0,1,'C');
                   endwhile;
//////////totaliza por nro de apartamento
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(8);
                $pdf->Cell(45,4,'Gasto',0,'C');
                $pdf->Cell(90,4,'Monto',0,1,'R');
             	$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
          	    $pdf->Ln(6);
              }
                     $monto  = $select2['monto'];
        	         $TotalEdificio  +=$monto;
					 $TotalApto +=$monto;
  	  		    $nroapto = $select2['nroapto'];
                $pdf->SetFont('Arial','I',8);
                $pdf->Cell(45,4,$select2['descripcion'],0,0,'L');
    			$pdf->Cell(90,4,number_format($monto,2,',','.'),0,1,'R');
          	    $pdf->Ln(2);
endwhile;

       	        $pdf->Cell(45,1,"Total Apartamento--->",0,0);
    			$pdf->Cell(90,4,number_format($TotalApto,2,',','.'),0,1,'R');

$pdf->Output();
$pdf->Close();
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

sumarizar e imprimir un total por Edificio en un reporte PDF(resuelto)

Publicado por xve (5519 intervenciones) el 05/03/2014 09:54:33
Hola Zendi, gracias por comentarlo y compartirlo... estuve viendo tu código pero no me aclaro mucho, por eso no supe por donde ayudarte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar