CuadranteQTextDocument Class Reference

Reimplementa los items de QTableWidget2 para que podamos programar cosas en ellos. More...

#include <cuadranteqtablewidget.h>

Inheritance diagram for CuadranteQTextDocument:

QLabel QTableWidgetItem PEmpresaBase

Public Slots

virtual void refresh ()
void on_customContextMenuRequested (const QPoint &pos)

Public Member Functions

 CuadranteQTextDocument (Company *emp, QWidget *parent=0)
virtual void setAlmFecha (QString idalmacen, const QDate &date)
 ~CuadranteQTextDocument ()
void addTrabajador (QString)
void pintaCuadrante (QString idalmacen, const QDate &date)
QString idcuadrante ()
QDate fechacuadrante ()
QString idalmacen ()
void setidcuadrante (QString)
const QString impresion ()
void contextMenuEvent (QContextMenuEvent *e)
void mouseDoubleClickEvent (QMouseEvent *event)
void setText (QString)

Data Fields

QString mdb_idalmacen
QDate mdb_fechacuadrante
QString mdb_idcuadrante

Detailed Description

Reimplementa los items de QTableWidget2 para que podamos programar cosas en ellos.

Definition at line 37 of file cuadranteqtablewidget.h.


Constructor & Destructor Documentation

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

Parameters:
emp 
parent 

Definition at line 119 of file cuadranteqtablewidget.cpp.

References _depura(), and on_customContextMenuRequested().

00119                                                                             :QLabel(parent), QTableWidgetItem(QTableWidgetItem::UserType),  PEmpresaBase(emp) {
00120     _depura("CuadranteQTextDocument::CuadranteQTextDocument", 0);
00121     setContextMenuPolicy(Qt::CustomContextMenu);
00122     connect(this, SIGNAL(customContextMenuRequested ( const QPoint &  )), this, SLOT(on_customContextMenuRequested ( const QPoint &  )));
00123     _depura("END CuadranteQTextDocument::CuadranteQTextDocument", 0);
00124 }

CuadranteQTextDocument::~CuadranteQTextDocument (  ) 

Definition at line 215 of file cuadranteqtablewidget.cpp.

References _depura().

00215                                                 {
00216     _depura("~CuadranteQTextDocument", 0);
00217 }


Member Function Documentation

void CuadranteQTextDocument::setAlmFecha ( QString  idalmacen,
const QDate &  date 
) [virtual]

Parameters:
idalmacen 
date 
Returns:

Comprobamos que exista el cuadrante y si no existe lo creamos.

Definition at line 270 of file cuadranteqtablewidget.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), PEmpresaBase::empresaBase(), cursor2::eof(), mensajeInfo(), pintaCuadrante(), and postgresiface2::rollback().

Referenced by CuadranteView::inicializaCuadrante().

00270                                                                              {
00271     _depura("CuadranteQTextDocument::setAlmFecha", 0);
00272     cursor2 *cur1 = NULL;
00273     try {
00275         cur1 = empresaBase()->cargacursor("SELECT * FROM cuadrante WHERE fechacuadrante = '" + date.toString("dd/MM/yyyy") + "' AND idalmacen="+idalmacen);
00276         if (!cur1) throw -1;
00277         if (cur1->eof()) {
00278             QString query = "INSERT INTO cuadrante (idalmacen, fechacuadrante) VALUES ("+idalmacen+",'"+ date.toString("dd/MM/yyyy") +"')";
00279             empresaBase()->begin();
00280             empresaBase()->ejecuta(query);
00281             empresaBase()->commit();
00282         } // end if
00283         delete cur1;
00284         pintaCuadrante(idalmacen, date);
00285     } catch (...) {
00286         empresaBase()->rollback();
00287         mensajeInfo("Error en la carga");
00288         if (cur1) delete cur1;
00289         return;
00290     } // end try
00291     _depura("END CuadranteQTextDocument::setAlmFecha", 0);
00292 }

