ccosteview Class Reference

Visualiza un centro de coste. More...

#include <ccosteview.h>

Inheritance diagram for ccosteview:

FichaBc Ui_ccostebase Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void on_mui_crear_clicked ()
virtual void on_mui_list_itemClicked (QTreeWidgetItem *, int)

Public Member Functions

 ccosteview (Empresa *, QWidget *parent=0)
 Si su valor es 0 entonces es que no se esta visualizando ningún centro de coste.
 ~ccosteview ()
void repintar ()
void mostrarplantilla ()
virtual void on_mui_borrar_clicked ()
virtual int guardar ()
 Guarda los datos de la ficha en la base de datos.

Data Fields

int idc_coste

Detailed Description

Visualiza un centro de coste.

Definition at line 41 of file ccosteview.h.


Constructor & Destructor Documentation

ccosteview::ccosteview ( Empresa ,
QWidget parent = 0 
)

Si su valor es 0 entonces es que no se esta visualizando ningún centro de coste.

Indica cual es el centro de coste que se esta visualizando.

Etablecemos cual va a ser la tabla para obtener los permisos

Inicializamos el subformulario de centros distribuidos

Disparamos los plugins.

Definition at line 37 of file ccosteview.cpp.

References _depura(), DBRecord::addDBCampo(), SubForm3::addSHeader(), COL_IDC_COSTE, DBCampo::DBint, SHeader::DBNone, DBCampo::DBNoSave, DBCampo::DBNothing, DBCampo::DBNotNull, SHeader::DBNoView, SHeader::DBNoWrite, DBCampo::DBnumeric, DBCampo::DBPrimaryKey, DBCampo::DBvarchar, dialogChanges::dialogChanges_cargaInicial(), dialogChanges::dialogChanges_setQObjectExcluido(), FALSE, g_plugins, idc_coste, Plugins::lanza(), Ficha::meteWindow(), Ui_ccostebase::mui_cdistribuidos, Ui_ccostebase::mui_list, repintar(), SubForm3::setDBCampoId(), DBRecord::setDBCampoId(), SubForm3::setDBTableName(), Ficha::setDBTableName(), SubForm2Bc::setEmpresaBase(), SubForm3::setFileConfig(), SubForm3::setinsercion(), SubForm3::setOrdenEnabled(), Ficha::setTitleName(), Ui_ccostebase::setupUi(), and TRUE.

00038         : FichaBc(emp, parent) {
00039     _depura("ccosteview::ccosteview", 0);
00040     setAttribute(Qt::WA_DeleteOnClose);
00041     setupUi(this);
00042 
00043     setTitleName(tr("Centro de Coste"));
00045     setDBTableName("c_coste");
00046     setDBCampoId("idc_coste");
00047     addDBCampo("idc_coste", DBCampo::DBint, DBCampo::DBPrimaryKey, tr("Id. Centro Coste"));
00048     addDBCampo("nombre", DBCampo::DBvarchar, DBCampo::DBNotNull, tr("Nombre"));
00049     addDBCampo("descripcion", DBCampo::DBvarchar, DBCampo::DBNotNull, tr("Descripcion"));
00050 
00052     mui_cdistribuidos->setEmpresaBase(emp);
00053     mui_cdistribuidos->setDBTableName("c_costedist");
00054     mui_cdistribuidos->setFileConfig("ccostedist");
00055     mui_cdistribuidos->setDBCampoId("idc_costedist");
00056     mui_cdistribuidos->addSHeader("nomc_coste", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone, tr("Nombre Destinatario"));
00057     mui_cdistribuidos->addSHeader("porcentc_costedist", DBCampo::DBnumeric, DBCampo::DBNotNull, SHeader::DBNone, tr("Porcentaje"));
00058     mui_cdistribuidos->addSHeader("idc_costedist", DBCampo::DBint, DBCampo::DBPrimaryKey, SHeader::DBNoWrite | SHeader::DBNoView, tr("Id"));
00059     mui_cdistribuidos->addSHeader("idc_coste", DBCampo::DBint, DBCampo::DBNothing, SHeader::DBNoWrite | SHeader::DBNoView, tr("Destinatario"));
00060     mui_cdistribuidos->addSHeader("iddestc_coste", DBCampo::DBint, DBCampo::DBNotNull, SHeader::DBNoWrite | SHeader::DBNoView, tr("Origen"));
00061     mui_cdistribuidos->setinsercion(TRUE);
00062     mui_cdistribuidos->setOrdenEnabled(FALSE);
00063     idc_coste = 0;
00064 
00065 
00067     int res = g_plugins->lanza("ccosteview_ccosteview", this);
00068     if (res != 0) {
00069         return;
00070     } // end if
00071 
00072 
00073     mui_list->setColumnCount(3);
00074     QStringList headers;
00075     headers << tr("Nombre") << tr("Descripcion") << tr("Id centro de coste");
00076     mui_list->setColumnWidth(0, 200);
00077     mui_list->setHeaderLabels(headers);
00078     mui_list->setColumnHidden(COL_IDC_COSTE, TRUE);
00079     dialogChanges_setQObjectExcluido(mui_list);
00080     dialogChanges_cargaInicial();
00081     meteWindow(windowTitle(), this);
00082     repintar();
00083     _depura("END ccosteview::ccosteview", 0);
00084 }

