albaranclientelist.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 <QCheckBox>
00022 #include <QFile>
00023 #include <QMessageBox>
00024 #include <QTextStream>
00025 
00026 #include "albaranclientelist.h"
00027 #include "albaranclienteview.h"
00028 #include "plugins.h"
00029 #include "company.h"
00030 #include "funcaux.h"
00031 
00032 
00034 
00036 void AlbaranClienteListSubform::cargar() {
00037     _depura("AlbaranClienteListSubform::cargar", 0);
00038     QString SQLQuery = "SELECT * FROM albaran";
00039     SubForm3::cargar(SQLQuery);
00040     _depura("END AlbaranClienteListSubform::cargar", 0);
00041 }
00042 
00043 
00045 
00048 void AlbaranClienteListSubform::cargar(QString query) {
00049     _depura("AlbaranClienteListSubform::cargar", 0);
00050     SubForm3::cargar(query);
00051     _depura("END AlbaranClienteListSubform::cargar", 0);
00052 }
00053 
00054 
00056 
00059 void AlbaranClienteList::setidcliente(QString val) {
00060     _depura("AlbaranClienteList::setidcliente", 0);
00061     m_cliente->setidcliente(val);
00062     _depura("END AlbaranClienteList::setidcliente", 0);
00063 }
00064 
00065 
00067 
00070 QString AlbaranClienteList::idCliDelivNote() {
00071     _depura("AlbaranClienteList::idCliDelivNote", 0);
00072     _depura("END AlbaranClienteList::idCliDelivNote", 0);
00073     return mdb_idalbaran;
00074 }
00075 
00076 
00078 
00080 void AlbaranClienteList::crear() {
00081     _depura("AlbaranClienteList::crear", 0);
00082     ((Company *)empresaBase())->s_newAlbaranClienteView();
00083     _depura("END AlbaranClienteList::crear", 0);
00084 }
00085 
00086 
00100 AlbaranClienteList::AlbaranClienteList(QWidget *parent, Qt::WFlags flag, edmode editmodo)
00101         : Listado(NULL, parent, flag, editmodo) {
00102     _depura("AlbaranClienteList::AlbaranClienteList", 0);
00103     setupUi(this);
00105     int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00106     if (res != 0)
00107         return;
00108     mdb_idalbaran = "";
00109     setSubForm(mui_list);
00110     hideBusqueda();
00111     iniciaForm();
00112     _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00113 }
00114 
00115 
00129 AlbaranClienteList::AlbaranClienteList(Company *comp, QWidget *parent, Qt::WFlags flag, edmode editmodo)
00130         : Listado(comp, parent, flag, editmodo) {
00131     _depura("AlbaranClienteList::AlbaranClienteList", 0);
00132     setupUi(this);
00134     int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00135     if (res != 0)
00136         return;
00137     m_cliente->setEmpresaBase(comp);
00138     m_articulo->setEmpresaBase(comp);
00139     mui_list->setEmpresaBase(comp);
00140     presentar();
00141     setSubForm(mui_list);
00142     mdb_idalbaran = "";
00143     if (modoEdicion())
00144         empresaBase()->meteWindow(windowTitle(), this);
00145     hideBusqueda();
00146     iniciaForm();
00148     trataPermisos("albaran");
00149     _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00150 }
00151 
00152 
00154 
00157 void AlbaranClienteList::iniciaForm() {
00158     _depura("AlbaranClienteList::iniciaForm");
00160     int res = g_plugins->lanza("AlbaranClienteList_iniciaForm", this);
00161     if (res != 0)
00162         return;
00163     mui_procesada->insertItem(0, tr("Todos los albaranes"));
00164     mui_procesada->insertItem(1, tr("Albaranes procesados"));
00165     mui_procesada->insertItem(2, tr("Albaranes no procesados"));
00166     _depura("END AlbaranClienteList::iniciaForm");
00167 }
00168 
00169 
00171 
00174 void AlbaranClienteList::setEmpresaBase(Company *comp) {
00175     _depura("AlbaranClienteList::setEmpresaBase", 0);
00176     PEmpresaBase::setEmpresaBase(comp);
00177     m_cliente->setEmpresaBase(comp);
00178     m_articulo->setEmpresaBase(comp);
00179     mui_list->setEmpresaBase(comp);
00180     _depura("END AlbaranClienteList::setEmpresaBase", 0);
00181 }
00182 
00183 
00187 AlbaranClienteList::~AlbaranClienteList() {
00188     _depura("AlbaranClienteList::~AlbaranClienteList", 0);
00189     _depura("END AlbaranClienteList::~AlbaranClienteList", 0);
00190 }
00191 
00192 
00198 void AlbaranClienteList::presentar() {
00199     _depura("AlbaranClienteList::presentar");
00200 
00201     mui_list->cargar("SELECT *, totalalbaran AS total, bimpalbaran AS base, impalbaran AS impuestos FROM albaran LEFT JOIN  cliente ON albaran.idcliente = cliente.idcliente LEFT JOIN almacen ON albaran.idalmacen = almacen.idalmacen LEFT JOIN forma_pago ON albaran.idforma_pago = forma_pago.idforma_pago WHERE 1 = 1 " + generarFiltro());
00202 
00204     cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalalbaran) AS total FROM albaran LEFT JOIN cliente ON albaran.idcliente=cliente.idcliente LEFT JOIN almacen ON almacen.idalmacen = albaran.idalmacen where 1 = 1 " + generarFiltro());
00206     if (cur) {
00207         m_total->setText(cur->valor("total"));
00208         delete cur;
00209     } // end if
00210 
00211     _depura("End AlbaranClienteList::presentar");
00212 }
00213 
00214 
00229 void AlbaranClienteList::editar(int row) {
00230     _depura("AlbaranClienteList::editar", 0);
00231     mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"), row);
00232     if (modoEdicion()) {
00233         AlbaranClienteView *prov = ((Company *)empresaBase())->newAlbaranClienteView();
00234         if (prov->cargar(mdb_idalbaran)) {
00235             delete prov;
00236             return;
00237         } // end if
00238         empresaBase()->m_pWorkspace->addWindow(prov);
00239         prov->show();
00240     } else {
00241         emit(selected(mdb_idalbaran));
00242     } // end if
00243     _depura("END AlbaranClienteList::editar", 0);
00244 }
00245 
00246 
00247 
00251 
00252 
00253 
00256 void AlbaranClienteList::borrar() {
00257     _depura("AlbaranClienteList::borrar", 0);
00258     int a = mui_list->currentRow();
00259     if (a < 0) {
00260         mensajeInfo(tr("Debe seleccionar una linea"));
00261         return;
00262     } // end if
00263     try {
00264         mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"));
00265         if (modoEdicion()) {
00266             AlbaranClienteView *acv = ((Company *)empresaBase())->newAlbaranClienteView();
00267             if (acv->cargar(mdb_idalbaran))
00268                 throw -1;
00269             acv->on_mui_borrar_clicked();
00270             acv->close();
00271         } // end if
00272         presentar();
00273     } catch (...) {
00274         mensajeInfo(tr("Error al borrar el albaran a cliente"));
00275     } // end try
00276     _depura("END AlbaranClienteList::borrar", 0);
00277 }
00278 
00279 
00282 
00283 
00285 void AlbaranClienteList::imprimir() {
00286     _depura("AlbaranClienteList::imprimir", 0);
00287     mui_list->imprimirPDF(tr("Albaranes a clientes"));
00288     _depura("END AlbaranClienteList::imprimir", 0);
00289 }
00290 
00291 
00298 QString AlbaranClienteList::generarFiltro() {
00300     _depura("AlbaranClienteList::generarFiltro", 0);
00301     QString filtro = "";
00302 
00303     if (m_filtro->text() != "") {
00304         filtro = " AND ( lower(descalbaran) LIKE lower('%" + m_filtro->text() + "%') ";
00305         filtro +=" OR refalbaran LIKE '"+m_filtro->text()+"%' ";
00306         filtro +=" OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00307     } else {
00308         filtro = "";
00309     } // end if
00310 
00311     if (m_cliente->idcliente() != "")
00312         filtro += " AND albaran.idcliente='" + m_cliente->idcliente() + "'";
00313 
00314     if (m_articulo->idarticulo() != "")
00315         filtro += " AND idalbaran IN (SELECT DISTINCT idalbaran FROM lalbaran WHERE idarticulo='" + m_articulo->idarticulo() + "')";
00316 
00318     if (mui_procesada->currentIndex() == 1) {
00320         filtro += " AND procesadoalbaran";
00321     } else if (mui_procesada->currentIndex() == 2) {
00323         filtro += " AND NOT procesadoalbaran ";
00324     } // end if
00325 
00326     if (m_fechain->text() != "")
00327         filtro += " AND fechaalbaran >= '" + m_fechain->text() + "' ";
00328 
00329     if (m_fechafin->text() != "")
00330         filtro += " AND fechaalbaran <= '" + m_fechafin->text() + "' ";
00331 
00332     _depura("END AlbaranClienteList::generarFiltro", 0);
00333     return (filtro);
00334 }
00335 
00336 
00340 
00347 AlbaranClienteListSubform::AlbaranClienteListSubform(QWidget *parent) : SubForm2Bf(parent) {
00348     _depura("AlbaranClienteListSubform::AlbaranClienteListSubform", 0);
00349 
00351     int res = g_plugins->lanza("AlbaranClienteListSubform_AlbaranClienteListSubform", this);
00352     if (res != 0)
00353         return;
00354     setDBTableName("albaran");
00355     setDBCampoId("idalbaran");
00356     addSHeader("refalbaran", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("Referencia de albaran"));
00357     addSHeader("codigoalmacen", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Codigo de almacen"));
00358     addSHeader("numalbaran", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero de albaran"));
00359     addSHeader("descalbaran", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion"));
00360     addSHeader("fechaalbaran", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha de albaran"));
00361     addSHeader("nomcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre de cliente"));
00362     addSHeader("idforma_pago", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID forma de pago"));
00363     addSHeader("descforma_pago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion de forma de pago"));
00364     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID trabajador"));
00365     addSHeader("idcliente", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID cliente"));
00366     addSHeader("idalbaran", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID albaran"));
00367     addSHeader("comentalbaran", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentarios del albaran"));
00368     addSHeader("idalmacen", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID almacen"));
00369     addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base imponible"));
00370     addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00371     addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total"));
00372     setinsercion(FALSE);
00373     setDelete(FALSE);
00374     setSortingEnabled(TRUE);
00375     _depura("END AlbaranClienteListSubform::AlbaranClienteListSubform", 0);
00376 }
00377 
00378 
00380 
00382 AlbaranClienteListSubform::~AlbaranClienteListSubform() {
00383     _depura("AlbaranClienteListSubform::~AlbaranClienteListSubform", 0);
00384     _depura("END AlbaranClienteListSubform::~AlbaranClienteListSubform", 0);
00385 }

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