void CuadranteQTextDocument::addTrabajador ( QString  idtrabajador  ) 

Parameters:
idtrabajador 

Definition at line 224 of file cuadranteqtablewidget.cpp.

References _depura(), postgresiface2::begin(), postgresiface2::cargacursor(), postgresiface2::commit(), postgresiface2::ejecuta(), PEmpresaBase::empresaBase(), cursor2::eof(), mdb_fechacuadrante, mdb_idalmacen, mdb_idcuadrante, mensajeInfo(), pintaCuadrante(), postgresiface2::rollback(), and cursor2::valor().

00224                                                                {
00225     _depura("CuadranteQTextDocument::addTrabajador", 0);
00226     cursor2 *cur = NULL;
00227     try {
00228         QString horain = "08:00";
00229         QString horafin = "13:00";
00230         QString horain1 = "16:00";
00231         QString horafin1 = "20:00";
00232 
00233         QString querycuad = "SELECT * FROM cuadrante WHERE idcuadrante=" + mdb_idcuadrante;
00234         cursor2 *cur = empresaBase()->cargacursor(querycuad);
00235         if (!cur) throw -1;
00236         if (!cur->eof()) {
00237             if (cur->valor("aperturacuadrante") != "")
00238                 horain = cur->valor("aperturacuadrante");
00239             if (cur->valor("cierrecuadrante") != "")
00240                 horafin = cur->valor("cierrecuadrante");
00241             if (cur->valor("apertura1cuadrante") != "")
00242                 horain1 = cur->valor("apertura1cuadrante");
00243             if (cur->valor("cierre1cuadrante") != "")
00244                 horafin1 = cur->valor("cierre1cuadrante");
00245         } // end if
00246 
00247         QString query = "INSERT INTO horario (idtrabajador, idcuadrante, horainhorario, horafinhorario) VALUES (" +idtrabajador +","+ mdb_idcuadrante +",'"+horain+"','"+horafin+"')";
00248         QString query1 = "INSERT INTO horario (idtrabajador, idcuadrante, horainhorario, horafinhorario) VALUES (" +idtrabajador +","+ mdb_idcuadrante +",'"+horain1+"','"+horafin1+"')";
00249         empresaBase()->begin();
00250         empresaBase()->ejecuta(query);
00251         empresaBase()->ejecuta(query1);
00252         empresaBase()->commit();
00253         pintaCuadrante(mdb_idalmacen, mdb_fechacuadrante);
00254         _depura("END CuadranteQTextDocument::addTrabajador", 0);
00255     } catch (...) {
00256         empresaBase()->rollback();
00257         if (cur) delete cur;
00258         mensajeInfo("Error al agregar el trabajador al cuadrante");
00259     } // end try
00260     _depura("END CuadranteQTextDocument::addTrabajador", 0);
00261 }

void CuadranteQTextDocument::pintaCuadrante ( QString  idalmacen,
const QDate &  date 
)

Parameters:
idalmacen 
data 

Definition at line 300 of file cuadranteqtablewidget.cpp.

References _depura(), PEmpresaBase::empresaBase(), ImpCuadrante::generar(), ImpCuadrante::m_html, ImpCuadrante::mdb_fechacuadrante, mdb_fechacuadrante, ImpCuadrante::mdb_idalmacen, mdb_idalmacen, ImpCuadrante::mdb_idcuadrante, and mdb_idcuadrante.

Referenced by addTrabajador(), on_customContextMenuRequested(), refresh(), and setAlmFecha().

00300                                                                                 {
00301     _depura("CuadranteQTextDocument::pintaCuadrante", 0, idalmacen);
00302     mdb_idalmacen = idalmacen;
00303     mdb_fechacuadrante = date;
00304 
00305     ImpCuadrante *imp = new ImpCuadrante((Company *)empresaBase());
00306     imp->mdb_idalmacen = idalmacen;
00307     imp->mdb_fechacuadrante = date;
00308     imp->generar();
00309     QLabel::setText(imp->m_html);
00310     mdb_idcuadrante = imp->mdb_idcuadrante;
00311     _depura("END CuadranteQTextDocument::pintaCuadrante", 0);
00312     return;
00313 }

