busquedaproveedor.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 <QDialog>
00022 
00023 #include "busquedaproveedor.h"
00024 #include "providerslist.h"
00025 #include "company.h"
00026 #include "funcaux.h"
00027 
00028 
00035 BusquedaProveedor::BusquedaProveedor(QWidget *parent)
00036         : BLWidget(parent) {
00037     _depura("BusquedaProveedor::BusquedaProveedor", 0);
00038     setupUi(this);
00039     mdb_idproveedor = "";
00040     mdb_nomproveedor = "";
00041     mdb_cifproveedor = "";
00042     mdb_codproveedor = "";
00043     m_semaforo = FALSE;
00044     _depura("END BusquedaProveedor::BusquedaProveedor", 0);
00045 }
00046 
00047 
00054 void BusquedaProveedor::pinta() {
00055     _depura("BusquedaProveedor::pinta", 0);
00056     m_semaforo = TRUE;
00057     m_cifproveedor->setText(mdb_cifproveedor);
00058     m_nomproveedor->setText(mdb_codproveedor + ".- " + mdb_nomproveedor);
00059     m_semaforo = FALSE;
00060     emit(valueChanged(mdb_idproveedor));
00061     _depura("END BusquedaProveedor::pinta", 0);
00062 }
00063 
00064 
00069 BusquedaProveedor::~BusquedaProveedor() {
00070     _depura("BusquedaProveedor::~BusquedaProveedor", 0);
00071     _depura("END BusquedaProveedor::~BusquedaProveedor", 0);
00072 }
00073 
00074 
00082 void BusquedaProveedor::setidproveedor(QString val) {
00083     _depura("BusquedaProveedor::setidproveedor", 0);
00084     mdb_idproveedor = val;
00085     if (mdb_idproveedor != "") {
00086         QString SQLQuery = "SELECT * FROM proveedor WHERE idproveedor = '" + mdb_idproveedor + "'";
00087         cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00088         if (!cur->eof()) {
00089                 mdb_cifproveedor = cur->valor("cifproveedor");
00090                 mdb_nomproveedor = cur->valor("nomproveedor");
00091                 mdb_codproveedor = cur->valor("codproveedor");
00092         } // end if
00093         delete cur;
00094     } else {
00095         mdb_idproveedor = "";
00096         mdb_nomproveedor = "";
00097         mdb_cifproveedor = "";
00098         mdb_codproveedor = "";
00099     } // end if
00100     pinta();
00101     _depura("END BusquedaProveedor::setidproveedor", 0);
00102 }
00103 
00105 
00108 void BusquedaProveedor::setValorCampo(QString val) {
00109     _depura("BusquedaProveedor::setValorCampo", 0);
00110         setidproveedor(val);
00111     _depura("END BusquedaProveedor::setValorCampo", 0);
00112 }
00113 
00121 void BusquedaProveedor::setcifproveedor(QString val) {
00122     _depura("BusquedaProveedor::setcifproveedor", 0);
00123     mdb_cifproveedor = val;
00124     QString SQLQuery = "SELECT * FROM proveedor WHERE cifproveedor = '" + mdb_cifproveedor + "'";
00125     cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00126 
00127     if (!cur->eof()) {
00128         mdb_idproveedor = cur->valor("idproveedor");
00129         mdb_nomproveedor = cur->valor("nomproveedor");
00130         mdb_codproveedor = cur->valor("codproveedor");
00131     } else {
00132         mdb_idproveedor = "";
00133         mdb_nomproveedor = "";
00134         mdb_codproveedor = "";
00135     } // end if
00136 
00137     delete cur;
00138     pinta();
00139     _depura("END BusquedaProveedor::setcifproveedor", 0);
00140 }
00141 
00142 
00150 void BusquedaProveedor::on_mui_buscar_clicked() {
00151     _depura("BusquedaProveedor::on_mui_buscar_clicked", 0);
00152 
00154     QDialog *diag = new QDialog(0);
00155     diag->setModal(true);
00156 
00157     ProveedorList *providers = new ProveedorList((Company *) empresaBase(), diag, 0, ProveedorList::SelectMode);
00158     connect(providers, SIGNAL(selected(QString)), diag, SLOT(accept()));
00159 
00162     QHBoxLayout *layout = new QHBoxLayout;
00163     layout->addWidget(providers);
00164     layout->setMargin(0);
00165     layout->setSpacing(0);
00166     diag->setLayout(layout);
00167     diag->setWindowTitle(providers->windowTitle());
00168 
00169     diag->exec();
00170 
00171     if (providers->cifprovider() != "") {
00172         setcifproveedor(providers->cifprovider());
00173         emit(valueChanged(mdb_idproveedor));
00174     } // end if
00175 
00176     delete providers;
00177     delete diag;
00178     _depura("END BusquedaProveedor::on_mui_buscar_clicked", 0);
00179 }
00180 
00186 void BusquedaProveedor::on_m_cifproveedor_editingFinished() {
00187     _depura("BusquedaProveedor::on_m_cifproveedor_editingFinished", 0);
00188     pinta();
00189     emit(valueChanged(mdb_idproveedor));
00190     _depura("END BusquedaProveedor::on_m_cifproveedor_editingFinished", 0);
00191 }
00192 
00201 void BusquedaProveedor::on_m_cifproveedor_textChanged(const QString &val) {
00202     _depura("BusquedaProveedor::on_m_cifproveedor_textChanged", 0);
00203     if (m_semaforo)
00204         return;
00205 
00206     bool encontrado = FALSE;
00207     QString SQLQuery = "SELECT * FROM proveedor WHERE cifproveedor = '" + val + "'";
00208     cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00209     if (!cur->eof()) {
00210         mdb_idproveedor = cur->valor("idproveedor");
00211         mdb_nomproveedor = cur->valor("nomproveedor");
00212         mdb_cifproveedor = cur->valor("cifproveedor");
00213         mdb_codproveedor = cur->valor("codproveedor");
00214         encontrado = TRUE;
00215     }
00216     delete cur;
00217 
00218     if (!encontrado) {
00219         QString SQLQuery = "SELECT * FROM proveedor WHERE codproveedor = '" + val + "'";
00220         cur = empresaBase()->cargacursor(SQLQuery);
00221         if(!cur->eof()) {
00222             mdb_idproveedor = cur->valor("idproveedor");
00223             mdb_nomproveedor = cur->valor("nomproveedor");
00224             mdb_cifproveedor = cur->valor("cifproveedor");
00225             mdb_codproveedor = cur->valor("codproveedor");
00226             encontrado = TRUE;
00227         } // end if
00228         delete cur;
00229     } // end if
00230 
00231     if (!encontrado) {
00232         QString SQLQuery = "SELECT * FROM proveedor WHERE upper(nomproveedor) LIKE upper('%" + val + "%')";
00233         cur = empresaBase()->cargacursor(SQLQuery);
00234         if(cur->numregistros() == 1) {
00235             mdb_idproveedor = cur->valor("idproveedor");
00236             mdb_nomproveedor = cur->valor("nomproveedor");
00237             mdb_cifproveedor = cur->valor("cifproveedor");
00238             mdb_codproveedor = cur->valor("codproveedor");
00239             encontrado = TRUE;
00240         } // end if
00241         delete cur;
00242     } // end if
00243 
00244 
00245     if (!encontrado) {
00246         m_nomproveedor->setText("");
00247     } // end if
00248 
00249     if (encontrado) {
00250         m_nomproveedor->setText(mdb_codproveedor + ".- " + mdb_nomproveedor);
00251     } // end if
00252     _depura("END BusquedaProveedor::on_m_cifproveedor_textChanged", 0);
00253 }
00254 
00255 
00261 QString BusquedaProveedor::cifproveedor() {
00262     _depura("BusquedaProveedor::cifproveedor", 0);
00263     _depura("END BusquedaProveedor::cifproveedor", 0);
00264     return m_cifproveedor->text();
00265 }
00266 
00267 
00273 QString BusquedaProveedor::idproveedor() {
00274     _depura("BusquedaProveedor::idproveedor", 0);
00275     _depura("END BusquedaProveedor::idproveedor", 0);
00276     return mdb_idproveedor;
00277 }
00278 
00279 
00285 QString BusquedaProveedor::valorCampo() {
00286     _depura("BusquedaProveedor::idproveedor", 0);
00287     _depura("END BusquedaProveedor::idproveedor", 0);
00288     return mdb_idproveedor;
00289 }
00290 
00291 
00296 QString BusquedaProveedor::nomproveedor() {
00297     _depura("BusquedaProveedor::nomproveedor", 0);
00298     _depura("END BusquedaProveedor::nomproveedor", 0);
00299     return nomproveedor();
00300 }
00301 

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