ContratoView Class Reference

Muestra y administra la ventana de una contrato a cliente. More...

#include <contratoview.h>

Inheritance diagram for ContratoView:

Contrato Ui_ContratoBase FichaBf Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void on_subform2_itemDoubleClicked (QTableWidgetItem *)
virtual void on_m_cliente_valueChanged (QString id)
virtual void on_mui_facturar_clicked ()

Public Member Functions

 ContratoView (Company *, QWidget *parent=0)
 ~ContratoView ()
void inicializar ()
void pintaidcliente (QString id)
void pintafincontrato (QString id)
void pintaffincontrato (QString id)
void pintadescontrato (QString id)
void pintarefcontrato (QString id)
void pintanomcontrato (QString id)
void pintaperiodicidadcontrato (QString id)
void pintaloccontrato (QString id)
virtual int guardar ()
 Estos metodos deben existir para poder trabajar con la clase Ficha.
virtual int cargar (QString id)
virtual int borrar ()
 : Deberia contener un bloque try{} catch{}

Detailed Description

Muestra y administra la ventana de una contrato a cliente.

Definition at line 59 of file contratoview.h.


Constructor & Destructor Documentation

ContratoView::ContratoView ( Company comp,
QWidget parent = 0 
)

Parameters:
comp 
parent 
Returns:

Disparamos los plugins.

Inicializamos FichaBf

Definition at line 46 of file contratoview.cpp.

References _depura(), FALSE, g_plugins, Plugins::lanza(), mensajeInfo(), Ficha::meteWindow(), Ui_ContratoBase::mui_idcliente, Ui_ContratoBase::mui_lineas, Ui_ContratoBase::mui_refcontrato, PEmpresaBase::setEmpresaBase(), SubForm2Bf::setEmpresaBase(), FichaBf::setListaLineas(), Ui_ContratoBase::setupUi(), and Ui_ContratoBase::subform2.

00047         : Contrato(comp, parent) {
00048     _depura("ContratoView::ContratoView", 0);
00049     setAttribute(Qt::WA_DeleteOnClose);
00050     try {
00051         setupUi(this);
00052 
00054         int res = g_plugins->lanza("ContratoView_ContratoView", this);
00055         if (res != 0)
00056             return;
00057 
00058         subform2->setEmpresaBase(comp);
00059         mui_lineas->setEmpresaBase(comp);
00060         mui_idcliente->setEmpresaBase(comp);
00061         mui_refcontrato->setEmpresaBase(comp);
00062 
00064         setListaLineas(mui_lineas);
00065         meteWindow(windowTitle(), this, FALSE);
00066     } catch (...) {
00067         mensajeInfo(tr("Error al crear la contrato"));
00068     }
00069     _depura("END ContratoView::ContratoView");
00070 }

ContratoView::~ContratoView (  ) 

Definition at line 78 of file contratoview.cpp.

References _depura().

00078                             {
00079     _depura("ContratoView::~ContratoView", 0);
00080     _depura("END ContratoView::~ContratoView", 0);
00081 }


Member Function Documentation

void ContratoView::inicializar (  ) 

Definition at line 88 of file contratoview.cpp.

References _depura(), dialogChanges::dialogChanges_cargaInicial(), SubForm3::inicializar(), and Ui_ContratoBase::subform2.

00088                                {
00089     _depura("ContratoView::inicializar", 0);
00090     subform2->inicializar();
00091     dialogChanges_cargaInicial();
00092     _depura("END ContratoView::inicializar", 0);
00093 }

void ContratoView::pintaidcliente ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 169 of file contratoview.cpp.

References _depura(), Ui_ContratoBase::mui_idcliente, and BusquedaCliente::setidcliente().

00169                                             {
00170     _depura("ContratoView::pintaidcliente", 0);
00171     mui_idcliente->setidcliente(id);
00172     _depura("END ContratoView::pintaidcliente", 0);
00173 }

void ContratoView::pintafincontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 180 of file contratoview.cpp.

References _depura(), Ui_ContratoBase::mui_fincontrato, and BusquedaFecha::setText().

