falla en reporte pdf
Publicado por zendi (1058 intervenciones) el 01/10/2022 22:49:25
Hola a todos, he desarrollado un código para un reporte en pdf para una aplicación de condominio en el cual estoy aplicando la alícuota al total de gastos, el código si hace el calculo pero no lo esta dando de manera correcta ya que le aplica el resultado al registro anterior.
remarqué el primer if donde pregunto cuando el nroapto sea diferente, pero no lo esta haciendo, es como si no reconociera cuando el registro sea distinto. Puede alguien darme una idea por favor
este es el código:
remarqué el primer if donde pregunto cuando el nroapto sea diferente, pero no lo esta haciendo, es como si no reconociera cuando el registro sea distinto. Puede alguien darme una idea por favor
este es el código:
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$conexion = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=Wrap*/1808");
require('WriteTag.php');
$nroedif = $_POST['nroedif'];
$recibos = "SELECT * FROM vrecibos WHERE nroedif = '$nroedif' ORDER BY nroapto";
// $totEdifi = "SELECT vrecibo3.monto FROM vrecibo3";
//$reserva = "SELECT SUM(vreserva.monto) AS totalreserva FROM vreserva";
class PDF extends PDF_WriteTag
{
//Cabecera de página
function Header()
{
$this->SetFont('Arial','B',8);
$this->Cell(90, 5, 'Residencias XXXXX', 0, 0, 'L');
$this->Ln(6);
$this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 1, 'L');
//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 Pago',0,0,'C');
$this->SetFont('Arial','B',8);
// $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 0, 'R');
//Line break
$this->Ln(8);
$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))
{
$edificio = $select2['nombre'];
$nombres = $select2['nombres'];
$apellidos = $select2['apellidos'];
$monto = $select2['total'];
$alicuota = $select2['alicuota'];
$descr = $select2['descripcion'];
$tipogasto=$select2['cod_tipo_gasto'];
$contrasena=$select2['contrasena'];
if ($select2['nroapto']!=$nroapto)
{
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(3);
$pdf->Cell(45,1,"Total Apartamento--->",0,0);
$pdf->Cell(49,4,number_format($TotalApto1,2,',','.'),0,1,'C');
$pdf->Cell(45,1,"Apartado Reserva 10%--->",0,0);
$pdf->Cell(49,4,number_format($calreser,2,',','.'),0,1,'C');
$resultadog = $TotalApto1 * $alicuota;
$pdf->Cell(45,1,"Total Gastos Comunes--->",0,0);
$pdf->Cell(29,4,number_format($resultadog,2,',','.'),0,1,'R');
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$resultadog = $TotalApto = 0;
$pdf->AddPage();
$pdf->SetFont('Arial','B',6);
$pdf->Cell(20,4,'Nombres:',0);
$pdf->Cell(26,4,$nombres,0,1,'L');
$pdf->Cell(20,4,'Apellidos:',0);
$pdf->Cell(26,4,$apellidos,0,1,'L');
$pdf->Cell(20,4,'Nro Apto:',0);
$pdf->Cell(26,4,$select2['nroapto'],0,1,'L');
$pdf->Cell(20,4,'Alicuota:',0);
$pdf->Cell(26,4,$alicuota,0,1,'L');
///////rutina que permite sumar para obtener la deuda por Nro de Apartamento
$pdf->Cell(20,4,'Deuda:',0);
$pdf->Cell(26,4,number_format($monto,2,',','.'),0,1,'L');
$pdf->Cell(20,4,'Clave:',0);
$pdf->Cell(26,4,$contrasena,0,1,'L');
$pdf->Cell(20,4,'Edificio:',0);
$pdf->Cell(26,4,$edificio,0,1,'L');
//////////totaliza por nro de Apartamento y del Edificio
}
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(3);
$pdf->Cell(30,4,'Gasto',0,'C');
$pdf->Ln(6);
$monto = $select2['monto'];
$TotalEdificio += $monto;
$TotalApto +=$monto;
$TotalApto1 = round($TotalApto);
$nroapto = $select2['nroapto'];
$pdf->SetFont('Arial','I',6);
$pdf->Cell(45,4,$descr,0,0,'L');
if ($tipogasto == 1)
{
$pdf->Cell(10,4,number_format($monto,2,',','.'),0,0,'R');
}
else
{
$monto1 = $select2['monto'];
$pdf->Cell(60,4,number_format($monto1,2,',','.'),0,1,'R');
}
}
$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(49,4,number_format($TotalApto1,2,',','.'),0,1,'C');
$calreser = $TotalApto1 * .10;
$pdf->Cell(45,1,"Apartado Reserva 10%--->",0,0);
$pdf->Cell(49,4,number_format($calreser,2,',','.'),0,1,'C');
$resultadog = $TotalApto1 * $alicuota;
$pdf->Cell(40,1,"Total Gastos Comunes--->",0,0);
$pdf->Cell(34,4,number_format($resultadog,2,',','.'),0,1,'R');
$TotAlicuota3 + 0;
$pdf->Ln(3);
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(2);
// $pdf->Cell(50,1,"Saldo Anterior",0,0,'R');
// $pdf->Cell(50,1,"Cargo del Mes",0,1,'R');
$pdf->Output();
$pdf->Close();
?>
Valora esta pregunta


0