#include <ccosteview.h>
Inheritance diagram for ccosteview:

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 |
Definition at line 41 of file ccosteview.h.
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 }
| 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.
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] |
| 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 }
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().
1.5.1