00180                                               {
00181     _depura("ContratoView::pintafincontrato", 0);
00182     mui_fincontrato->setText(id);
00183     _depura("ContratoView::pintafincontrato", 0);
00184 }

void ContratoView::pintaffincontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 191 of file contratoview.cpp.

References _depura(), Ui_ContratoBase::mui_ffincontrato, and BusquedaFecha::setText().

00191                                                {
00192     _depura("ContratoView::pintaffincontrato", 0);
00193     mui_ffincontrato->setText(id);
00194     _depura("END ContratoView::pintaffincontrato", 0);
00195 }

void ContratoView::pintadescontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 202 of file contratoview.cpp.

References _depura(), and Ui_ContratoBase::mui_descontrato.

00202                                               {
00203     _depura("ContratoView::pintadescontrato", 0);
00204     mui_descontrato->setText(id);
00205     _depura("END ContratoView::pintadescontrato", 0);
00206 }

void ContratoView::pintarefcontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 213 of file contratoview.cpp.

References _depura(), Ui_ContratoBase::mui_refcontrato, and BusquedaReferencia::setText().

00213                                               {
00214     _depura("ContratoView::pintarefcontrato", 0);
00215     mui_refcontrato->setText(id);
00216     _depura("END ContratoView::pintarefcontrato", 0);
00217 }

void ContratoView::pintanomcontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 224 of file contratoview.cpp.

References _depura(), and Ui_ContratoBase::mui_nomcontrato.

00224                                               {
00225     _depura("ContratoView::pintanomcontrato", 0);
00226     mui_nomcontrato->setText(id);
00227     _depura("ContratoView::pintanomcontrato", 0);
00228 }

void ContratoView::pintaperiodicidadcontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 235 of file contratoview.cpp.

References _depura(), Ui_ContratoBase::mui_periodicidadcontrato, and BusquedaPeriodo::setperiodo().

00235                                                        {
00236     _depura("ContratoView::pintaperiodicidadcontrato", 0, id);
00237     mui_periodicidadcontrato->setperiodo(id);
00238 }

void ContratoView::pintaloccontrato ( QString  id  )  [virtual]

Parameters:
id 

Reimplemented from Contrato.

Definition at line 245 of file contratoview.cpp.

References _depura(), and Ui_ContratoBase::mui_loccontrato.

00245                                               {
00246     _depura("ContratoView::pintaloccontrato", 0);
00247     mui_loccontrato->setText(id);
00248     _depura("END ContratoView::pintaloccontrato", 0);
00249 }

int ContratoView::guardar (  )  [virtual]

Estos metodos deben existir para poder trabajar con la clase Ficha.

Returns:

Reimplemented from Contrato.

Definition at line 132 of file contratoview.cpp.

References _depura(), dialogChanges::dialogChanges_cargaInicial(), Contrato::guardar(), BusquedaCliente::idcliente(), Ui_ContratoBase::mui_descontrato, Ui_ContratoBase::mui_ffincontrato, Ui_ContratoBase::mui_fincontrato, Ui_ContratoBase::mui_idcliente, Ui_ContratoBase::mui_loccontrato, Ui_ContratoBase::mui_nomcontrato, Ui_ContratoBase::mui_periodicidadcontrato, Ui_ContratoBase::mui_refcontrato, BusquedaPeriodo::periodo(), DBRecord::setDBvalue(), BusquedaFecha::text(), and BusquedaReferencia::text().

00132                           {
00133     _depura("ContratoView::guardar", 0);
00134     try {
00135         setDBvalue("refcontrato", mui_refcontrato->text());
00136         setDBvalue("nomcontrato", mui_nomcontrato->text());
00137         setDBvalue("idcliente", mui_idcliente->idcliente());
00138         setDBvalue("fincontrato", mui_fincontrato->text());
00139         setDBvalue("ffincontrato", mui_ffincontrato->text());
00140         setDBvalue("loccontrato", mui_loccontrato->text());
00141         setDBvalue("descontrato", mui_descontrato->toPlainText());
00142         setDBvalue("periodicidadcontrato",mui_periodicidadcontrato->periodo());
00143         Contrato::guardar();
00144         dialogChanges_cargaInicial();
00145     } catch (...) {
00146         _depura("ContratoView::guardar error al guardar", 0);
00147         throw -1;
00148     } // end try
00149     _depura("END ContratoView::guardar", 0);
00150     return 0;
00151 }

