albaranesproveedor.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2004 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 <QCheckBox>
00023 #include <QFile>
00024 #include <QMessageBox>
00025 #include <QTextStream>
00026 
00027 #include "albaranesproveedor.h"
00028 #include "albaranproveedorview.h"
00029 #include "company.h"
00030 #include "configuracion.h"
00031 #include "funcaux.h"
00032 #include "presupuestoview.h"
00033 
00034 
00046 AlbaranesProveedor::AlbaranesProveedor(QWidget *parent, Qt::WFlags flag)
00047         : Listado(NULL, parent, flag) {
00048     _depura("AlbaranesProveedor::AlbaranesProveedor", 0);
00049     setupUi(this);
00050     mdb_idalbaranp = "";
00051     setSubForm(mui_list);
00052     hideBusqueda();
00053     iniciaForm();
00054     _depura("END AlbaranesProveedor::AlbaranesProveedor", 0);
00055 }
00056 
00057 
00059 
00062 void AlbaranesProveedor::setEmpresaBase(Company *comp) {
00063     _depura("AlbaranesProveedor::setEmpresaBase", 0);
00064     PEmpresaBase::setEmpresaBase(comp);
00065     m_proveedor->setEmpresaBase(comp);
00066     m_articulo->setEmpresaBase(comp);
00067     mui_list->setEmpresaBase(comp);
00068     _depura("END AlbaranesProveedor::setEmpresaBase", 0);
00069 }
00070 
00071 
00073 
00075 void AlbaranesProveedor::crear()  {
00076     _depura("AlbaranesProveedor::crear", 0);
00077     if (empresaBase() != NULL)
00078         ((Company *)empresaBase())->s_newAlbaranPro();
00079     _depura("END AlbaranesProveedor::crear", 0);
00080 }
00081 
00082 
00084 
00087 void AlbaranesProveedor::setidproveedor(QString val) {
00088     _depura("AlbaranesProveedor::setidproveedor", 0);
00089     m_proveedor->setidproveedor(val);
00090     _depura("END AlbaranesProveedor::setidproveedor", 0);
00091 }
00092 
00093 
00095 
00098 void AlbaranesProveedor::setidarticulo(QString val) {
00099     _depura("AlbaranesProveedor::setidarticulo", 0);
00100     m_articulo->setidarticulo(val);
00101     _depura("AlbaranesProveedor::setidarticulo", 0);
00102 }
00103 
00104 
00106 
00109 QString AlbaranesProveedor::idalbaranp() {
00110     _depura("AlbaranesProveedor::idalbaranp", 0);
00111     _depura("END AlbaranesProveedor::idalbaranp", 0);
00112     return mdb_idalbaranp;
00113 }
00114 
00115 
00127 AlbaranesProveedor::AlbaranesProveedor(Company *comp, QWidget *parent, Qt::WFlags flag)
00128         : Listado(comp, parent, flag) {
00129     _depura("AlbaranesProveedor::AlbaranesProveedor", 0);
00130     setupUi(this);
00131     m_proveedor->setEmpresaBase(comp);
00132     m_articulo->setEmpresaBase(comp);
00133     mui_list->setEmpresaBase(comp);
00134     setSubForm(mui_list);
00135     presentar();
00136     mdb_idalbaranp = "";
00137     empresaBase()->meteWindow(windowTitle(), this);
00138     hideBusqueda();
00139     iniciaForm();
00141     trataPermisos("albaranp");
00142     _depura("END AlbaranesProveedor::AlbaranesProveedor", 0);
00143 }
00144 
00145 
00147 
00150 void AlbaranesProveedor::iniciaForm() {
00151     _depura("FacturasProveedorList::iniciaForm");
00153     int res = g_plugins->lanza("AlbaranesProveedor_iniciaForm", this);
00154     if (res != 0)
00155         return;
00156     mui_procesada->insertItem(0, tr("Todos los albaranes"));
00157     mui_procesada->insertItem(1, tr("Albaranes procesados"));
00158     mui_procesada->insertItem(2, tr("Albaranes no procesados"));
00159     _depura("END AlbaranesProveedor::iniciaForm");
00160 }
00161 
00162 
00163 
00168 AlbaranesProveedor::~AlbaranesProveedor() {
00169     _depura("AlbaranesProveedor::~AlbaranesProveedor", 0);
00170     _depura("END AlbaranesProveedor::~AlbaranesProveedor", 0);
00171 }
00172 
00173 
00181 void AlbaranesProveedor::presentar() {
00182     _depura("AlbaranesProveedor::presentar", 0);
00183     if (empresaBase() != NULL ) {
00184         mui_list->cargar("SELECT *, totalalbaranp AS total, " \
00185                         "bimpalbaranp AS base, impalbaranp AS impuestos " \
00186                         "FROM albaranp LEFT " \
00187                         "JOIN proveedor ON albaranp.idproveedor = " \
00188                         "proveedor.idproveedor LEFT JOIN almacen ON " \
00189                         "albaranp.idalmacen = almacen.idalmacen LEFT JOIN " \
00190                         "forma_pago ON albaranp.idforma_pago = " \
00191                         "forma_pago.idforma_pago WHERE 1 = 1 " + generaFiltro());
00192 
00194         cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalalbaranp) " \
00195                                         "AS total FROM albaranp LEFT JOIN proveedor ON " \
00196                                         "albaranp.idproveedor = proveedor.idproveedor LEFT " \
00197                                         "JOIN almacen ON albaranp.idalmacen = almacen.idalmacen " \
00198                                         "WHERE 1 = 1 " + generaFiltro());
00200         if (!cur) return;
00201         m_total->setText(cur->valor("total"));
00202         delete cur;
00203     }
00204     _depura("END AlbaranesProveedor::presentar", 0);
00205 }
00206 
00207 
00214 QString AlbaranesProveedor::generaFiltro() {
00215     _depura("AlbaranesProveedor::generaFiltro", 0);
00216     QString filtro = "";
00217 
00218     if (m_filtro->text() != "") {
00219         filtro = " AND ( lower(descalbaranp) LIKE lower('%" + m_filtro->text() + "%') ";
00220         filtro +=" OR refalbaranp LIKE '" + m_filtro->text() + "%' ";
00221         filtro +=" OR lower(nomproveedor) LIKE lower('%" + m_filtro->text() + "%')) ";
00222     }
00223 
00224     if (m_proveedor->idproveedor() != "")
00225         filtro += " AND albaranp.idproveedor = " + m_proveedor->idproveedor();
00226 
00228     if (mui_procesada->currentIndex() == 1) {
00230         filtro += " AND procesadoalbaranp";
00231     } else if (mui_procesada->currentIndex() == 2) {
00233         filtro += " AND NOT procesadoalbaranp ";
00234     } // end if
00235 
00236     if (m_articulo->idarticulo() != "")
00237         filtro += " AND idalbaranp IN (SELECT DISTINCT idalbaranp FROM lalbaranp " \
00238                   "WHERE idarticulo = '" + m_articulo->idarticulo() + "')";
00239     if (m_fechain->text() != "")
00240         filtro += " AND fechaalbaranp >= '" + m_fechain->text() + "' ";
00241     if (m_fechafin->text() != "")
00242         filtro += " AND fechaalbaranp <= '" + m_fechafin->text() + "' ";
00243     _depura("END AlbaranesProveedor::generaFiltro", 0);
00244     return (filtro);
00245 }
00246 
00247 
00256 void AlbaranesProveedor::editar(int row) {
00257     _depura("AlbaranesProveedor::editar", 0);
00258     mdb_idalbaranp = mui_list->DBvalue(QString("idalbaranp"), row);
00259     if (modoEdicion()) {
00260         AlbaranProveedorView *prov = new AlbaranProveedorView((Company *)empresaBase(), 0);
00261         if (prov->cargar(mdb_idalbaranp)) {
00262             delete prov;
00263             return;
00264         } // end if
00265         empresaBase()->m_pWorkspace->addWindow(prov);
00266         prov->show();
00267     } else {
00268         emit(selected(mdb_idalbaranp));
00269     } // end if
00270     _depura("END AlbaranesProveedor::editar", 0);
00271 }
00272 
00273 
00274 
00279 void AlbaranesProveedor::imprimir() {
00280     _depura("AlbaranesProveedor::imprimir", 0);
00281     mui_list->imprimirPDF(tr("Albaranes de proveedor"));
00282     _depura("END AlbaranesProveedor::imprimir", 0);
00283 }
00284 
00285 
00295 void AlbaranesProveedor::borrar() {
00296     _depura("AlbaranesProveedor::borrar", 0);
00297     int a = mui_list->currentRow();
00298     if (a < 0) {
00299         mensajeInfo(tr("Debe seleccionar una linea"));
00300         return;
00301     } // end if
00302     try {
00303         mdb_idalbaranp = mui_list->DBvalue(QString("idalbaranp"));
00304         if (modoEdicion()) {
00305             AlbaranProveedorView *apv = ((Company *)empresaBase())->newAlbaranProveedorView();
00306             if (apv->cargar(mdb_idalbaranp)) {
00307                 throw -1;
00308             } // end if
00309             apv->on_mui_borrar_clicked();
00310             apv->close();
00311         } // end if
00312         presentar();
00313     } catch (...) {
00314         mensajeInfo(tr("Error al borrar albaran de proveedor"));
00315     } // end try
00316     _depura("END AlbaranesProveedor::borrar", 0);
00317 }
00318 
00319 
00323 
00328 
00329 
00331 AlbaranesProveedorListSubform::~AlbaranesProveedorListSubform() {
00332     _depura("AlbaranesProveedorListSubform::~AlbaranesProveedorListSubform", 0);
00333     _depura("END AlbaranesProveedorListSubform::~AlbaranesProveedorListSubform", 0);
00334 }
00335 
00336 
00338 
00341 AlbaranesProveedorListSubform::AlbaranesProveedorListSubform(QWidget *parent) : SubForm2Bf(parent) {
00342     _depura("AlbaranesProveedorListSubform::AlbaranesProveedorListSubform", 0);
00343     setDBTableName("albaranp");
00344     setDBCampoId("idalbaranp");
00345     addSHeader("idalbaranp", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("ID albaran"));
00346     addSHeader("numalbaranp", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero de albaran"));
00347     addSHeader("descalbaranp", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion"));
00348     addSHeader("refalbaranp", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Referencia"));
00349     addSHeader("fechaalbaranp", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha"));
00350     addSHeader("comentalbaranp", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentario"));
00351     addSHeader("procesadoalbaranp", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Procesado"));
00352     addSHeader("idproveedor", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID proveedor"));
00353     addSHeader("idforma_pago", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID forma de pago"));
00354     addSHeader("idalmacen", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID almacen"));
00355     addSHeader("nomproveedor", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre del proveedor"));
00356     addSHeader("nomalmacen", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre del almacen"));
00357     addSHeader("descforma_pago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion de la forma de pago"));
00358     addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base imponible"));
00359     addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00360     addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total albaran"));
00361     setinsercion(FALSE);
00362     setDelete(FALSE);
00363     setSortingEnabled(TRUE);
00364     _depura("END AlbaranesProveedorListSubform::AlbaranesProveedorListSubform", 0);
00365 }
00366 
00367 
00369 
00371 void AlbaranesProveedorListSubform::cargar() {
00372     _depura("AlbaranesProveedorListSubform::cargar", 0);
00373     QString SQLQuery = "SELECT * FROM albaranp";
00374     SubForm3::cargar(SQLQuery);
00375     _depura("END AlbaranesProveedorListSubform::cargar", 0);
00376 }
00377 
00378 
00380 
00383 void AlbaranesProveedorListSubform::cargar(QString query) {
00384     _depura("AlbaranesProveedorListSubform::cargar", 0);
00385     SubForm3::cargar(query);
00386     _depura("END AlbaranesProveedorListSubform::cargar", 0);
00387 }
00388 

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