InformeArtQToolButton Class Reference

#include <informeqtoolbutton.h>

Inheritance diagram for InformeArtQToolButton:

QToolButton PEmpresaBase

Public Slots

virtual void click ()

Public Member Functions

 InformeArtQToolButton (ArticuloList *, QWidget *parent=NULL)
 ~InformeArtQToolButton ()
void setBoton ()
QString generarArticulos ()

Private Attributes

ArticuloListm_articuloList

Detailed Description

Definition at line 55 of file informeqtoolbutton.h.


Constructor & Destructor Documentation

InformeArtQToolButton::InformeArtQToolButton ( ArticuloList art,
QWidget parent = NULL 
)

Parameters:
art 
parent 

Definition at line 348 of file informeqtoolbutton.cpp.

References _depura(), m_articuloList, and setBoton().

00348                                                                                 : QToolButton(parent), PEmpresaBase() {
00349     _depura("InformeArtQToolButton::InformeQToolButton", 0);
00350     m_articuloList = art;
00351     setBoton();
00352     _depura("END InformeArtQToolButton::InformeQToolButton", 0);
00353 }

InformeArtQToolButton::~InformeArtQToolButton (  ) 

Definition at line 359 of file informeqtoolbutton.cpp.

References _depura().

00359                                               {
00360     _depura("InformeArtQToolButton::~InformeArtQToolButton", 0);
00361     _depura("END InformeQToolButton::~InformeQToolButton", 0);
00362 }


Member Function Documentation

void InformeArtQToolButton::setBoton (  ) 

Definition at line 368 of file informeqtoolbutton.cpp.

References _depura(), and click().

Referenced by InformeArtQToolButton().

00368                                      {
00369     _depura("InformeArtQToolButton::setBoton", 0);
00370     connect(this, SIGNAL(clicked()), this, SLOT(click()));
00371     setObjectName(QString::fromUtf8("exporta"));
00372     setStatusTip("Imprimir Informe Resumen");
00373     setToolTip("Imprimir Informe Resumen");
00374     setMinimumSize(QSize(32, 32));
00375     setIcon(QIcon(QString::fromUtf8("/usr/share/bulmages/icons/catalogo.png")));
00376     setIconSize(QSize(22, 22));
00377     _depura("END InformeArtQToolButton::setBoton", 0);
00378 }

QString InformeArtQToolButton::generarArticulos (  ) 

Parameters:
idcliente 
Returns:

Generacion del informe de ventas.

Definition at line 440 of file informeqtoolbutton.cpp.