int ContratoView::cargar ( QString  id  )  [virtual]

Parameters:
id 
Returns:

Reimplemented from Contrato.

Definition at line 104 of file contratoview.cpp.

References _depura(), FacturasContratoListSubForm::cargar(), ListLinContratoView::cargar(), Contrato::cargar(), DBRecord::DBvalue(), dialogChanges::dialogChanges_cargaInicial(), Ficha::meteWindow(), Ui_ContratoBase::mui_lineas, and Ui_ContratoBase::subform2.

Referenced by ContratosList::editar(), and ContratosList::on_mui_crear_clicked().

00104                                    {
00105     _depura("ContratoView::cargar", 0);
00106     try {
00107         Contrato::cargar(id);
00108         if (DBvalue("idcontrato") != "") {
00109             setWindowTitle(tr("Contrato") + " " + DBvalue("refcontrato") + " " + DBvalue("idcontrato"));
00110             meteWindow(windowTitle(), this);
00111         } // end if
00112         mui_lineas->cargar(id);
00113         subform2->cargar("SELECT * FROM factura LEFT JOIN cliente ON cliente.idcliente = factura.idcliente LEFT JOIN almacen ON factura.idalmacen = almacen.idalmacen  WHERE factura.idcliente ="+DBvalue("idcliente")+ " AND reffactura = '"+DBvalue("refcontrato")+"'");
00114         dialogChanges_cargaInicial();
00115     } catch (...) {
00116         return -1;
00117     } // end try
00118     _depura("END ContratoView::cargar", 0);
00119     return 0;
00120 }

virtual int ContratoView::borrar (  )  [inline, virtual]

: Deberia contener un bloque try{} catch{}

Returns:

Reimplemented from Contrato.

Definition at line 78 of file contratoview.h.

References Contrato::borrar().

00078                          {
00079         return Contrato::borrar();
00080     };

void ContratoView::on_subform2_itemDoubleClicked ( QTableWidgetItem  )  [virtual, slot]

Returns:

Definition at line 256 of file contratoview.cpp.

References _depura(), QWorkspace2::addWindow(), Ficha::cargar(), SubForm3::currentRow(), SubForm3::DBvalue(), FichaBf::empresaBase(), EmpresaBase::m_pWorkspace, Company::newFacturaView(), and Ui_ContratoBase::subform2.

00256                                                                    {
00257     _depura("ContratoView::on_subform2_itemDoubleClicked", 0);
00258     QString idfactura = subform2->DBvalue(QString("idfactura"), subform2->currentRow());
00259     FacturaView *prov = empresaBase()->newFacturaView();
00260     if (prov->cargar(idfactura)) {
00261         delete prov;
00262         return;
00263     } // end if
00264     empresaBase()->m_pWorkspace->addWindow(prov);
00265     prov->show();
00266     _depura("END ContratoView::on_subform2_itemDoubleClicked", 0);
00267 }

void ContratoView::on_m_cliente_valueChanged ( QString  id  )  [virtual, slot]

Parameters:
id 

Definition at line 158 of file contratoview.cpp.

References _depura(), SubForm2Bf::setIdCliente(), and Ui_ContratoBase::subform2.

00158                                                        {
00159     _depura("ContratoView::on_m_cliente_valueChanged", 0);
00160     subform2->setIdCliente(id);
00161     _depura("END ContratoView::on_m_cliente_valueChanged", 0);
00162 }

void ContratoView::on_mui_facturar_clicked (  )  [virtual, slot]

Definition at line 273 of file contratoview.cpp.

References _depura(), QWorkspace2::addWindow(), FichaBf::calculaypintatotales(), postgresiface2::cargacursor(), Ficha::cargar(), DBRecord::DBvalue(), FichaBf::empresaBase(), FALSE, FichaBf::getlistalineas(), SubForm3::lineaat(), FichaBf::m_listalineas, EmpresaBase::m_pWorkspace, Company::newFacturaView(), SubForm3::nuevoRegistro(), Ficha::pintar(), SubForm3::rowCount(), DBRecord::setDBvalue(), TRUE, and cursor2::valor().