ccosteview::~ccosteview (  ) 

Definition at line 90 of file ccosteview.cpp.

References _depura(), FichaBc::empresaBase(), and EmpresaBase::sacaWindow().

00090                         {
00091     _depura("ccosteview::~ccosteview", 0);
00092     empresaBase()->sacaWindow(this);
00093     _depura("END ccosteview::~ccosteview", 0);
00094 }


Member Function Documentation

void ccosteview::repintar (  ) 

Definition at line 100 of file ccosteview.cpp.

References _depura(), SelectCCosteView::cargacostes(), postgresiface2::cargacursor(), COL_DESC_COSTE, COL_IDC_COSTE, COL_NOM_COSTE, FichaBc::empresaBase(), cursor2::eof(), Empresa::getselccostes(), Ui_ccostebase::mui_list, cursor2::siguienteregistro(), and cursor2::valor().

Referenced by ccosteview(), guardar(), on_mui_borrar_clicked(), and on_mui_crear_clicked().

00100                           {
00101     _depura("ccosteview::pintar", 0);
00102     QTreeWidgetItem *it;
00103     QMap <int, QTreeWidgetItem *> Lista;
00104     int padre;
00105     int idc_coste1 = 0;
00106     cursor2 *cursoraux1, *cursoraux2;
00107 
00109     mui_list->clear();
00110 
00112     cursoraux1 = empresaBase()->cargacursor("SELECT * FROM c_coste WHERE padre ISNULL ORDER BY idc_coste");
00113     while (!cursoraux1->eof()) {
00114         padre = atoi( cursoraux1->valor("padre").toAscii());
00115         idc_coste1 = atoi( cursoraux1->valor("idc_coste").toAscii());
00116         it = new QTreeWidgetItem(mui_list);
00117         Lista[idc_coste1] = it;
00118         it->setText(COL_IDC_COSTE, cursoraux1->valor("idc_coste"));
00119         it->setText(COL_DESC_COSTE,cursoraux1->valor("descripcion"));
00120         it->setText(COL_NOM_COSTE, cursoraux1->valor("nombre"));
00121         mui_list->expandItem(it);
00122         cursoraux1->siguienteregistro();
00123     } // end while
00124     delete cursoraux1;
00125 
00127     cursoraux2= empresaBase()->cargacursor("SELECT * FROM c_coste WHERE padre IS NOT NULL ORDER BY idc_coste");
00128     while (!cursoraux2->eof()) {
00129         padre = cursoraux2->valor("padre").toInt();
00130         idc_coste1 = cursoraux2->valor("idc_coste").toInt();
00131         if (Lista[padre]) {
00132             it = new QTreeWidgetItem(Lista[padre]);
00133             Lista[idc_coste1] = it;
00134             it->setText(COL_IDC_COSTE, cursoraux2->valor("idc_coste"));
00135             it->setText(COL_DESC_COSTE, cursoraux2->valor("descripcion"));
00136             it->setText(COL_NOM_COSTE, cursoraux2->valor("nombre"));
00137             mui_list->expandItem(it);
00138         } else {
00139             _depura(tr("Error en la carga de centros de coste"), 2);
00140         } // end if
00141         cursoraux2->siguienteregistro();
00142     } // end while
00143     delete cursoraux2;
00144 
00145 //    if (idc_coste != 0) {
00146 //        mostrarplantilla();
00147 //    } // end if
00148 
00151     SelectCCosteView *scoste = empresaBase()->getselccostes();
00152     scoste->cargacostes();
00153     _depura("END ccosteview::pintar", 0);
00154 }