QString CuadranteQTextDocument::idcuadrante (  ) 

Returns:

Definition at line 320 of file cuadranteqtablewidget.cpp.

References _depura(), and mdb_idcuadrante.

Referenced by mouseDoubleClickEvent(), and CuadranteView::on_mui_editar_clicked().

00320                                             {
00321     _depura("CuadranteQTextDocument::idcuadrante", 0);
00322     _depura("END CuadranteQTextDocument::idcuadrante", 0);
00323     return mdb_idcuadrante;
00324 }

QDate CuadranteQTextDocument::fechacuadrante (  ) 

Returns:

Definition at line 331 of file cuadranteqtablewidget.cpp.

References _depura(), and mdb_fechacuadrante.

00331                                              {
00332     _depura("CuadranteQTextDocument::fechacuadrante", 0);
00333     _depura("END CuadranteQTextDocument::fechacuadrante", 0);
00334     return mdb_fechacuadrante;
00335 }

QString CuadranteQTextDocument::idalmacen (  ) 

Returns:

Definition at line 342 of file cuadranteqtablewidget.cpp.

References _depura(), and mdb_idalmacen.

00342                                           {
00343     _depura("CuadranteQTextDocument::idalmacen", 0);
00344     _depura("END CuadranteQTextDocument::idalmacen", 0);
00345     return mdb_idalmacen;
00346 }

void CuadranteQTextDocument::setidcuadrante ( QString   ) 

Definition at line 372 of file cuadranteqtablewidget.cpp.

References _depura(), and mdb_idcuadrante.

00372                                                         {
00373     _depura("CuadranteQTextDocument::setidcuadrante", 0);
00374     mdb_idcuadrante = text;
00375     _depura("END CuadranteQTextDocument::setidcuadrante", 0);
00376 }

const QString CuadranteQTextDocument::impresion (  ) 

Returns:

Definition at line 382 of file cuadranteqtablewidget.cpp.

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

00382                                                 {
00383     _depura("CuadranteQTextDocument::impresion", 0);
00384 
00385     QString html = "";
00386     html += "<td>\n";
00387     QString style="";
00388     cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM cuadrante, almacen WHERE cuadrante.idalmacen = almacen.idalmacen AND almacen.idalmacen="+mdb_idalmacen+" AND cuadrante.fechacuadrante ='" +mdb_fechacuadrante.toString("dd/MM/yyyy")+ "'");
00389     if (!cur) throw -1;
00390     if (!cur->eof()) {
00391         if (cur->valor("fiestacuadrante") == "t") {
00392             style = " style=\"festivo\"";
00393         }
00394         html += "<para "+style+"> <b>" + cur->valor("nomalmacen") + "</b>: " + mdb_fechacuadrante.toString("dd/MM/yyyy")+"</para><spacer length=\"0.1cm\"/>\n";
00395     } // end if
00396 
00397 
00398     QString oldnomtipotrabajo = "";
00399 
00400     cursor2 *cur1 = empresaBase()->cargacursor("SELECT * FROM horario, trabajador, tipotrabajo WHERE horario.idtrabajador = trabajador.idtrabajador AND trabajador.idtipotrabajo = tipotrabajo.idtipotrabajo AND idcuadrante = "+mdb_idcuadrante +" ORDER BY nomtipotrabajo, horainhorario, nomtrabajador");
00401     if (!cur1) throw -1;
00402     while (!cur1->eof()) {
00403         if (oldnomtipotrabajo != cur1->valor("nomtipotrabajo") ) {
00404             html +=  "<para "+style+"><font color=\"red\" size=\"5\">" + cur1->valor("nomtipotrabajo") + ":</font></para><spacer length=\"0.1cm\"/>\n";
00405             oldnomtipotrabajo = cur1->valor("nomtipotrabajo");
00406         } // end if
00407         html += "<para "+style+"><font face=\"Helvetica\" size=\"6\" color=\"" + cur1->valor("colortipotrabajo") + "\">" + cur1->valor("nomtrabajador") + " " + cur1->valor("apellidostrabajador");
00408         html += "<sup>(" + cur1->valor("horainhorario").left(5) + "--" + cur1->valor("horafinhorario").left(5) + ")</sup></font></para><spacer length=\"0.1cm\"/>\n";
00409 
00410         cur1->siguienteregistro();
00411     } // end while
00412     delete cur1;
00413 
00414     if (cur->valor("comentcuadrante") != "") {
00415         html += "<para "+style+"><font face=\"Helvetica\" size=\"5\" color=\"black\">" + cur->valor("comentcuadrante").replace("\n", "<spacer length=\"0.1cm\"/>\n") + "</font></para>";
00416     } // end if
00417 
00418     delete cur;
00419 
00420     html += "</td>\n";
00421     _depura("END CuadranteQTextDocument::impresion", 0);
00422     return html;
00423 }

