EFacturaRecepcion Class Reference

#include <efacturarecepcion.h>

Inheritance diagram for EFacturaRecepcion:

FichaBf Ui_EFacturaRecepcionBase Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void on_mui_recibir_clicked ()
virtual void on_mui_abrir_clicked ()
virtual void on_mui_salir_clicked ()

Public Member Functions

 EFacturaRecepcion (Company *emp, QWidget *parent=0)
 ~EFacturaRecepcion ()

Detailed Description

Definition at line 30 of file efacturarecepcion.h.


Constructor & Destructor Documentation

EFacturaRecepcion::EFacturaRecepcion ( Company emp,
QWidget parent = 0 
)

Parameters:
emp 
parent 

Definition at line 38 of file efacturarecepcion.cpp.

References _depura(), and Ui_EFacturaRecepcionBase::setupUi().

00038                                                                   : FichaBf(emp, parent) {
00039         _depura("EFacturaRecepcion::EFacturaRecepcion", 0);
00040         QString query;
00041         
00042         setupUi(this);  // Para que el form se inicialice bien
00043         _depura("END EFacturaRecepcion::EFacturaRecepcion", 0);
00044 }

EFacturaRecepcion::~EFacturaRecepcion (  ) 

Definition at line 50 of file efacturarecepcion.cpp.

References _depura().

00050                                       {
00051         _depura("EFacturaRecepcion::~EFacturaRecepcion", 0);
00052         _depura("EFacturaRecepcion::~EFacturaRecepcion", 0);
00053 }


Member Function Documentation

void EFacturaRecepcion::on_mui_recibir_clicked (  )  [virtual, slot]

Returns:

Obtenemos los valores de configuracion necesarios para obtener eFacturas por e-mail

Comprobamos que el directorio especificado existeAboutView

Llamamos al script para recibir e-mails con los parametros obtenidos

Obtenemos los directorios alojados en nuestra carpeta de eFacturas recibidas

Evitamos los directorios "." y ".."

Entramos en el directorio

Buscamos solo archivos

Obtenemos la lista de archivos (en teoria solo debe de haber uno, el XML con la efactura)

Obtenemos info del archivo

Creamos una nueva fila y la usamos

Nombre del fichero

Nombre del directorio que lo contiene

Volvemos al directorio de efacturas

Obtenemos el nombre del archivo XML incluido en cada uno de ellos y los mostramos en pantalla

Liberamos memoria con los datos que ya no necesitamos

Definition at line 60 of file efacturarecepcion.cpp.

References _depura(), postgresiface2::cargacursor(), FichaBf::empresaBase(), Ui_EFacturaRecepcionBase::mui_facturasRecibidas, and cursor2::valor().

00060                                                {
00061         _depura("EFacturaRecepcion::on_mui_salir_clicked", 0);
00062         
00064         
00065         QString query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_dirEmail'";
00066         cursor2 *dirEmail = empresaBase()->cargacursor(query);
00067 
00068         query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_serverRec'";
00069         cursor2 *serverRec = empresaBase()->cargacursor(query);
00070         
00071         query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_Email'";
00072         cursor2 *Email = empresaBase()->cargacursor(query);
00073 
00074         query = "SELECT valor FROM configuracion WHERE nombre = 'eFactura_Password'";
00075         cursor2 *Password = empresaBase()->cargacursor(query);
00076 
00078         
00079         QDir *direfactura = new QDir(dirEmail->valor("valor"));
00080         
00081         if (!direfactura->exists()) {
00082                 _depura("El directorio especificado en la configuracion para la eFactura no existe. Por favor, creelo e intentelo de nuevo", 2);
00083                 
00084                 return;
00085         }
00086                 
00088         
00089         QString llamada_qstring = "cd " + dirEmail->valor("valor") + " ; python /home/arturo/bulmages/trunk/bulmages/installbulmages/efactura/recibemail.py " + serverRec->valor("valor") + " " + Email->valor("valor") + " " + Password->valor("valor");
00090         
00091         char llamada[512];
00092         
00093         strncpy(llamada, llamada_qstring.toLatin1(), sizeof(llamada)-1);
00094                 
00095         system(llamada);
00096         
00098         
00099         // Filtramos solo por directorios que no sean enlaces
00100         direfactura->setFilter(QDir::Dirs);
00101         // Ordenamos por fecha de modificacion
00102         direfactura->setSorting(QDir::Name);
00103         
00104         QFileInfoList *listadirs = new QFileInfoList(direfactura->entryInfoList());
00105         
00106         mui_facturasRecibidas->setColumnCount(2);
00107         
00108         int cont = 0;
00109         
00110         mui_facturasRecibidas->setRowCount(0);
00111         
00112         QFileInfo *fileInfo = NULL;
00113         QTableWidgetItem *item = NULL;
00114         QFileInfoList *archivos = NULL;
00115 
00116         for (int i = 0; i < listadirs->size(); i++) {
00117                 
00118                 fileInfo = new QFileInfo(listadirs->at(i));
00119                 
00121                 
00122                 if (!fileInfo->fileName().startsWith(".")) {
00123                         
00125                         
00126                         if (!direfactura->cd(fileInfo->fileName())) {
00127                                 _depura("Error intentando entrar en " + fileInfo->fileName(), 2);
00128                                 continue;
00129                         }
00130                         
00132                         
00133                         direfactura->setFilter(QDir::Files);
00134                         
00136                         
00137                         archivos = new QFileInfoList(direfactura->entryInfoList());
00138                         
00139                         if (archivos->size() > 1) {
00140                                 _depura("El directorio " + direfactura->absolutePath() + " contiene mas de un archivo. Por favor, arreglelo dejando solo el fichero XML que contenga la e-factura.", 2);
00141                                 direfactura->cdUp();
00142                                 continue;
00143                         }
00144                         
00146                         
00147                         fileInfo = new QFileInfo(archivos->at(0));
00148                         
00150                         
00151                         mui_facturasRecibidas->insertRow(cont);
00152                         
00154                         
00155                         item = new QTableWidgetItem(fileInfo->fileName());
00156                         mui_facturasRecibidas->setItem(cont, 0, item);
00157                         
00159                         
00160                         item = new QTableWidgetItem(direfactura->absolutePath());
00161                         mui_facturasRecibidas->setItem(cont, 1, item);
00162                         
00163                         cont++;
00164                         
00166                         
00167                         direfactura->cdUp();
00168                         
00169                 } // end if
00170         }
00171         
00174                 
00176         
00177 //      delete item;
00178         delete fileInfo;
00179         delete direfactura;
00180         delete dirEmail;
00181         delete serverRec;
00182         delete Email;
00183         delete Password;
00184 
00185         _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0);
00186 }

void EFacturaRecepcion::on_mui_abrir_clicked (  )  [virtual, slot]

Definition at line 192 of file efacturarecepcion.cpp.

References _depura().

00192                                              {
00193         _depura("EFacturaRecepcion::on_mui_salir_clicked", 0);
00194 
00195         _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0);
00196 }

void EFacturaRecepcion::on_mui_salir_clicked (  )  [virtual, slot]

Definition at line 202 of file efacturarecepcion.cpp.

References _depura().

00202                                              {
00203         _depura("EFacturaRecepcion::on_mui_salir_clicked", 0);
00204         
00205         close();
00206         
00207         _depura("END EFacturaRecepcion::on_mui_salir_clicked", 0);
00208 }


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