facturasplist.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2005 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 <QFile>
00023 #include <QTextStream>
00024 #include <QString>
00025 
00026 #include "facturasplist.h"
00027 #include "company.h"
00028 #include "busquedaproveedor.h"
00029 #include "busquedaarticulo.h"
00030 #include "configuracion.h"
00031 #include "facturapview.h"
00032 #include "plugins.h"
00033 
00034 
00044 FacturasProveedorList::FacturasProveedorList(QWidget *parent, Qt::WFlags flag)
00045         : Listado(NULL, parent, flag) {
00046     _depura("FacturasProveedorList::FacturasProveedorList", 0);
00047     setupUi(this);
00049     int res = g_plugins->lanza("FacturasProveedorList_FacturasProveedorList", this);
00050     if (res != 0) {
00051         return;
00052     } // end if
00053     mdb_idfacturap = "";
00054     setSubForm(mui_list);
00055     hideBusqueda();
00056     iniciaForm();
00057     g_plugins->lanza("FacturasProveedorList_FacturasProveedorList_Post", this);
00058     _depura("FacturasProveedorList::FacturasProveedorList", 0);
00059 }
00060 
00061 
00069 FacturasProveedorList::FacturasProveedorList(Company *comp, QWidget *parent)
00070         : Listado(comp, parent) {
00071     _depura("FacturasProveedorList::FacturasProveedorList", 0);
00072     setupUi(this);
00074     int res = g_plugins->lanza("FacturasProveedorList_FacturasProveedorList", this);
00075     if (res != 0) {
00076         return;
00077     } // end if
00078     m_proveedor->setEmpresaBase(empresaBase());
00079     m_articulo->setEmpresaBase(empresaBase());
00080     mui_list->setEmpresaBase(comp);
00081     presentar();
00082     setSubForm(mui_list);
00083     mdb_idfacturap = "";
00084     empresaBase()->meteWindow(windowTitle(), this);
00085     hideBusqueda();
00086     iniciaForm();
00088     trataPermisos("facturap");
00089 
00091     g_plugins->lanza("FacturasProveedorList_FacturasProveedorList_Post", this);
00092 
00093     _depura("END FacturasProveedorList::FacturasProveedorList", 0);
00094 }
00095 
00096 
00098 
00101 void FacturasProveedorList::iniciaForm() {
00102     _depura("FacturasProveedorList::iniciaForm");
00104     int res = g_plugins->lanza("FacturasProveedorList_iniciaForm", this);
00105     if (res != 0)
00106         return;
00107     mui_procesada->insertItem(0, tr("Todas las facturas"));
00108     mui_procesada->insertItem(1, tr("Facturas procesadas"));
00109     mui_procesada->insertItem(2, tr("Facturas no procesadas"));
00110     _depura("END FacturasProveedorList::iniciaForm");
00111 }
00112 
00113 
00117 FacturasProveedorList::~FacturasProveedorList() {
00118     _depura("FacturasProveedorList::~FacturasProveedorList", 0);
00119     _depura("END FacturasProveedorList::~FacturasProveedorList", 0);
00120 }
00121 
00122 
00128 void FacturasProveedorList::presentar() {
00129     _depura("FacturasProveedorList::presentar", 0);
00130     mui_list->cargar("SELECT *, totalfacturap AS total, bimpfacturap AS base, impfacturap AS impuestos  FROM facturap LEFT JOIN proveedor ON facturap.idproveedor=proveedor.idproveedor WHERE 1=1  " + generaFiltro());
00131 
00133     cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalfacturap) AS total FROM facturap LEFT JOIN proveedor ON facturap.idproveedor=proveedor.idproveedor WHERE 1=1  " + generaFiltro());
00135     if (!cur) return;
00136     m_total->setText(cur->valor("total"));
00137     delete cur;
00138     _depura("END FacturasProveedorList::presentar", 0);
00139 }
00140 
00141 
00147 QString FacturasProveedorList::generaFiltro() {
00148     _depura("FacturasProveedorList::generaFiltro", 0);
00150     QString filtro = "";
00151     if (m_filtro->text() != "") {
00152         filtro = " AND ( lower(descfacturap) LIKE lower('%" + m_filtro->text() + "%') ";
00153         filtro +=" OR reffacturap LIKE '" + m_filtro->text() + "%' ";
00154         filtro +=" OR lower(nomproveedor) LIKE lower('%" + m_filtro->text() + "%')) ";
00155     } // end if
00156     if (m_proveedor->idproveedor() != "") {
00157         filtro += " AND facturap.idproveedor = " + m_proveedor->idproveedor();
00158     } // end if
00159 
00161     if (mui_procesada->currentIndex() == 1) {
00163         filtro += " AND procesadafacturap";
00164     } else if (mui_procesada->currentIndex() == 2) {
00166         filtro += " AND NOT procesadafacturap ";
00167     } // end if
00168 
00169     if (m_articulo->idarticulo() != "") {
00170         filtro += " AND idfacturap IN (SELECT DISTINCT idfacturap FROM lfacturap WHERE idarticulo = '" + m_articulo->idarticulo() + "')";
00171     } // end if
00172 
00173     if (m_fechain->text() != "")
00174         filtro += " AND ffacturap >= '" + m_fechain->text() + "' ";
00175 
00176     if (m_fechafin->text() != "")
00177         filtro += " AND ffacturap <= '" + m_fechafin->text() + "' ";
00178 
00179     _depura("END FacturasProveedorList::generaFiltro", 0);
00180     return (filtro);
00181 }
00182 
00183 
00187 
00190 void FacturasProveedorList::editar(int row) {
00191     _depura("FacturasProveedorList::editar", 0);
00192     try {
00193         mdb_idfacturap = mui_list->DBvalue(QString("idfacturap"), row);
00194         if (modoEdicion()) {
00195             FacturaProveedorView *prov = ((Company *)empresaBase())->newFacturaProveedorView();
00196             if (prov->cargar(mdb_idfacturap)) {
00197                 delete prov;
00198                 return;
00199             } // end if
00200             empresaBase()->m_pWorkspace->addWindow(prov);
00201             prov->show();
00202         } else {
00203             emit(selected(mdb_idfacturap));
00204         } // end if
00205     } catch(...) {
00206         mensajeInfo(tr("Error al cargar la factura proveedor"));
00207     } // end try
00208     _depura("END FacturasProveedorList::editar", 0);
00209 }
00210 
00211 
00216 
00217 
00220 void FacturasProveedorList::borrar() {
00221     _depura("FacturasProveedorList::borrar", 0);
00222     int a = mui_list->currentRow();
00223     if (a < 0) {
00224         mensajeInfo(tr("Debe seleccionar una linea"));
00225         return;
00226     } // end if
00227     try {
00228         mdb_idfacturap = mui_list->DBvalue("idfacturap");
00229         FacturaProveedorView *bud = ((Company *)empresaBase())->newFacturaProveedorView();
00230         bud->cargar(mdb_idfacturap);
00231         bud->on_mui_borrar_clicked();
00232         delete bud;
00233         presentar();
00234     } catch (...) {
00235         mensajeInfo(tr("Error al borrar la factura de proveedor"));
00236     } // end try
00237     _depura("END FacturasProveedorList::borrar", 0);
00238 }
00239 
00240 
00245 void FacturasProveedorList::imprimir() {
00246     _depura("FacturasProveedorList::on_mui_imprimir_clicked", 0);
00247     mui_list->imprimirPDF(tr("Facturas de proveedores"));
00248     _depura("END FacturasProveedorList::on_mui_imprimir_clicked", 0);
00249 }
00250 
00251 
00253 
00256 void FacturasProveedorList::setEmpresaBase (Company *comp) {
00257     _depura("FacturasProveedorList::setEmpresaBase", 0);
00258     PEmpresaBase::setEmpresaBase(comp);
00259     m_proveedor->setEmpresaBase(comp);
00260     m_articulo->setEmpresaBase(comp);
00261     mui_list->setEmpresaBase(comp);
00262     _depura("END FacturasProveedorList::setEmpresaBase", 0);
00263 }
00264 
00265 
00267 
00270 QString FacturasProveedorList::idfacturap() {
00271     _depura("FacturasProveedorList::idfacturap", 0);
00272     return mdb_idfacturap;
00273     _depura("END FacturasProveedorList::idfacturap", 0);
00274 }
00275 
00276 
00278 
00281 void FacturasProveedorList::setidproveedor(QString val) {
00282     _depura("FacturasProveedorList::setidproveedor", 0);
00283     m_proveedor->setidproveedor(val);
00284     _depura("END FacturasProveedorList::setidproveedor", 0);
00285 }
00286 
00287 
00289 
00292 void FacturasProveedorList::setidarticulo(QString val) {
00293     _depura("FacturasProveedorList::setidarticulo", 0);
00294     m_articulo->setidarticulo(val);
00295     _depura("END FacturasProveedorList::setidarticulo", 0);
00296 }
00297 
00298 
00300 
00302 void FacturasProveedorList::crear() {
00303     _depura("FacturasProveedorList::crear", 0);
00304     ((Company *)empresaBase())->s_newFacturaPro();
00305     _depura("END FacturasProveedorList::crear", 0);
00306 }
00307 
00308 
00312 
00316 FacturasProveedorListSubform::FacturasProveedorListSubform(QWidget *parent) : SubForm2Bf(parent) {
00317     _depura("FacturasProveedorListSubform::FacturasProveedorListSubform", 0);
00318     setDBTableName("facturap");
00319     setDBCampoId("idfacturap");
00320     addSHeader("reffacturap", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia factura"));
00321     addSHeader("idfacturap", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("Id factura"));
00322     addSHeader("numfacturap", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero factura"));
00323     addSHeader("nomproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre proveedor"));
00324     addSHeader("ffacturap", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha factura"));
00325     addSHeader("contactfacturap", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Persona de contacto"));
00326     addSHeader("telfacturap", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Telefono factura"));
00327     addSHeader("comentfacturap", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentario factura"));
00328     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id trabajador"));
00329     addSHeader("idproveedor", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id proveedor"));
00330     addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total"));
00331     addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base imponible"));
00332     addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00333     setinsercion(FALSE);
00334     setDelete(FALSE);
00335     setSortingEnabled(TRUE);
00336     _depura("END FacturasProveedorListSubform::FacturasProveedorListSubform", 0);
00337 }
00338 
00339 
00341 
00343 FacturasProveedorListSubform::~FacturasProveedorListSubform() {
00344     _depura("FacturasProveedorListSubform::~FacturasProveedorListSubform", 0);
00345     _depura("END FacturasProveedorListSubform::~FacturasProveedorListSubform", 0);
00346 }
00347 
00348 
00350 
00352 void FacturasProveedorListSubform::cargar() {
00353     _depura("AlbaranesProveedorListSubform::cargar()\n", 0);
00354     QString SQLQuery = "SELECT * FROM facturap";
00355     SubForm3::cargar(SQLQuery);
00356     _depura("END AlbaranesProveedorListSubform::cargar()\n", 0);
00357 }
00358 
00359 
00361 
00364 void FacturasProveedorListSubform::cargar(QString query) {
00365     _depura("AlbaranesProveedorListSubform::cargar(QString query)\n", 0);
00366     SubForm3::cargar(query);
00367     _depura("END AlbaranesProveedorListSubform::cargar(QString query)\n", 0);
00368 }
00369 

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