void ccosteview::mostrarplantilla (  ) 

Definition at line 181 of file ccosteview.cpp.

References _depura(), SubForm3::cargar(), Ficha::cargar(), dialogChanges::dialogChanges_cargaInicial(), idc_coste, and Ui_ccostebase::mui_cdistribuidos.

Referenced by on_mui_list_itemClicked().

00181                                   {
00182     _depura("ccosteview::mostrarplantilla", 0);
00183 
00184     QString query;
00185 
00186     _depura("mostrarplantilla", 2, QString::number(idc_coste));
00187     FichaBc::cargar(QString::number(idc_coste));
00188 
00189     query = "SELECT * FROM c_costedist LEFT JOIN (SELECT idc_coste AS idcc, nombre AS nomc_coste FROM c_coste) AS t1 ON c_costedist.idc_Coste = t1.idcc WHERE iddestc_coste=" + QString::number(idc_coste);
00190     mui_cdistribuidos->cargar(query);
00191 
00192 
00193     dialogChanges_cargaInicial();
00194     _depura("END ccosteview::mostrarplantilla", 0);
00195 }

void ccosteview::on_mui_borrar_clicked (  )  [virtual]

Reimplemented from Ficha.

Definition at line 257 of file ccosteview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBc::empresaBase(), idc_coste, mensajeInfo(), repintar(), and postgresiface2::rollback().

00257                                        {
00258     _depura("ccosteview::on_mui_borrar_clicked", 0);
00259     try {
00260         switch (QMessageBox::warning(this,
00261                                      tr("Borrar centro de coste"),
00262                                      tr("Se va a borrar el centro de coste.\nEsta operacion puede ocasionar perdida de datos."),
00263                                      tr("&Borrar"), tr("&Cancelar"), 0, 0, 1)) {
00264         case 0: 
00265             QString query;
00266             query.sprintf("DELETE FROM c_coste WHERE idc_coste = %d", idc_coste);
00267             empresaBase()->begin();
00268             empresaBase()->ejecuta(query);
00269             empresaBase()->commit();
00270             idc_coste = 0;
00271             repintar();
00272         } // end switch
00273     } catch (...) {
00274         mensajeInfo(tr("No se pudo borrar el Centro de Coste"));
00275         empresaBase()->rollback();
00276         return;
00277     } // end try
00278     _depura("END ccosteview::on_mui_borrar_clicked", 0);
00279 }

int ccosteview::guardar (  )  [virtual]

Guarda los datos de la ficha en la base de datos.

Este metodo guarda los contenidos de la Ficha (siempre que esta haya sido inicializada). Luego llama a plugins y a guardarPost por si se quieren hacer acciones adicionales de guardado. Tras guardar todos los elementos hace una carga.

Returns:
0 Si no hay problemas. -1 Si ha habido problemas.

Lanzamos los plugins.

Hacemos una carga para que se actualizen datos como la referencia.

Reimplemented from Ficha.

Definition at line 201 of file ccosteview.cpp.

References _depura(), dialogChanges::dialogChanges_cargaInicial(), SubForm3::guardar(), Ficha::guardar(), idc_coste, Ui_ccostebase::mui_cdistribuidos, repintar(), and SubForm3::setColumnValue().

