pedidosproveedorlist.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 
00025 #include <stdio.h>
00026 
00027 #include "pedidosproveedorlist.h"
00028 #include "funcaux.h"
00029 #include "company.h"
00030 #include "configuracion.h"
00031 #include "pedidoproveedorview.h"
00032 
00033 
00035 
00039 PedidosProveedorList::PedidosProveedorList(QWidget *parent, Qt::WFlags flag)
00040         : Listado (NULL, parent, flag) {
00041     _depura("PedidosProveedorList::PedidosProveedorList", 0);
00042     setupUi(this);
00043     mdb_idpedidoproveedor = "";
00044     setSubForm(mui_list);
00045     hideBusqueda();
00046     iniciaForm();
00047     _depura("END PedidosProveedorList::PedidosProveedorList", 0);
00048 }
00049 
00050 
00052 
00057 PedidosProveedorList::PedidosProveedorList(Company *comp, QWidget *parent, Qt::WFlags flag)
00058         : Listado(comp, parent, flag) {
00059     _depura("PedidosProveedorList::PedidosProveedorList", 0);
00060     setupUi(this);
00061     m_proveedor->setEmpresaBase(comp);
00062     m_articulo->setEmpresaBase(comp);
00063     mui_list->setEmpresaBase(comp);
00064     presentar();
00065     setSubForm(mui_list);
00066     mdb_idpedidoproveedor = "";
00067     empresaBase()->meteWindow(windowTitle(), this);
00068     hideBusqueda();
00069     iniciaForm();
00071     trataPermisos("pedidoproveedor");
00072     _depura("END PedidosProveedorList::PedidosProveedorList", 0);
00073 }
00074 
00075 
00077 
00079 PedidosProveedorList::~PedidosProveedorList() {
00080     _depura("PedidosProveedorList::~PedidosProveedorList", 0);
00081     _depura("END PedidosProveedorList::~PedidosProveedorList", 0);
00082 }
00083 
00084 
00086 
00089 void PedidosProveedorList::iniciaForm() {
00090     _depura("PedidosProveedorList::iniciaForm");
00092     int res = g_plugins->lanza("PedidosProveedorList_iniciaForm", this);
00093     if (res != 0)
00094         return;
00095     mui_procesada->insertItem(0, tr("Todos los pedidos"));
00096     mui_procesada->insertItem(1, tr("Pedidos procesados"));
00097     mui_procesada->insertItem(2, tr("Pedidos no procesados"));
00098     _depura("END PedidosProveedorList::iniciaForm");
00099 }
00100 
00101 
00103 
00106 void PedidosProveedorList::presentar() {
00107     _depura("PedidosProveedorList::presentar", 0);
00108     mui_list->cargar("SELECT *, totalpedidoproveedor AS total, bimppedidoproveedor AS base, imppedidoproveedor AS impuestos FROM pedidoproveedor LEFT JOIN proveedor ON pedidoproveedor.idproveedor=proveedor.idproveedor LEFT JOIN almacen ON pedidoproveedor.idalmacen=almacen.idalmacen WHERE 1=1 " + generarFiltro());
00110     cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalpedidoproveedor) AS total FROM pedidoproveedor LEFT JOIN proveedor ON pedidoproveedor.idproveedor=proveedor.idproveedor LEFT JOIN almacen ON pedidoproveedor.idalmacen=almacen.idalmacen WHERE 1=1 " + generarFiltro());
00112     if(!cur) return;
00113     m_total->setText(cur->valor("total"));
00114     delete cur;
00115     _depura("END PedidosProveedorList::presentar", 0);
00116 }
00117 
00118 
00120 
00123 QString PedidosProveedorList::generarFiltro() {
00124     _depura("PedidosProveedorList::generarFiltro", 0);
00126     QString filtro = "";
00127 
00128     if (m_filtro->text() != "") {
00129         filtro = " AND ( lower(descpedidoproveedor) LIKE lower('%" + m_filtro->text() + "%') ";
00130         filtro +=" OR refpedidoproveedor LIKE '" + m_filtro->text() + "%' ";
00131         filtro += " OR lower(nomproveedor) LIKE lower('%" + m_filtro->text() + "%')) ";
00132     } // end if
00133     if (m_proveedor->idproveedor() != "") {
00134         filtro += " AND pedidoproveedor.idproveedor = " + m_proveedor->idproveedor();
00135     } // end if
00136 
00137 
00139     if (mui_procesada->currentIndex() == 1) {
00141         filtro += " AND procesadopedidoproveedor";
00142     } else if (mui_procesada->currentIndex() == 2) {
00144         filtro += " AND NOT procesadopedidoproveedor ";
00145     } // end if
00146 
00147 
00148     if (m_articulo->idarticulo() != "") {
00149         filtro += " AND idpedidoproveedor IN (SELECT DISTINCT idpedidoproveedor FROM lpedidoproveedor WHERE idarticulo = '" + m_articulo->idarticulo() + "')";
00150     } // end if
00151     if (m_fechain->text() != "") {
00152         filtro += " AND fechapedidoproveedor >= '" + m_fechain->text() + "' ";
00153     } // end if
00154     if (m_fechafin->text() != "") {
00155         filtro += " AND fechapedidoproveedor <= '" + m_fechafin->text() + "' ";
00156         //filtro += " ORDER BY "+orden[m_orden->currentItem()];
00157     } // end if
00158     _depura("END PedidosProveedorList::generarFiltro", 0);
00159     return (filtro);
00160 }
00161 
00162 
00164 
00166 void PedidosProveedorList::imprimir() {
00167     _depura("PedidosProveedorList::imprimir", 0);
00168     mui_list->imprimirPDF(tr("Pedidos a proveedores"));
00169     _depura("END PedidosProveedorList::imprimir", 0);
00170 }
00171 
00172 
00174 
00177 void PedidosProveedorList::borrar() {
00178     _depura("PedidosProveedorList::borrar", 0);
00179     int a = mui_list->currentRow();
00180     if (a < 0) {
00181         mensajeInfo(tr("Debe seleccionar una linea"));
00182         return;
00183     } // end if
00184     try {
00185         mdb_idpedidoproveedor = mui_list->DBvalue(QString("idpedidoproveedor"));
00186         if (modoEdicion()) {
00187             PedidoProveedorView *ppv = ((Company *)empresaBase())->nuevoPedidoProveedorView();
00188             if (ppv->cargar(mdb_idpedidoproveedor)) {
00189                 throw -1;
00190             } // end if
00191             ppv->on_mui_borrar_clicked();
00192             ppv->close();
00193         } // end if
00194         presentar();
00195     } catch (...) {
00196         mensajeInfo(tr("Error al borrar el pedido a proveedor"));
00197     } // end try
00198     _depura("END PedidosProveedorList::borrar", 0);
00199 }
00200 
00201 
00203 
00206 void PedidosProveedorList::editar(int row) {
00207     _depura("PedidosProveedorList::editar", 0);
00208     try {
00209         mdb_idpedidoproveedor = mui_list->DBvalue(QString("idpedidoproveedor"), row);
00210         if (modoEdicion()) {
00211             PedidoProveedorView *prov = new PedidoProveedorView((Company *)empresaBase(), 0);
00212             if (prov->cargar(mdb_idpedidoproveedor)) {
00213                 delete prov;
00214                 return;
00215             } // end if
00216             empresaBase()->m_pWorkspace->addWindow(prov);
00217             prov->show();
00218         } else {
00219             emit(selected(mdb_idpedidoproveedor));
00220         } // end if
00221     } catch (...) {
00222         mensajeInfo(tr("Error al cargar el pedido proveedor"));
00223     } // end try
00224     _depura("END PedidosProveedorList::editar", 0);
00225 }
00226 
00227 
00229 
00231 void PedidosProveedorList::crear() {
00232     _depura("PedidosProveedorList::crear", 0);
00233     PedidoProveedorView *prov = new PedidoProveedorView((Company *)empresaBase(), 0);
00234     empresaBase()->m_pWorkspace->addWindow(prov);
00235     prov->show();
00236     _depura("END PedidosProveedorList::crear", 0);
00237 }
00238 
00239 
00241 
00244 void PedidosProveedorList::setEmpresaBase(Company *comp) {
00245     _depura("PedidosProveedorList::setEmpresaBase", 0);
00246     PEmpresaBase::setEmpresaBase(comp);
00247     m_proveedor->setEmpresaBase(comp);
00248     mui_list->setEmpresaBase(comp);
00249     _depura("END PedidosProveedorList::setEmpresaBase", 0);
00250 }
00251 
00252 
00254 
00257 QString PedidosProveedorList::idpedidoproveedor() {
00258     _depura("PedidosProveedorList::idpedidoproveedor", 0);
00259     return mdb_idpedidoproveedor;
00260     _depura("END PedidosProveedorList::idpedidoproveedor", 0);
00261 }
00262 
00263 
00265 
00268 void PedidosProveedorList::setidproveedor(QString val) {
00269     _depura("PedidosProveedorList::setidproveedor", 0);
00270     m_proveedor->setidproveedor(val);
00271     _depura("END PedidosProveedorList::setidproveedor", 0);
00272 }
00273 
00274 
00279 
00282 PedidosProveedorListSubform::PedidosProveedorListSubform(QWidget *parent) : SubForm2Bf(parent) {
00283     _depura("PedidosProveedorListSubform::PedidosProveedorListSubform", 0);
00284     setDBTableName("pedidoproveedor");
00285     setDBCampoId("idpedidoproveedor");
00286     addSHeader("numpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero de pedido"));
00287     addSHeader("nomproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre de proveedor"));
00288     addSHeader("fechapedidoproveedor", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha pedido proveedor"));
00289     addSHeader("refpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia pedido"));
00290     addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base Imponible"));
00291     addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00292     addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total pedido"));
00293     addSHeader("descpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion pedido proveedor"));
00294     addSHeader("codigoalmacen", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Codigo de almacen"));
00295     addSHeader("contactpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Persona de contacto proveedor"));
00296     addSHeader("telpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Telefono proveedor"));
00297     addSHeader("comentpedidoproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentario pedido proveedor"));
00298     addSHeader("idpedidoproveedor", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("Id pedido"));
00299     addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id trabajador"));
00300     addSHeader("idproveedor", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id proveedor"));
00301     addSHeader("idalmacen", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Id almacen"));
00302     setinsercion(FALSE);
00303     setDelete(FALSE);
00304     setSortingEnabled(TRUE);
00305     _depura("END PedidosProveedorListSubform::PedidosProveedorListSubform", 0);
00306 }
00307 
00308 
00310 
00312 void PedidosProveedorListSubform::cargar() {
00313     _depura("PedidosProveedorListSubform::cargar", 0);
00314     QString SQLQuery = "SELECT * FROM pedidoproveedor";
00315     SubForm3::cargar(SQLQuery);
00316     _depura("END PedidosProveedorListSubform::cargar", 0);
00317 }
00318 
00319 
00321 
00324 void PedidosProveedorListSubform::cargar(QString query) {
00325     _depura("PedidosProveedorListSubform::cargar", 0);
00326     SubForm3::cargar(query);
00327     _depura("END PedidosProveedorListSubform::cargar", 0);
00328 }
00329 
00330 
00332 
00334 PedidosProveedorListSubform::~PedidosProveedorListSubform() {
00335     _depura("PedidosProveedorListSubform::~PedidosProveedorListSubform", 0);
00336     _depura("END PedidosProveedorListSubform::~PedidosProveedorListSubform", 0);
00337 }

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