resmensualview Class Reference

#include <resmensualview.h>

Inheritance diagram for resmensualview:

resmensualdlg

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

empresaempresaactual
postgresiface2conexionbase

Detailed Description

*
Author:
Tomeu Borrás Riera

Definition at line 39 of file resmensualview.h.


Constructor & Destructor Documentation

resmensualview::resmensualview ( empresa ,
QWidget parent = 0,
const char *  name = 0 
)

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 (  ) 

Definition at line 55 of file resmensualview.cpp.

00055                                {
00056 }


Member Function Documentation

int resmensualview::inicializa (  ) 

Definition at line 58 of file resmensualview.cpp.

Referenced by myplugin::SegCuentas().

00058                                {
00059 //    presentar();
00060 //    pie->show();
00061     return(0);
00062 }// end 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


Field Documentation

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().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:02:14 2007 for BulmaGes by  doxygen 1.5.1