void CuadranteQTextDocument::contextMenuEvent ( QContextMenuEvent *  e  ) 

Parameters:
e 

Definition at line 192 of file cuadranteqtablewidget.cpp.

References TRUE.

00192                                                                      {
00193     QTableWidgetItem::setSelected(TRUE);
00194 }

void CuadranteQTextDocument::mouseDoubleClickEvent ( QMouseEvent *  event  ) 

Parameters:
event 

Definition at line 201 of file cuadranteqtablewidget.cpp.

References QWorkspace2::addWindow(), Ficha::cargar(), PEmpresaBase::empresaBase(), idcuadrante(), EmpresaBase::pWorkspace(), refresh(), and save.

00201                                                                     {
00202     Cuadrante1View *cuad = new Cuadrante1View((Company *)empresaBase(), 0);
00203     empresaBase()->pWorkspace()->addWindow(cuad);
00204     cuad->show();
00205 //    CuadranteQTextDocument *newItem = (CuadranteQTextDocument *) mui_cuadrante->cellWidget(mui_cuadrante->currentRow(), mui_cuadrante->currentColumn());
00206     connect (cuad, SIGNAL(save()), this, SLOT(refresh()));
00207     cuad->cargar(idcuadrante());
00208 }

void CuadranteQTextDocument::setText ( QString   ) 

Definition at line 362 of file cuadranteqtablewidget.cpp.

References _depura().

00362                                                  {
00363     _depura("CuadranteQTextDocument::setText", 0);
00364     QLabel::setText(text);
00365     _depura("END CuadranteQTextDocument::setText", 0);
00366 }

void CuadranteQTextDocument::refresh (  )  [virtual, slot]

Definition at line 352 of file cuadranteqtablewidget.cpp.

References _depura(), mdb_fechacuadrante, mdb_idalmacen, and pintaCuadrante().

Referenced by mouseDoubleClickEvent().

00352                                      {
00353     _depura("CuadranteQTextDocument::refresh", 0);
00354     pintaCuadrante(mdb_idalmacen, mdb_fechacuadrante);
00355     _depura("END CuadranteQTextDocument::refresh", 0);
00356 }

void CuadranteQTextDocument::on_customContextMenuRequested ( const QPoint &  pos  )  [slot]

Definition at line 127 of file cuadranteqtablewidget.cpp.

References postgresiface2::cargacursor(), postgresiface2::ejecuta(), PEmpresaBase::empresaBase(), cursor2::eof(), mdb_fechacuadrante, mdb_idalmacen, mdb_idcuadrante, pintaCuadrante(), cursor2::siguienteregistro(), and cursor2::valor().