References _depura(), postgresiface2::cargacursor(), PEmpresaBase::empresaBase(), cursor2::eof(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by click().

00440                                                 {
00441     _depura("InformeQToolButton::generarCliente", 0);
00442     QString fitxersortidatxt;
00443 
00444 
00446     fitxersortidatxt += "<blockTable style=\"tablaresumen\" colWidths=\"9cm, 1.5cm, 1.5cm, 1.5cm, 1.5cm, 1.5cm, 1.5cm, 1.5cm\" repeatRows=\"1\">\n";
00447     fitxersortidatxt += "<tr>\n";
00448     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "Articulo") + "</td>\n";
00449     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "C. Ped.") + "</td>\n";
00450     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "C. Entr.") + "</td>\n";
00451     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "C. Fact.") + "</td>\n";
00452     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "V. Pres.") + "</td>\n";
00453     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "V. Ped.") + "</td>\n";
00454     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "V. Entr.") + "</td>\n";
00455     fitxersortidatxt += "    <td>" + QApplication::translate("InformeClientes", "V. Fact.") + "</td>\n";
00456     fitxersortidatxt += "</tr>\n";
00457 
00458     QString SQLQuery = " SELECT * FROM articulo ";
00459     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlpresupuesto) AS cantlpresupuestot  FROM lpresupuesto   GROUP BY idarticulo) AS t1 ON t1.idarticulo = articulo.idarticulo ";
00460     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlpedidocliente) AS cantlpedidoclientet  FROM lpedidocliente GROUP BY idarticulo) AS t2 ON t2.idarticulo = articulo.idarticulo ";
00461     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlalbaran) AS cantlalbarant  FROM lalbaran GROUP BY idarticulo) AS t3 ON t3.idarticulo = articulo.idarticulo ";
00462     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlfactura) AS cantlfacturat  FROM lfactura GROUP BY idarticulo) AS t4 ON t4.idarticulo = articulo.idarticulo ";
00463     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlpedidoproveedor) AS cantlpedidoproveedort  FROM lpedidoproveedor GROUP BY idarticulo) AS t7 ON t7.idarticulo = articulo.idarticulo ";
00464     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlalbaranp) AS cantlalbaranpt  FROM lalbaranp GROUP BY idarticulo) AS t5 ON t5.idarticulo = articulo.idarticulo ";
00465     SQLQuery += " LEFT JOIN (SELECT idarticulo, SUM(cantlfacturap) AS cantlfacturapt  FROM lfacturap GROUP BY idarticulo) AS t6 ON t6.idarticulo = articulo.idarticulo ";
00466     SQLQuery += " WHERE  (cantlpresupuestot <>0 OR cantlpedidoclientet <> 0 OR cantlalbarant <> 0 OR cantlfacturat <> 0 OR cantlpedidoproveedort <> 0 OR cantlalbaranpt <> 0 OR cantlfacturapt <> 0) ";
00467     cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00468     while (!cur->eof() ) {
00469         fitxersortidatxt += "<tr>\n";
00470         fitxersortidatxt += "    <td>" + cur->valor("nomarticulo") + "</td>\n";
00471         fitxersortidatxt += "    <td>" + cur->valor("cantlpedidoproveedort") + "</td>\n";
00472         fitxersortidatxt += "    <td>" + cur->valor("cantlalbaranpt") + "</td>\n";
00473         fitxersortidatxt += "    <td>" + cur->valor("cantlfacturapt") + "</td>\n";
00474         fitxersortidatxt += "    <td>" + cur->valor("cantlpresupuestot") + "</td>\n";
00475         fitxersortidatxt += "    <td>" + cur->valor("cantlpedidoclientet") + "</td>\n";
00476         fitxersortidatxt += "    <td>" + cur->valor("cantlalbarant") + "</td>\n";
00477         fitxersortidatxt += "    <td>" + cur->valor("cantlfacturat") + "</td>\n";
00478         fitxersortidatxt += "</tr>\n";
00479         cur->siguienteregistro();
00480     } // end while
00481     delete cur;
00482 
00483     fitxersortidatxt += "</blockTable>\n";
00484 
00485     _depura("END InformeQToolButton::generarArticulos", 0);
00486     return fitxersortidatxt;
00487 }

void InformeArtQToolButton::click (  )  [virtual, slot]

Definition at line 384 of file informeqtoolbutton.cpp.

References _depura(), CONF_DIR_OPENREPORTS, CONF_DIR_USER, confpr, PEmpresaBase::empresaBase(), generarArticulos(), invocaPDF(), m_articuloList, PEmpresaBase::setEmpresaBase(), and configuracion::valor().

Referenced by setBoton().

00384                                   {
00385     _depura("InformeArtQToolButton::click", 0);
00386     // Puede que no se haya actualizado bien el company
00387     setEmpresaBase(m_articuloList->empresaBase());
00388 
00389     QString archivo = confpr->valor(CONF_DIR_OPENREPORTS) + "informearticulos.rml";
00390     QString archivod = confpr->valor(CONF_DIR_USER) + "informearticulos.rml";
00391     QString archivologo = confpr->valor(CONF_DIR_OPENREPORTS) + "logo.jpg";
00392 
00394 #ifdef WINDOWS
00395 
00396     archivo = "copy " + archivo + " " + archivod;
00397 #else
00398 
00399     archivo = "cp " + archivo + " " + archivod;
00400 #endif
00401 
00402     system (archivo.toAscii().constData());
00403 
00405 #ifdef WINDOWS
00406 
00407     archivologo = "copy " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg";
00408 #else
00409 
00410     archivologo = "cp " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg";
00411 #endif
00412 
00413     QFile file;
00414     file.setFileName(archivod);
00415     file.open(QIODevice::ReadOnly);
00416     QTextStream stream(&file);
00417     QString buff = stream.readAll();
00418     file.close();
00419     QString fitxersortidatxt = generarArticulos();
00420 
00421 
00422     buff.replace("[story]", fitxersortidatxt);
00423 
00424     if (file.open(QIODevice::WriteOnly)) {
00425         QTextStream stream(&file);
00426         stream << buff;
00427         file.close();
00428     } // end if
00429     invocaPDF("informearticulos");
00430 
00431     _depura("END InformeQToolButton::click", 0);
00432 }


Field Documentation

ArticuloList* InformeArtQToolButton::m_articuloList [private]

Definition at line 59 of file informeqtoolbutton.h.

Referenced by click(), and InformeArtQToolButton().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:55 2007 for BulmaGes by  doxygen 1.5.1