pedidosclientelist.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 <QFile>
00022 #include <QMessageBox>
00023 #include <QTextStream>
00024 
00025 #include "company.h"
00026 #include "configuracion.h"
00027 #include "funcaux.h"
00028 #include "plugins.h"
00029 #include "pedidoclienteview.h"
00030 #include "pedidosclientelist.h"
00031 
00032 
00034 
00039 PedidosClienteList::PedidosClienteList(QWidget *parent, Qt::WFlags flag)
00040         : Listado(NULL, parent, flag) {
00041     _depura("PedidosClienteList::PedidosClienteList", 0);
00042     setupUi(this);
00044     int res = g_plugins->lanza("PedidosClienteList_PedidosClienteList", this);
00045     if (res != 0)
00046         return;
00047     m_idpedidocliente = "";
00048     setSubForm(mui_list);
00049     hideBusqueda();
00050     iniciaForm();
00051     _depura("END PedidosClienteList::PedidosClienteList", 0);
00052 }
00053 
00054 
00056 
00062 PedidosClienteList::PedidosClienteList(Company *comp, QWidget *parent, Qt::WFlags flag): Listado(comp, parent, flag) {
00063     _depura("PedidosClienteList::PedidosClienteList", 0);
00064     setupUi(this);
00066     int res = g_plugins->lanza("PedidosClienteList_PedidosClienteList", this);
00067     if (res != 0)
00068         return;
00069     m_cliente->setEmpresaBase(comp);
00070     m_articulo->setEmpresaBase(comp);
00071     mui_list->setEmpresaBase(comp);
00072     setSubForm(mui_list);
00073     presentar();
00074     m_idpedidocliente = "";
00075     empresaBase()->meteWindow(windowTitle(), this);
00076     hideBusqueda();
00077     iniciaForm();
00079     trataPermisos("pedidocliente");
00080     _depura("END PedidosClienteList::PedidosClienteList", 0);
00081 }
00082 
00083 
00085 
00088 void PedidosClienteList::iniciaForm() {
00089     _depura("PedidosClienteList::iniciaForm");
00091     int res = g_plugins->lanza("PedidosClienteList_iniciaForm", this);
00092     if (res != 0)
00093         return;
00094     mui_procesada->insertItem(0, tr("Todos los pedidos"));
00095     mui_procesada->insertItem(1, tr("Pedidos procesados"));
00096     mui_procesada->insertItem(2, tr("Pedidos no procesados"));
00097     _depura("END PedidosClienteList::iniciaForm");
00098 }
00099 
00100 
00102 
00104 PedidosClienteList::~PedidosClienteList() {
00105     _depura("PedidosClienteList::~PedidosClienteList", 0);
00106     _depura("END PedidosClienteList::~PedidosClienteList", 0);
00107 }
00108 
00109 
00111 
00113 void PedidosClienteList::presentar() {
00114     _depura("PedidosClienteList::presenta", 0);
00116     mui_list->cargar("SELECT *, totalpedidocliente AS total, bimppedidocliente AS base, imppedidocliente AS impuestos FROM pedidocliente LEFT JOIN  cliente ON pedidocliente.idcliente = cliente.idcliente LEFT JOIN almacen ON pedidocliente.idalmacen=almacen.idalmacen WHERE 1 = 1 " + generarFiltro());
00117 
00119     cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalpedidocliente) AS total FROM pedidocliente LEFT JOIN cliente ON pedidocliente.idcliente=cliente.idcliente LEFT JOIN almacen ON pedidocliente.idalmacen = almacen.idalmacen WHERE 1 = 1 " + generarFiltro());
00121     if (cur) {
00122        m_total->setText(cur->valor("total"));
00123        delete cur;
00124     } // end if
00125     _depura("END PedidosClienteList::presenta", 0);
00126 }
00127 
00128 
00130 
00133 QString PedidosClienteList::generarFiltro() {
00135     _depura("PedidosClienteList::generarFiltro", 0);
00136     QString filtro = "";
00137     if (m_filtro->text() != "") {
00138         filtro = " AND ( lower(descpedidocliente) LIKE lower('%" + m_filtro->text() + "%') ";
00139         filtro +=" OR refpedidocliente LIKE '" + m_filtro->text() + "%' ";
00140         filtro += " OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00141     } else {
00142         filtro = "";
00143     } // end if
00144     if (m_cliente->idcliente() != "") {
00145         filtro += " AND pedidocliente.idcliente = " + m_cliente->idcliente();
00146     } // end if
00147 
00149     if (mui_procesada->currentIndex() == 1) {
00151         filtro += " AND procesadopedidocliente";
00152     } else if (mui_procesada->currentIndex() == 2) {
00154         filtro += " AND NOT procesadopedidocliente ";
00155     } // end if
00156 
00157 
00158 
00159     if (m_articulo->idarticulo() != "") {
00160         filtro += " AND idpedidocliente IN (SELECT DISTINCT idpedidocliente FROM lpedidocliente WHERE idarticulo = '" + m_articulo->idarticulo() + "')";
00161     } // end if
00162     if (m_fechain->text() != "") {
00163         filtro += " AND fechapedidocliente >= '" + m_fechain->text() + "' ";
00164     } // end if
00165     if (m_fechafin->text() != "") {
00166         filtro += " AND fechapedidocliente <= '" + m_fechafin->text() + "' ";
00167     } // end if
00168     return (filtro);
00169 }
00170 
00171 
00173 
00175 void PedidosClienteList::crear() {
00176     _depura("PedidosClienteList:crear", 0);
00177     PedidoClienteView *prov = new PedidoClienteView((Company *)empresaBase(), 0);
00178     empresaBase()->m_pWorkspace->addWindow(prov);
00179     prov->inicializar();
00180     prov->show();
00181     _depura("END PedidosClienteList:crear", 0);
00182 }
00183 
00184 
00186 
00190 void PedidosClienteList::editar(int row) {
00191     _depura("ProveedorList::editar", 0);
00192     try {
00193         m_idpedidocliente = mui_list->DBvalue(QString("idpedidocliente"), row);
00194         if (modoEdicion()) {
00195             PedidoClienteView *prov = new PedidoClienteView((Company *)empresaBase(), 0);
00196             if (prov->cargar(m_idpedidocliente)) {
00197                 delete prov;
00198                 return;
00199             } // end if
00200             empresaBase()->m_pWorkspace->addWindow(prov);
00201             prov->show();
00202         } else {
00203             emit(selected(m_idpedidocliente));
00204         } // end if
00205     } catch (...) {
00206         mensajeInfo(tr("Error al cargar el pedido cliente"));
00207     } // end try
00208     _depura("END ProveedorList::editar", 0);
00209 }
00210 
00211 
00213 
00215 void PedidosClienteList::imprimir() {
00216     _depura("PedidosClienteList::imprimir", 0);
00217     mui_list->imprimirPDF(tr("Pedidos de clientes"));
00218     _depura("END PedidosClienteList::imprimir", 0);
00219 }
00220 
00221 
00223 
00226 void PedidosClienteList::borrar() {
00227     _depura("PedidosClienteList::borrar", 0);
00228     int a = mui_list->currentRow();
00229     if (a < 0) {
00230         mensajeInfo(tr("Debe seleccionar una linea"));
00231         return;
00232     } // end if
00233     try {
00234         m_idpedidocliente = mui_list->DBvalue(QString("idpedidocliente"));
00235         if (modoEdicion()) {
00236             PedidoClienteView *pcv = ((Company *)empresaBase())->newPedidoClienteView();
00237             if (pcv->cargar(m_idpedidocliente)) {
00238                 throw -1;
00239             } // end if
00240             pcv->on_mui_borrar_clicked();
00241             pcv->close();
00242         } // end if
00243         presentar();
00244     } catch (...) {
00245         mensajeInfo(tr("Error al borrar el pedido de cliente"));
00246     } // end try
00247     _depura("END PedidosClienteList::borrar", 0);
00248 }
00249 
00250 
00252 
00255 void PedidosClienteList::setEmpresaBase(Company *comp) {
00256     _depura("PedidosClienteList::setEmpresaBase", 0);
00257     PEmpresaBase::setEmpresaBase( comp);
00258     m_cliente->setEmpresaBase(comp);
00259     mui_list->setEmpresaBase(comp);
00260     _depura("END PedidosClienteList::setEmpresaBase", 0);
00261 }
00262 
00263 
00265 
00267 QString PedidosClienteList::idpedidocliente() {
00268     _depura("PedidosClienteList::idpedidocliente", 0);
00269     _depura("END PedidosClienteList::idpedidocliente", 0);
00270     return m_idpedidocliente;
00271 }
00272 
00273 
00275 
00278 void PedidosClienteList::setidcliente(QString val) {
00279     _depura("PedidosClienteList::setidcliente", 0);
00280     m_cliente->setidcliente(val);
00281     _depura("END PedidosClienteList::setidcliente", 0);
00282 }
00283 
00288 
00291 PedidosClienteListSubform::PedidosClienteListSubform(QWidget *parent, const char *) : SubForm2Bf(parent) {
00292     _depura("PedidosClienteListSubform::PedidosClienteListSubform", 0);
00294     int res = g_plugins->lanza("PedidosClienteListSubform_PedidosClienteListSubform", this);
00295     if (res != 0)
00296         return;
00297     setDBTableName("pedidocliente");
00298     setDBCampoId("idpedidocliente");
00299     addSHeader("idpedidocliente", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("ID pedido"));
00300     addSHeader("numpedidocliente", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Pedido"));
00301     addSHeader("fechapedidocliente", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha"));
00302     addSHeader("nomcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Cliente"));
00303     addSHeader("refpedidocliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia"));
00304     addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base Imponible"));
00305     addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00306     addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total"));
00307     addSHeader("descpedidocliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion"));
00308     addSHeader("contactpedidocliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Persona de contacto"));
00309     addSHeader("telpedidocliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Telefono"));
00310     addSHeader("comentpedidocliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentario"));
00311     addSHeader("codigoalmacen", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Almacen"));
00312     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID trabajador"));
00313     addSHeader("idcliente", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID cliente"));
00314     addSHeader("idalmacen", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID almacen"));
00315     setinsercion(FALSE);
00316     setDelete(FALSE);
00317     setSortingEnabled(TRUE);
00318     _depura("END PedidosClienteListSubform::PedidosClienteListSubform", 0);
00319 }
00320 
00321 
00323 
00325 void PedidosClienteListSubform::cargar() {
00326     _depura("PedidosClienteListSubform::cargar", 0);
00327     QString SQLQuery = "SELECT * FROM pedidocliente";
00328     SubForm3::cargar(SQLQuery);
00329     _depura("END PedidosClienteListSubform::cargar", 0);
00330 }
00331 
00332 
00334 
00337 void PedidosClienteListSubform::cargar(QString query) {
00338     _depura("PedidosClienteListSubform::cargar", 0);
00339     SubForm3::cargar(query);
00340     _depura("END PedidosClienteListSubform::cargar", 0);
00341 }
00342 
00343 

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