cobroslist.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 <QTextStream>
00026 #include <QMenu>
00027 
00028 #include "configuracion.h"
00029 #include "cobroslist.h"
00030 #include "company.h"
00031 #include "cobroview.h"
00032 #include "funcaux.h"
00033 
00034 
00039 CobrosList::CobrosList(QWidget *parent, Qt::WFlags flag, edmode editmodo)
00040         : Listado(NULL, parent, flag, editmodo) {
00041     _depura("CobrosList::CobrosList", 0);
00042     setupUi(this);
00044     int res = g_plugins->lanza("CobrosList_CobrosList", this);
00045     if (res != 0)
00046         return;
00047     mdb_idcobro = "";
00048     setSubForm(mui_list);
00049     hideBusqueda();
00050 
00051     _depura("END CobrosList::CobrosList", 0);
00052 }
00053 
00054 
00059 CobrosList::CobrosList(Company *comp, QWidget *parent, Qt::WFlags flag, edmode editmodo)
00060         : Listado(comp, parent, flag, editmodo) {
00061     _depura("CobrosList::CobrosList",0);
00062     setupUi(this);
00064     int res = g_plugins->lanza("CobrosList_CobrosList", this);
00065     if (res != 0)
00066         return;
00067     m_cliente->setEmpresaBase(comp);
00068     mui_list->setEmpresaBase(comp);
00069     mui_idbanco->setEmpresaBase(comp);
00070     mui_idbanco->setidbanco("");
00071     setSubForm(mui_list);
00072     presentar();
00073     mdb_idcobro = "";
00074     if(modoEdicion()) 
00075         empresaBase()->meteWindow(windowTitle(), this);
00076     hideBusqueda();
00078     trataPermisos("cobro");
00079     _depura("END CobrosList::CobrosList", 0);
00080 }
00081 
00082 
00085 CobrosList::~CobrosList() {
00086     _depura("CobrosList::~CobrosList", 0);
00087     _depura("END CobrosList::~CobrosList", 0);
00088 }
00089 
00090 
00095 void CobrosList::presentar() {
00096     _depura("CobrosList::presentar", 0);
00097     if (empresaBase() != NULL) {
00098         mui_list->cargar("SELECT * FROM cobro NATURAL LEFT JOIN cliente NATURAL LEFT JOIN trabajador NATURAL LEFT JOIN banco WHERE 1 = 1 " + generaFiltro());
00100         Fixed total = mui_list->sumarCampo("cantcobro");
00101         m_total->setText(total.toQString());
00102     } // end if
00103     _depura("END CobrosList::presentar", 0);
00104 }
00105 
00106 
00109 QString CobrosList::generaFiltro() {
00110     _depura("CobrosList::generaFiltro", 0);
00111     QString filtro = "";
00112     if (m_filtro->text() != "") {
00113         filtro = " AND ( lower(comentcobro) LIKE lower('%" + m_filtro->text() + "%') ";
00114         filtro +=" OR refcobro LIKE '" + m_filtro->text() + "%' ";
00115         filtro +=" OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00116     } // end if
00117 
00118     if (m_cliente->idcliente() != "") {
00119         filtro += " AND cobro.idcliente = " + m_cliente->idcliente();
00120     } // end if
00121 
00122     QString subfiltro = " AND ";
00123     if (mui_efectivos->isChecked()) {
00124         filtro += " AND NOT previsioncobro";
00125         subfiltro = " OR ";
00126     } // end if
00127 
00128     if (mui_previsiones->isChecked()) {
00129         filtro += subfiltro + " previsioncobro";
00130     } // end if
00131 
00132     if (m_fechain->text() != "")
00133         filtro += " AND fechacobro >= '" + m_fechain->text() + "' ";
00134 
00135     if (m_fechafin->text() != "")
00136         filtro += " AND fechacobro <= '" + m_fechafin->text() + "' ";
00137 
00138     if (mui_idbanco->idbanco() != "") 
00139         filtro += " AND idbanco = "+mui_idbanco->idbanco();
00140 
00141     _depura("END CobrosList::generaFiltro", 0);
00142     return (filtro);
00143 }
00144 
00145 
00146 
00150 void CobrosList::crear() {
00151     _depura("CobrosList::crear", 0);
00152     CobroView *bud = ((Company *)empresaBase())->newCobroView();
00153     empresaBase()->m_pWorkspace->addWindow(bud);
00154     bud->show();
00155     bud->setDBvalue("idcliente", m_cliente->idcliente());
00156     bud->pintar();
00157     _depura("CobrosList::crear", 0);
00158 }
00159 
00160 
00163 void CobrosList::imprimir() {
00164     _depura("CobrosList::imprimir", 0);
00165     mui_list->imprimirPDF(tr("Cobros a clientes"));
00166     _depura("END CobrosList::imprimir", 0);
00167 }
00168 
00169 
00176 void CobrosList::borrar() {
00177     _depura("CobrosList::borrar",0);
00178     int a = mui_list->currentRow();
00179     if (a < 0) {
00180         mensajeInfo(tr("Debe seleccionar una linea"));
00181         return;
00182     } // end if
00183     try {
00184         mdb_idcobro = mui_list->DBvalue("idcobro");
00185         if (modoEdicion()) {
00186             CobroView *cv = ((Company *)empresaBase())->newCobroView();
00187             if (cv->cargar(mdb_idcobro))
00188                 throw -1;
00189             cv->on_mui_borrar_clicked();
00190             cv->close();
00191         } // end if
00192         presentar();
00193     } catch (...) {
00194         mensajeInfo(tr("Error al borrar el cobro a cliente"));
00195     } // end try
00196     _depura("END:CobrosList::borrar",0);
00197 }
00198 
00199 
00203 
00204 void CobrosList::editar(int) {
00205     _depura("CobrosList::on_mui_list_cellDoubleClicked", 0);
00206     try {
00207         mdb_idcobro = mui_list->DBvalue("idcobro");
00208         if (modoEdicion()) {
00209             CobroView *bud = ((Company *)empresaBase())->newCobroView();
00210             if (bud->cargar(mdb_idcobro)) {
00211                 delete bud;
00212                 return;
00213             } // end if
00214             empresaBase()->m_pWorkspace->addWindow(bud);
00215             bud->show();
00216         } else {
00217             emit(selected(mdb_idcobro));
00218         } // end if
00219     } catch(...) {
00220         mensajeInfo(tr("Debe seleccionar una fila primero"));
00221     } // end try
00222     _depura("END CobrosList::on_mui_list_cellDoubleClicked", 0);
00223 
00224 }
00225 
00228 
00229 void CobrosList::submenu(const QPoint &) {
00230     _depura("PagosList::on_mui_list_customContextMenuRequested", 0);
00231     int a = mui_list->currentRow();
00232     if (a < 0)
00233         return;
00234     QMenu *popup = new QMenu(this);
00235     QAction *edit = popup->addAction(tr("Editar cobro"));
00236     QAction *del = popup->addAction(tr("Borrar cobro"));
00237     QAction *opcion = popup->exec(QCursor::pos());
00238     if (opcion == del)
00239         on_mui_borrar_clicked();
00240     if (opcion == edit)
00241         on_mui_editar_clicked();
00242     delete popup;
00243     _depura("PagosList::on_mui_list_customContextMenuRequested", 0);
00244 }
00245 
00248 void CobrosList::setEmpresaBase(Company *comp) {
00249     PEmpresaBase::setEmpresaBase(comp);
00250     m_cliente->setEmpresaBase(comp);
00251     mui_list->setEmpresaBase(comp);
00252     mui_idbanco->setEmpresaBase(comp);
00253     mui_idbanco->setidbanco("");
00254 }
00255 
00258 QString CobrosList::idcobro() {
00259     _depura("CobrosList::idcobro", 0);
00260     _depura("END CobrosList::idcobro", 0);
00261     return mdb_idcobro;
00262 }
00263 
00267 void CobrosList::setidcliente(QString val) {
00268     m_cliente->setidcliente(val);
00269 }
00270 
00271 
00275 
00278 CobrosListSubForm::CobrosListSubForm(QWidget *parent) : SubForm2Bf(parent) {
00279     _depura("CobrosListSubForm::CobrosListSubForm", 0);
00281     int res = g_plugins->lanza("CobrosListSubForm_CobrosListSubForm", this);
00282     if (res != 0)
00283         return;
00284     setDBTableName("cobro");
00285     setDBCampoId("idcobro");
00286     addSHeader("idcobro", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("ID cobro"));
00287     addSHeader("idcliente", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID cliente"));
00288     addSHeader("nomcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre"));
00289     addSHeader("cifcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("C.I.F."));
00290     addSHeader("telcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero de telefono"));
00291     addSHeader("mailcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Direccion de correo electronico"));
00292     addSHeader("fechacobro", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha de cobro"));
00293     addSHeader("fechavenccobro", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha de vencimiento"));
00294     addSHeader("cantcobro", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Cantidad"));
00295     addSHeader("nombanco", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Banco"));
00296     addSHeader("refcobro", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia del cobro"));
00297     addSHeader("previsioncobro", DBCampo::DBboolean, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Prevision de cobro"));
00298     addSHeader("comentcobro", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentarios"));
00299     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID trabajador"));
00300     addSHeader("nomtrabajador", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre del trabajador"));
00301     addSHeader("apellidostrabajador", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Apellidos del trabajador"));
00302     setinsercion(FALSE);
00303     setDelete(FALSE);
00304     setSortingEnabled(TRUE);
00305     _depura("END CobrosListSubForm::CobrosListSubForm", 0);
00306 }
00307 
00308 
00309 CobrosListSubForm::~CobrosListSubForm() {
00310     _depura("CobrosListSubForm::~CobrosListSubForm", 0);
00311     _depura("END CobrosListSubForm::~CobrosListSubForm", 0);
00312 }
00313 

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