pagoslist.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2004 by Tomeu Borras Riera                              *
00003  *   tborras@conetxia.com                                                  *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 #include <QMessageBox>
00022 #include <QCheckBox>
00023 #include <QFile>
00024 #include <QCheckBox>
00025 #include <QMenu>
00026 #include <QTextStream>
00027 
00028 #include "pagoslist.h"
00029 #include "company.h"
00030 #include "pagoview.h"
00031 #include "qtable2.h"
00032 #include "funcaux.h"
00033 #include "configuracion.h"
00034 
00035 
00037 
00041 PagosList::PagosList(QWidget *parent, Qt::WFlags flag)
00042         : Listado(NULL, parent, flag) {
00043     _depura("PagosList::PagosList", 0);
00044     setupUi(this);
00045     mdb_idpago = "";
00046     setSubForm(mui_list);
00047     hideBusqueda();
00048     _depura("END PagosList::PagosList", 0);
00049 }
00050 
00051 
00053 
00058 PagosList::PagosList(Company *comp, QWidget *parent, Qt::WFlags flag)
00059         : Listado(comp, parent, flag) {
00060     _depura("PagosList::PagosList", 0);
00061     setupUi(this);
00062     m_proveedor->setEmpresaBase(comp);
00063     mui_list->setEmpresaBase(comp);
00064     mui_idbanco->setEmpresaBase(comp);
00065     mui_idbanco->setidbanco("");
00066     presentar();
00067     mdb_idpago = "";
00068     setSubForm(mui_list);
00069     empresaBase()->meteWindow(windowTitle(), this);
00070     hideBusqueda();
00072     trataPermisos("pago");
00073     _depura("END PagosList::PagosList", 0);
00074 }
00075 
00076 
00077 PagosList::~PagosList() {
00078     _depura("PagosList::~PagosList", 0);
00079     _depura("END PagosList::~PagosList", 0);
00080 }
00081 
00082 
00083 
00084 
00085 void PagosList::presentar() {
00086     _depura("PagosList::presentar()", 0);
00087     if (empresaBase() != NULL ) {
00088         mui_list->cargar("SELECT * FROM pago NATURAL LEFT JOIN proveedor NATURAL LEFT JOIN trabajador NATURAL LEFT JOIN banco WHERE 1 = 1 " + generaFiltro());
00090         Fixed total = mui_list->sumarCampo("cantpago");
00091         m_total->setText(total.toQString());
00092     } // end if
00093     _depura("END PagosList::presentar()", 0);
00094 }
00095 
00096 
00097 QString PagosList::generaFiltro() {
00098     _depura("PagosList::generaFiltro", 0);
00099     QString filtro = "";
00100     if (m_filtro->text() != "") {
00101         filtro = " AND ( lower(descpago) LIKE lower('%" + m_filtro->text() + "%') ";
00102         filtro +=" OR refpago LIKE '" + m_filtro->text() + "%' ";
00103         filtro +=" OR lower(nomproveedor) LIKE lower('%" + m_filtro->text() + "%')) ";
00104     } else {
00105         filtro = "";
00106     } // end if
00107     if (m_proveedor->idproveedor() != "") {
00108         filtro += " AND pago.idproveedor = " + m_proveedor->idproveedor();
00109     } // end if
00110     QString subfiltro = " AND ";
00111     if (mui_efectivos->isChecked() ) {
00112         filtro += " AND NOT previsionpago";
00113         subfiltro = " OR ";
00114     } // end if
00115     if (mui_previsiones->isChecked() ) {
00116         filtro += subfiltro + " previsionpago";
00117     } // end if
00118     if (m_fechain->text() != "") {
00119         filtro += " AND fechapago >= '" + m_fechain->text() + "' ";
00120     } // end if
00121     if (m_fechafin->text() != "") {
00122         filtro += " AND fechapago <= '" + m_fechafin->text() + "' ";
00123     } // end if
00124     if (mui_idbanco->idbanco() != "")
00125         filtro += " AND idbanco = "+mui_idbanco->idbanco();
00126     _depura("END PagosList::generaFiltro", 0);
00127     return (filtro);
00128 }
00129 
00130 
00131 
00132 
00133 
00134 void PagosList::editar(int) {
00135     mdb_idpago = mui_list->DBvalue("idpago");
00136     if (modoEdicion() && mdb_idpago != "") {
00137         PagoView *bud = ((Company *)empresaBase())->newPagoView();
00138         if (bud->cargar(mdb_idpago)) {
00139             delete bud;
00140             return;
00141         } // end if
00142         empresaBase()->m_pWorkspace->addWindow(bud);
00143         bud->show();
00144     } else {
00145         close();
00146     } // end if
00147 }
00148 
00149 
00150 void PagosList::crear() {
00151     _depura("PagosList::crear", 0);
00152     PagoView *bud = ((Company *)empresaBase())->newPagoView();
00153     empresaBase()->m_pWorkspace->addWindow(bud);
00154     bud->show();
00155     bud->setDBvalue("idproveedor", m_proveedor->idproveedor());
00156     bud->pintar();
00157 }
00158 
00159 
00160 void PagosList::imprimir() {
00161     _depura("PagosList::imprimir", 0);
00162     mui_list->imprimirPDF(tr("Pagos a proveedores"));
00163     _depura("END PagosList::imprimir", 0);
00164 }
00165 
00166 
00167 void PagosList::borrar() {
00168     _depura("PagosList::borrar", 0);
00169     int a = mui_list->currentRow();
00170     if (a < 0) {
00171         mensajeInfo(tr("Debe seleccionar una linea"));
00172         return;
00173     } // end if
00174     try {
00175         mdb_idpago = mui_list->DBvalue("idpago");
00176         if (modoEdicion() && mdb_idpago != "") {
00177             PagoView *bud = new PagoView((Company *)empresaBase(), NULL);
00178             bud->cargar(mdb_idpago);
00179             bud->borrar();
00180         } // end if
00181         presentar();
00182     } catch (...)  {
00183         mensajeInfo(tr("Error al borrar el pago"));
00184     } // end try
00185     _depura("END PagosList::borrar", 0);
00186 }
00187 
00188 void PagosList::setEmpresaBase (Company *comp)  {
00189     _depura("PagosList::setEmpresaBase", 0);
00190     PEmpresaBase::setEmpresaBase(comp);
00191     m_proveedor->setEmpresaBase(comp);
00192     mui_list->setEmpresaBase(comp);
00193     mui_idbanco->setEmpresaBase(comp);
00194     mui_idbanco->setidbanco("");
00195     _depura("END PagosList::setEmpresaBase", 0);
00196 }
00197 
00198 
00199 QString PagosList::idpago() {
00200     return mdb_idpago;
00201 }
00202 
00203 void PagosList::setidproveedor(QString val) {
00204     m_proveedor->setidproveedor(val);
00205 }
00206 
00207 
00208 
00209 
00213 PagosListSubForm::PagosListSubForm(QWidget *parent) : SubForm2Bf(parent) {
00214     setDBTableName("pago");
00215     setDBCampoId("idpago");
00216     addSHeader("idpago", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("Id pago"));
00217     addSHeader("idproveedor", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id proveedor"));
00218     addSHeader("nomproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre proveedor"));
00219     addSHeader("cifproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("C.I.F. proveedor"));
00220     addSHeader("telproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Telefono proveedor"));
00221     addSHeader("emailproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Email proveedor"));
00222     addSHeader("fechapago", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha de pago"));
00223     addSHeader("cantpago", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Cantidad"));
00224     addSHeader("nombanco", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Banco"));
00225     addSHeader("refpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia de pago"));
00226     addSHeader("previsionpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Prevision pago"));
00227     addSHeader("comentpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentario pago"));
00228     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id trabajador"));
00229     addSHeader("nomtrabajador", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre de trabajador"));
00230     addSHeader("apellidostrabajador", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Apellidos trabajador"));
00231     setinsercion(FALSE);
00232     setDelete(FALSE);
00233     setSortingEnabled(TRUE);
00234 }
00235 
00236 PagosListSubForm::~PagosListSubForm() {}
00237     
00238 

Generated on Sat Dec 15 00:01:13 2007 for BulmaGes by  doxygen 1.5.1