#include <resmensualview.h>
Inheritance diagram for resmensualview:

Public Slots | |
| virtual void | accept () |
| virtual void | buscacodigocta () |
| virtual void | buscacodigocta1 () |
| virtual void | buscacodigocta2 () |
| virtual void | buscampatrimonial1 () |
| virtual void | buscampatrimonial2 () |
| virtual void | buscampatrimonial3 () |
Public Member Functions | |
| int | inicializa () |
| resmensualview (empresa *, QWidget *parent=0, const char *name=0) | |
| ~resmensualview () | |
| void | presentar () |
| void | presentarpie () |
| void | generargrafico (float *, char **) |
Data Fields | |
| QString | idmpatrimonial1 |
| QString | idmpatrimonial2 |
| QString | idmpatrimonial3 |
Private Attributes | |
| empresa * | empresaactual |
| postgresiface2 * | conexionbase |
Definition at line 39 of file resmensualview.h.
Definition at line 45 of file resmensualview.cpp.
References conexionbase, empresaactual, idmpatrimonial1, idmpatrimonial2, and idmpatrimonial3.
00045 : resmensualdlg(parent,name) { 00046 00047 empresaactual = emp; 00048 conexionbase = emp->bdempresa(); 00049 // Inicializamos los valores de las masas patrimoniales. 00050 idmpatrimonial1 = ""; 00051 idmpatrimonial2 = ""; 00052 idmpatrimonial3 = ""; 00053 00054 }
| resmensualview::~resmensualview | ( | ) |
| int resmensualview::inicializa | ( | ) |
| void resmensualview::presentar | ( | ) |
Definition at line 69 of file resmensualview.cpp.
References postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), conexionbase, cursor2::eof(), idmpatrimonial1, idmpatrimonial2, idmpatrimonial3, and cursor2::valor().
Referenced by accept().
00069 { 00070 std::list<double> milistad[12]; 00071 // std::list<double> milistah[12]; 00072 std::list<double> milistas[12]; 00073 char *mes[]={"ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dec"}; 00074 00075 00076 QString codigo[3]; 00077 codigo[0]=cod1->text(); 00078 codigo[1]=cod2->text(); 00079 codigo[2]=cod3->text(); 00080 QString codigomasa[3]; 00081 codigomasa[0]= idmpatrimonial1.ascii(); 00082 codigomasa[1]= idmpatrimonial2.ascii(); 00083 codigomasa[2]= idmpatrimonial3.ascii(); 00084 00085 string ano = "2004"; 00086 00087 for (int j=0; j<3; j ++) { 00088 QDate fecha(2004,1,1); 00089 QDate fecha1(2004,1,31); 00090 float saldoant=0; 00091 float movant=0; 00092 for(int i=0; i<12;i++) { 00093 // Buscamos los datos de enero. 00094 QString finicial = fecha.toString("dd/MM/yyyy"); 00095 QString ffinal = fecha1.toString("dd/MM/yyyy"); 00096 QString query; 00097 string cod = codigo[j].ascii(); 00098 string cod1 = codigomasa[j].ascii(); 00099 query=""; 00100 if (cod != "") { 00101 query.sprintf( "SELECT debetotal(id_cuenta('%s'),'%s','%s') as tdebe, habertotal(id_cuenta('%s'),'%s','%s') as thaber",codigo[j].ascii(),(char *)finicial.ascii(),(char *)ffinal.ascii(), codigo[j].ascii(),(char *)finicial.ascii(),(char *)ffinal.ascii()); 00102 // } else if (cod1 != "" ) { 00103 } else if (cod1 != "") { 00104 query.sprintf( "SELECT debempatrimonial(%s,'%s','%s') as tdebe, habermpatrimonial(%s,'%s','%s') as thaber",codigomasa[j].ascii(),(char *)finicial.ascii(),(char *)ffinal.ascii(), codigomasa[j].ascii(),(char *)finicial.ascii(),(char *)ffinal.ascii()); 00105 }// end if 00106 if (query != "") { 00107 fprintf(stderr,"%s\n",query.ascii()); 00108 conexionbase->begin(); 00109 cursor2 *curs = conexionbase->cargacursor(query,"midursor"); 00110 conexionbase->commit(); 00111 if (!curs->eof()) { 00112 milistad[i].push_back(movant + atof(curs->valor("tdebe").ascii()) +atof(curs->valor("thaber").ascii())); 00113 milistas[i].push_back(saldoant + atof(curs->valor("tdebe").ascii()) - atof(curs->valor("thaber").ascii())); 00114 saldoant = saldoant + atof(curs->valor("tdebe").ascii()) - atof(curs->valor("thaber").ascii()); 00115 movant = movant + atof(curs->valor("tdebe").ascii()) + atof(curs->valor("thaber").ascii()); 00116 fprintf(stderr,"metido en el gráfico%s\n", curs->valor("tdebe").ascii()); 00117 } else { 00118 milistad[i].push_back(movant); 00119 // milistad[i].push_back(0); 00120 milistas[i].push_back(saldoant); 00121 }// end if 00122 delete curs; 00123 fecha = fecha.addMonths(1); 00124 fecha1 = fecha1.addMonths(1); 00125 }// end if 00126 }// end for 00127 }// end for 00128 #ifdef ESTADISTICAS 00129 line->clear(); 00130 line->showGrid(12); 00131 line->setTitle(tr("Progresion de saldos")); 00132 line->setSamples(12); 00133 line1->clear(); 00134 line1->showGrid(12); 00135 line1->setTitle(tr("Movimientos menusales")); 00136 line1->setSamples(12); 00137 for (int i=0; i<12;i++) { 00138 line->addValues(milistas[i],mes[i]); 00139 line1->addValues(milistad[i],mes[i]); 00140 }// end for 00141 #endif 00142 }// end presentar
| void resmensualview::presentarpie | ( | ) |
Definition at line 204 of file resmensualview.cpp.
References postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), conexionbase, cursor2::eof(), generargrafico(), toPieChart::setValues(), cursor2::siguienteregistro(), and cursor2::valor().
Referenced by accept().
00204 { 00205 #ifdef GDCHART 00206 char *label[1000]; 00207 float p[1000]; 00208 int j=0; 00209 #endif 00210 #ifdef DISLIN 00211 char *label[1000]; 00212 float p[1000]; 00213 int j=0; 00214 #endif 00215 char query[2900]; 00216 cursor2 *cursorapt; 00217 00218 QString finicial = "01/01/2003"; 00219 QString ffinal = "31/12/2003"; 00220 QString cinicial = "10"; 00221 QString cfinal = "99"; 00222 QString codigo[3]; 00223 codigo[0]=cod1->text(); 00224 codigo[1]=cod2->text(); 00225 codigo[2]=cod3->text(); 00226 00227 #ifdef ESTADISTICAS 00228 toPieChart *pies[3]; 00229 pies[0] = pie; 00230 pies[1] = pie1; 00231 pies[2] = pie2; 00232 #endif 00233 00234 for (int i=0; i<3; i++) { 00235 conexionbase->begin(); 00236 sprintf(query,"SELECT sum(debe) as tdebe, sum(haber) as thaber, contrapartida FROM apunte WHERE apunte.idcuenta=id_cuenta('%s') GROUP BY contrapartida", codigo[i].ascii()); 00237 cursorapt = conexionbase->cargacursor(query,"mycursor"); 00238 conexionbase->commit(); 00239 // Calculamos cuantos registros van a crearse y dimensionamos la tabla. 00240 std::list<double> valores; 00241 std::list<QString> labels; 00242 00243 while (!cursorapt->eof()) { 00244 QString nomcuenta; 00245 // Acumulamos los totales para al final poder escribirlos 00246 sprintf(query,"SELECT * FROM cuenta WHERE idcuenta = %s",cursorapt->valor("contrapartida").ascii()); 00247 conexionbase->begin(); 00248 cursor2 *micurs= conexionbase->cargacursor(query,"mioldcursor"); 00249 if (!micurs->eof()) { 00250 nomcuenta = micurs->valor("codigo") +" "+ micurs->valor("descripcion"); 00251 }// end if 00252 delete micurs; 00253 00254 float valor = atof(cursorapt->valor("tdebe").ascii()) + atof(cursorapt->valor("thaber").ascii()); 00255 if (valor > 0) { 00256 // pie->addValue(valor,nomcuenta.substr(0,25).c_str()); 00257 valores.push_back(valor); 00258 labels.push_back(nomcuenta.mid(0,25).ascii()); 00259 #ifdef GDCHART 00260 label[j]=new char[30]; 00261 strcpy(label[j], cursorapt->valor("descripcion").mid(0,15).ascii()); 00262 p[j]=valor; 00263 fprintf(stderr,"%s %d", label[j], p[j]); 00264 #endif 00265 00266 } else { 00267 // pie->addValue(-valor,nomcuenta.substr(0,25).c_str()); 00268 valores.push_back(-valor); 00269 labels.push_back(nomcuenta.mid(0,25).ascii()); 00270 #ifdef GDCHART 00271 label[j]=new char[30]; 00272 strcpy(label[j], cursorapt->valor("descripcion").mid(0,15).ascii()); 00273 p[j]=-valor; 00274 fprintf(stderr,"%s %d", label[j], p[j]); 00275 #endif 00276 00277 }// end if 00278 00279 // Calculamos la siguiente cuenta registro y finalizamos el bucle 00280 cursorapt->siguienteregistro(); 00281 #ifdef GDCHART 00282 j++; 00283 #endif 00284 }// end while 00285 00286 // Vaciamos el cursor de la base de datos. 00287 delete cursorapt; 00288 #ifdef ESTADISTICAS 00289 pies[i]->setValues(valores,labels); 00290 #endif 00291 #ifdef GDCHART 00292 generargrafico(p, label); 00293 fprintf(stderr,"Llamamos a sacapie\n"); 00294 fprintf(stderr,"Hemos terminado sacapie \n"); 00295 QPixmap *imag= new QPixmap("/tmp/graf.gif"); 00296 fprintf(stderr,"Y ahora hemos creado la imagen\n"); 00297 imgsaldos->setPixmap(*imag); 00298 fprintf(stderr,"Y ahora la hemos mostrado\n"); 00299 //Destruimos la memoria utilizada 00300 for(int i=0;i<j;i++) delete label[i]; 00301 delete imag; 00302 #endif 00303 00304 #ifdef DISLIN 00305 generargrafico(p, label); 00306 #endif 00307 }// end for 00308 00309 00310 }// end presentarpie
| void resmensualview::generargrafico | ( | float * | , | |
| char ** | ||||
| ) |
Referenced by presentarpie().
| void resmensualview::accept | ( | ) | [virtual, slot] |
Definition at line 64 of file resmensualview.cpp.
References presentar(), and presentarpie().
00064 { 00065 presentar(); 00066 presentarpie(); 00067 }// end accept
| void resmensualview::buscacodigocta | ( | ) | [virtual, slot] |
Definition at line 144 of file resmensualview.cpp.
References listcuentasview1::codcuenta(), empresaactual, and listcuentasview1::inicializa().
00144 { 00145 listcuentasview1 *listcuentas = new listcuentasview1(empresaactual); 00146 listcuentas->setModoLista(); 00147 listcuentas->inicializa(); 00148 listcuentas->exec(); 00149 cod1->setText(listcuentas->codcuenta()); 00150 delete listcuentas; 00151 }// end buscacodigocta
| void resmensualview::buscacodigocta1 | ( | ) | [virtual, slot] |
Definition at line 154 of file resmensualview.cpp.
References listcuentasview1::codcuenta(), empresaactual, and listcuentasview1::inicializa().
00154 { 00155 listcuentasview1 *listcuentas = new listcuentasview1(empresaactual); 00156 listcuentas->setModoLista(); 00157 listcuentas->inicializa(); 00158 listcuentas->exec(); 00159 cod2->setText(listcuentas->codcuenta()); 00160 delete listcuentas;}// end buscacodigocta
| void resmensualview::buscacodigocta2 | ( | ) | [virtual, slot] |
Definition at line 162 of file resmensualview.cpp.
References listcuentasview1::codcuenta(), empresaactual, and listcuentasview1::inicializa().
00162 { 00163 listcuentasview1 *listcuentas = new listcuentasview1(empresaactual); 00164 listcuentas->setModoLista(); 00165 listcuentas->inicializa(); 00166 listcuentas->exec(); 00167 cod3->setText(listcuentas->codcuenta()); 00168 delete listcuentas; 00169 }// end buscacodigocta
| void resmensualview::buscampatrimonial1 | ( | ) | [virtual, slot] |
Definition at line 171 of file resmensualview.cpp.
References conexionbase, mpatrimonialesview::getidmasa(), mpatrimonialesview::getnommasa(), idmpatrimonial1, mpatrimonialesview::inicializa(), and mpatrimonialesview::setmodoselector().
00171 { 00172 mpatrimonialesview * nuevae = new mpatrimonialesview(0,"mpatrimoniales",true); 00173 nuevae->inicializa(conexionbase); 00174 nuevae->setmodoselector(); 00175 nuevae->exec(); 00176 mpatrimonial1->setText((char *) (nuevae->getnommasa()).ascii()); 00177 idmpatrimonial1 = nuevae->getidmasa(); 00178 delete nuevae; 00179 00180 }// end buscampatrimonial1
| void resmensualview::buscampatrimonial2 | ( | ) | [virtual, slot] |
Definition at line 182 of file resmensualview.cpp.
References conexionbase, mpatrimonialesview::getidmasa(), mpatrimonialesview::getnommasa(), idmpatrimonial2, mpatrimonialesview::inicializa(), and mpatrimonialesview::setmodoselector().
00182 { 00183 mpatrimonialesview * nuevae = new mpatrimonialesview(0,"mpatrimoniales",true); 00184 nuevae->inicializa(conexionbase); 00185 nuevae->setmodoselector(); 00186 nuevae->exec(); 00187 mpatrimonial2->setText((char *) (nuevae->getnommasa()).ascii()); 00188 idmpatrimonial2 = nuevae->getidmasa(); 00189 delete nuevae; 00190 00191 }// end buscampatrimonial1
| void resmensualview::buscampatrimonial3 | ( | ) | [virtual, slot] |
Definition at line 193 of file resmensualview.cpp.
References conexionbase, mpatrimonialesview::getidmasa(), mpatrimonialesview::getnommasa(), idmpatrimonial3, mpatrimonialesview::inicializa(), and mpatrimonialesview::setmodoselector().
00193 { 00194 mpatrimonialesview * nuevae = new mpatrimonialesview(0,"mpatrimoniales",true); 00195 nuevae->inicializa(conexionbase); 00196 nuevae->setmodoselector(); 00197 nuevae->exec(); 00198 mpatrimonial3->setText((char *) (nuevae->getnommasa()).ascii()); 00199 idmpatrimonial3 = nuevae->getidmasa(); 00200 delete nuevae; 00201 00202 }// end buscampatrimonial1
empresa* resmensualview::empresaactual [private] |
Definition at line 42 of file resmensualview.h.
Referenced by buscacodigocta(), buscacodigocta1(), buscacodigocta2(), and resmensualview().
postgresiface2* resmensualview::conexionbase [private] |
Definition at line 43 of file resmensualview.h.
Referenced by buscampatrimonial1(), buscampatrimonial2(), buscampatrimonial3(), presentar(), presentarpie(), and resmensualview().
| QString resmensualview::idmpatrimonial1 |
Definition at line 45 of file resmensualview.h.
Referenced by buscampatrimonial1(), presentar(), and resmensualview().
| QString resmensualview::idmpatrimonial2 |
Definition at line 45 of file resmensualview.h.
Referenced by buscampatrimonial2(), presentar(), and resmensualview().
| QString resmensualview::idmpatrimonial3 |
Definition at line 45 of file resmensualview.h.
Referenced by buscampatrimonial3(), presentar(), and resmensualview().
1.5.1