00201                         {
00202     _depura("ccosteview::guardar", 0);
00203     FichaBc::guardar();
00204 
00205     mui_cdistribuidos->setColumnValue("iddestc_coste", QString::number(idc_coste));
00206     mui_cdistribuidos->guardar();
00207 
00208     dialogChanges_cargaInicial();
00209     repintar();
00210     _depura("END ccosteview::guardar", 0);
00211     return 0;
00212 }

void ccosteview::on_mui_crear_clicked (  )  [virtual, slot]

Definition at line 218 of file ccosteview.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), COL_IDC_COSTE, postgresiface2::commit(), dialogChanges::dialogChanges_hayCambios(), postgresiface2::ejecuta(), FichaBc::empresaBase(), idc_coste, Ui_ccostebase::mui_list, Ficha::on_mui_guardar_clicked(), repintar(), and cursor2::valor().

00218                                       {
00219     _depura("ccosteview::on_mui_crear_clicked", 0);
00221     if (dialogChanges_hayCambios()) {
00222         if (QMessageBox::warning(this,
00223                                  tr("Guardar centro de coste"),
00224                                  tr("Desea guardar los cambios?"),
00225                                  QMessageBox::Ok,
00226                                  QMessageBox::Cancel) == QMessageBox::Ok) {
00227             on_mui_guardar_clicked();
00228         } // end if
00229     } // end if
00230 
00231     QString query;
00232     QTreeWidgetItem *it;
00233     it = mui_list->currentItem();
00234     if (it) {
00235         idc_coste = atoi(it->text(COL_IDC_COSTE).toAscii());
00236         query.sprintf("INSERT INTO c_coste (padre, nombre, descripcion) VALUES (%d, 'Nuevo centro de coste', 'Escriba su descripcion')", idc_coste);
00237         empresaBase()->begin();
00238         empresaBase()->ejecuta(query);
00239     } else {
00240         query.sprintf("INSERT INTO c_coste (nombre, descripcion) VALUES ('Nuevo centro de coste', 'Escriba su descripcion')");
00241         empresaBase()->begin();
00242         empresaBase()->ejecuta(query);
00243     } // end if
00244     query.sprintf("SELECT MAX(idc_coste) AS id_coste FROM c_coste");
00245     cursor2 *cur = empresaBase()->cargacursor(query);
00246     idc_coste = atoi(cur->valor("id_coste").toAscii());
00247     delete cur;
00248     empresaBase()->commit();
00249     repintar();
00250     _depura("END ccosteview::on_mui_crear_clicked", 0);
00251 }

void ccosteview::on_mui_list_itemClicked ( QTreeWidgetItem it,
int   
) [virtual, slot]

Parameters:
it 

Definition at line 161 of file ccosteview.cpp.

References _depura(), COL_IDC_COSTE, dialogChanges::dialogChanges_hayCambios(), idc_coste, mostrarplantilla(), and Ficha::on_mui_guardar_clicked().

00161                                                                  {
00162     _depura("ccosteview::on_mui_list_itemClicked", 0);
00163     int previdccoste = it->text(COL_IDC_COSTE).toInt();
00164     if (dialogChanges_hayCambios()) {
00165         if (QMessageBox::warning(this,
00166                                  tr("Guardar centro de coste"),
00167                                  tr("Desea guardar los cambios?"),
00168                                  tr("&Guardar"), tr("&Cancelar"), 0, 0, 1) == 0) {
00169             on_mui_guardar_clicked();
00170         } // end if
00171     } // end if
00172     idc_coste = previdccoste;
00173     mostrarplantilla();
00174     _depura("END ccosteview::on_mui_list_itemClicked", 0);
00175 }


Field Documentation

int ccosteview::idc_coste

Definition at line 45 of file ccosteview.h.

Referenced by ccosteview(), guardar(), mostrarplantilla(), on_mui_borrar_clicked(), on_mui_crear_clicked(), and on_mui_list_itemClicked().


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