00273                                            {
00274     _depura("ContratoView::on_mui_facturar_clicked", 0);
00275     int periodo = 1;
00276     QString query;
00277     bool end = FALSE;
00278     while(!end) {
00279         query = "SELECT ('"+DBvalue("fincontrato")+"'::DATE +"+QString::number(periodo-1)+"* '"+DBvalue("periodicidadcontrato")+"'::INTERVAL) AS finperiodo";
00280         query += ", ('"+DBvalue("fincontrato")+"'::DATE +"+QString::number(periodo)+"* '"+DBvalue("periodicidadcontrato")+"'::INTERVAL) AS ffinperiodo";
00281         cursor2 *cur1=empresaBase()->cargacursor(query);
00282 
00283         query = "SELECT count(idfactura) AS cuenta FROM factura WHERE ffactura >= '"+cur1->valor("finperiodo")+"'";
00284         query += " AND ffactura <  '"+cur1->valor("ffinperiodo")+"'";
00285         query += " AND reffactura = '"+DBvalue("refcontrato")+"'";
00286         query += " AND idcliente = "+DBvalue("idcliente");
00287 
00288         cursor2 *cur = empresaBase()->cargacursor(query);
00289         if(cur->valor("cuenta") != "0") {
00290                 if (cur->valor("cuenta") != "1") {
00291                         _depura("Detectada doble factura en un periodo", 2, cur->valor("cuenta"));
00292                 } // end if
00293         } else {
00294             // GENERAMOS LA FACTURA
00295             FacturaView *fac = empresaBase()->newFacturaView();
00296             empresaBase()->m_pWorkspace->addWindow(fac);
00297             fac->cargar("0");
00298             fac->show();
00299             fac->setDBvalue("reffactura", DBvalue("refcontrato"));
00300             fac->setDBvalue("idcliente", DBvalue("idcliente"));
00301             fac->setDBvalue("descfactura", DBvalue("nomcontrato")+" Periodo:  "+cur1->valor("finperiodo").left(10)+ " -- "+cur1->valor("ffinperiodo").left(10));
00302 
00303             QString l;
00304             SDBRecord *linea, *linea1;
00305             for (int i = 0; i < m_listalineas->rowCount(); ++i) {
00306                 linea = m_listalineas->lineaat(i);
00307                 if (linea->DBvalue( "idarticulo") != "") {
00308                     linea1 = fac->getlistalineas()->lineaat(fac->getlistalineas()->rowCount() - 1);
00309                     linea1->setDBvalue("idarticulo", linea->DBvalue("idarticulo"));
00310                     linea1->setDBvalue("codigocompletoarticulo", linea->DBvalue("codigocompletoarticulo"));
00311                     linea1->setDBvalue("nomarticulo", linea->DBvalue("nomarticulo"));
00312                     linea1->setDBvalue("desclfactura", linea->DBvalue("desclcontrato"));
00313                     linea1->setDBvalue("descuentolfactura", "0");
00314                     linea1->setDBvalue("cantlfactura", linea->DBvalue("cantlcontrato"));
00315                     linea1->setDBvalue("pvplfactura", linea->DBvalue("pvplcontrato"));
00316                     fac->getlistalineas()->nuevoRegistro();
00317                 } // end if
00318             } // end for
00319             fac->calculaypintatotales();
00320             fac->pintar();
00321         } // end if
00322         delete cur;
00323 
00324         query = "SELECT (now() < '"+DBvalue("fincontrato")+"'::DATE + '"+DBvalue("periodicidadcontrato")+"'::INTERVAL *"+QString::number(periodo)+" ) AS dato";
00325         cur = empresaBase()->cargacursor(query);
00326         if(cur->valor("dato") == "t") {
00327             end = TRUE;
00328         }// end if
00329         delete cur1;
00330         periodo++;
00331     } // end while
00332     _depura("END ContratoView::on_mui_facturar_clicked", 0);
00333 }


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