00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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 }
00133 if (m_proveedor->idproveedor() != "") {
00134 filtro += " AND pedidoproveedor.idproveedor = " + m_proveedor->idproveedor();
00135 }
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 }
00146
00147
00148 if (m_articulo->idarticulo() != "") {
00149 filtro += " AND idpedidoproveedor IN (SELECT DISTINCT idpedidoproveedor FROM lpedidoproveedor WHERE idarticulo = '" + m_articulo->idarticulo() + "')";
00150 }
00151 if (m_fechain->text() != "") {
00152 filtro += " AND fechapedidoproveedor >= '" + m_fechain->text() + "' ";
00153 }
00154 if (m_fechafin->text() != "") {
00155 filtro += " AND fechapedidoproveedor <= '" + m_fechafin->text() + "' ";
00156
00157 }
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 }
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 }
00191 ppv->on_mui_borrar_clicked();
00192 ppv->close();
00193 }
00194 presentar();
00195 } catch (...) {
00196 mensajeInfo(tr("Error al borrar el pedido a proveedor"));
00197 }
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 }
00216 empresaBase()->m_pWorkspace->addWindow(prov);
00217 prov->show();
00218 } else {
00219 emit(selected(mdb_idpedidoproveedor));
00220 }
00221 } catch (...) {
00222 mensajeInfo(tr("Error al cargar el pedido proveedor"));
00223 }
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 }