Referenced by CuadranteQTextDocument().

00127                                                                                 {
00128     QMap<QAction *, QString> horarios;
00129     QMenu menu(this);
00130     QAction *at = menu.addAction("Vaciar Personal");
00131     QAction *com = menu.addAction("Quitar Comentarios");
00132     QAction *fest = menu.addAction("Festivo");
00133     QAction *nofest = menu.addAction("No Festivo");
00134     QMenu *menu1 = menu.addMenu("Eliminar Personal");
00135     cursor2 *cur1 = empresaBase()->cargacursor("SELECT * FROM horario, trabajador, tipotrabajo WHERE horario.idtrabajador = trabajador.idtrabajador AND trabajador.idtipotrabajo = tipotrabajo.idtipotrabajo AND idcuadrante = "+mdb_idcuadrante +" ORDER BY nomtipotrabajo, nomtrabajador, horainhorario");
00136     if (!cur1) throw -1;
00137     while (!cur1->eof()) {
00138         QAction *ac = menu1->addAction(cur1->valor("nomtrabajador") + "(" + cur1->valor("horainhorario") + ":" + cur1->valor("horafinhorario") + ")");
00139         horarios[ac] = cur1->valor("idhorario");
00140         cur1->siguienteregistro();
00141     } // end while
00142     delete cur1;
00143 
00144     QAction *sel = menu.exec(mapToGlobal(pos), at);
00145 
00147     if (sel == at) {
00148         QString query = "DELETE FROM horario WHERE idcuadrante = " + mdb_idcuadrante;
00149         empresaBase()->ejecuta(query);
00150     } // end if
00151 
00152     if (horarios.contains(sel)) {
00153         QString query = "DELETE FROM horario WHERE idhorario = " + horarios[sel];
00154         empresaBase()->ejecuta(query);
00155     } // end if
00156 
00157     if (sel == fest) {
00158         QString query = "UPDATE cuadrante SET fiestacuadrante = TRUE WHERE idcuadrante = " + mdb_idcuadrante;
00159         empresaBase()->ejecuta(query);
00160     } // end if
00161 
00162     if (sel == nofest) {
00163         QString query = "UPDATE cuadrante SET fiestacuadrante = FALSE WHERE idcuadrante = " + mdb_idcuadrante;
00164         empresaBase()->ejecuta(query);
00165     } // end if
00166 
00167 
00168     if (sel == com) {
00169         QString query = "UPDATE cuadrante SET comentcuadrante = '' WHERE idcuadrante = " + mdb_idcuadrante;
00170         empresaBase()->ejecuta(query);
00171     } // end if
00172     pintaCuadrante(mdb_idalmacen, mdb_fechacuadrante);
00173     /*
00174 
00175         QObject *wid = parent();
00176         while (wid
00177                 && (wid->objectName() != "CuadranteBase")
00178               ) {
00179             wid = wid->parent();
00180         } // end if
00181         if (wid)
00182             ((CuadranteView *)wid)->on_mui_actualizar_clicked();
00183     */
00184     return;
00185 
00186 }


Field Documentation

QString CuadranteQTextDocument::mdb_idalmacen

Definition at line 40 of file cuadranteqtablewidget.h.

Referenced by addTrabajador(), idalmacen(), impresion(), on_customContextMenuRequested(), pintaCuadrante(), and refresh().

QDate CuadranteQTextDocument::mdb_fechacuadrante

Definition at line 41 of file cuadranteqtablewidget.h.

Referenced by addTrabajador(), fechacuadrante(), impresion(), on_customContextMenuRequested(), pintaCuadrante(), and refresh().

QString CuadranteQTextDocument::mdb_idcuadrante

Definition at line 42 of file cuadranteqtablewidget.h.

Referenced by addTrabajador(), idcuadrante(), impresion(), on_customContextMenuRequested(), pintaCuadrante(), and setidcuadrante().


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