#include <cuadranteview.h>
Inheritance diagram for CuadranteView:

Public Slots | |
| virtual void | on_mui_calendario_clicked (const QDate &date) |
| virtual void | on_mui_listtrabajadores_itemDoubleClicked (QTreeWidgetItem *item, int column) |
| virtual void | on_mui_editar_clicked () |
| virtual void | on_mui_calendario_customContextMenuRequested (const QPoint &pos) |
| virtual void | on_mui_actualizar_clicked () |
| virtual void | on_mui_limpiar_clicked () |
| virtual void | on_mui_duplicar_clicked () |
Public Member Functions | |
| CuadranteView (Company *, QWidget *) | |
| ~CuadranteView () | |
| void | inicializaTrabajadores () |
| void | inicializaCuadrante (const QDate &dateorig) |
| virtual void | on_mui_imprimir_clicked () |
Data Fields | |
| CuadranteQTextDocument * | m_actualcell |
Definition at line 36 of file cuadranteview.h.
| comp | ||
| parent |
Lanzamos los plugins.
Definition at line 47 of file cuadranteview.cpp.
References _depura(), FALSE, g_plugins, inicializaCuadrante(), inicializaTrabajadores(), Plugins::lanza(), mensajeInfo(), Ficha::meteWindow(), Ui_CuadranteBase::mui_cuadrante, Ui_CuadranteBase::mui_listtrabajadores, Ficha::setDBTableName(), Ficha::setTitleName(), Ui_CuadranteBase::setupUi(), and TRUE.
00048 : FichaBf(comp, parent) { 00049 _depura("CuadranteView::CuadranteView", 0); 00050 setAttribute(Qt::WA_DeleteOnClose); 00051 try { 00052 setupUi(this); 00053 00055 if (g_plugins->lanza("CuadranteView_CuadranteView", this)) return; 00056 00057 setTitleName(tr("Almacen")); 00058 setDBTableName("almacen"); 00059 00060 mui_listtrabajadores->setDragEnabled(TRUE); 00061 mui_cuadrante->setAcceptDrops(TRUE); 00062 // mui_cuadrante->verticalHeader()->hide(); 00063 00064 inicializaTrabajadores(); 00065 inicializaCuadrante(QDate::currentDate()); 00066 00067 meteWindow(windowTitle(), this, FALSE); 00068 } catch (...) { 00069 mensajeInfo(tr("Error al crear el almacen")); 00070 } // end try 00071 _depura("END CuadranteView::CuadranteView", 0); 00072 }
| CuadranteView::~CuadranteView | ( | ) |
Definition at line 80 of file cuadranteview.cpp.
References _depura().
00080 { 00081 _depura("CuadranteView::~CuadranteView", 0); 00082 _depura("END CuadranteView::~CuadranteView", 0); 00083 }
| void CuadranteView::inicializaTrabajadores | ( | ) |
Definition at line 90 of file cuadranteview.cpp.
References _depura(), postgresiface2::cargacursor(), FichaBf::empresaBase(), cursor2::eof(), Ui_CuadranteBase::mui_listtrabajadores, cursor2::siguienteregistro(), and cursor2::valor().
Referenced by CuadranteView(), and on_mui_actualizar_clicked().
00090 { 00091 _depura("CuadranteView::inicializaTrabajadores", 0); 00092 mui_listtrabajadores->clear(); 00093 mui_listtrabajadores->setColumnCount(2); 00094 mui_listtrabajadores->hideColumn(1); 00095 cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM tipotrabajo"); 00096 if (cur) { 00097 while (!cur->eof()) { 00098 QTreeWidgetItem *it = new QTreeWidgetItem(mui_listtrabajadores); 00099 it->setText(0, cur->valor("nomtipotrabajo")); 00100 it->setTextColor(0, QColor("#FF0000")); 00101 00103 cursor2 *curtrab = empresaBase()->cargacursor("SELECT * FROM trabajador WHERE idtipotrabajo = "+cur->valor("idtipotrabajo") + "ORDER BY nomtrabajador, apellidostrabajador"); 00104 if (curtrab) { 00105 while (!curtrab->eof()) { 00106 QTreeWidgetItem *itt = new QTreeWidgetItem(it); 00107 itt->setText(0, curtrab->valor("nomtrabajador") + " " + curtrab->valor("apellidostrabajador")); 00108 itt->setText(1, curtrab->valor("idtrabajador")); 00109 itt->setTextColor(0, QColor("#000000")); 00110 curtrab->siguienteregistro(); 00111 } // end while 00112 delete curtrab; 00113 } // end if 00114 00115 cur->siguienteregistro(); 00116 } // end if 00117 delete cur; 00118 } // end if 00119 _depura("END CuadranteView::inicializaTrabajadores", 0); 00120 }
| void CuadranteView::inicializaCuadrante | ( | const QDate & | dateorig | ) |
| dateorig |
Establecemos la altura de los campos.
Buscamos el Lunes de la Semana
Definition at line 129 of file cuadranteview.cpp.
References _depura(), postgresiface2::cargacursor(), FichaBf::empresaBase(), cursor2::eof(), Ui_CuadranteBase::mui_cuadrante, cursor2::numregistros(), CuadranteQTextDocument::setAlmFecha(), cursor2::siguienteregistro(), and cursor2::valor().
Referenced by CuadranteView(), on_mui_actualizar_clicked(), on_mui_calendario_clicked(), and on_mui_calendario_customContextMenuRequested().
00129 { 00130 _depura("CuadranteView::inicializaCuadrante", 0); 00131 try { 00132 00133 mui_cuadrante->clear(); 00134 00135 cursor2 *cur = empresaBase()->cargacursor("SELECT idalmacen, tipoalmacen, nomalmacen FROM almacen ORDER BY tipoalmacen DESC, nomalmacen"); 00136 if (!cur) throw -1; 00137 00138 00139 mui_cuadrante->setRowCount(cur->numregistros()); 00140 mui_cuadrante->setColumnCount(7); 00141 00142 QStringList headers; 00143 headers << tr("Lunes") << tr("Martes") << tr("Miercoles") << tr("Jueves") << tr("Viernes") << tr("Sabado") << tr("Domingo"); 00144 mui_cuadrante->setHorizontalHeaderLabels(headers); 00145 00146 00147 int row = 0; 00148 while (!cur->eof()) { 00150 mui_cuadrante->setRowHeight(row, 100); 00151 00153 QDate date = dateorig.addDays(-dateorig.dayOfWeek() + 1); 00154 00155 for (int column = 0; column < 7; column ++) { 00156 00157 mui_cuadrante->setColumnWidth(column, 250); 00158 00159 CuadranteQTextDocument *newItem = new CuadranteQTextDocument(empresaBase(), mui_cuadrante); 00160 00161 newItem->setAlmFecha(cur->valor("idalmacen"), date); 00162 00163 mui_cuadrante->setCellWidget(row, column, newItem); 00164 00165 date = date.addDays(1); 00166 } // end for 00167 cur->siguienteregistro(); 00168 row++; 00169 } // end while 00170 } catch (...) { 00171 _depura("Error en la carga del calendario", 2); 00172 return; 00173 } 00174 }
| void CuadranteView::on_mui_imprimir_clicked | ( | ) | [virtual] |
Reimplemented from Ficha.
Definition at line 333 of file cuadranteview.cpp.
References _depura(), postgresiface2::cargacursor(), CONF_DIR_OPENREPORTS, CONF_DIR_USER, confpr, FichaBf::empresaBase(), cursor2::eof(), invocaPDF(), Ui_CuadranteBase::mui_cuadrante, cursor2::numregistros(), cursor2::siguienteregistro(), and configuracion::valor().
00333 { 00334 _depura("CuadranteView::on_mui_imprimir_clicked", 0); 00335 00336 QString archivo = confpr->valor(CONF_DIR_OPENREPORTS) + "cuadrante.rml"; 00337 QString archivod = confpr->valor(CONF_DIR_USER) + "cuadrante.rml"; 00338 QString archivologo = confpr->valor(CONF_DIR_OPENREPORTS) + "logo.jpg"; 00339 00341 #ifdef WINDOWS 00342 00343 archivo = "copy " + archivo + " " + archivod; 00344 #else 00345 00346 archivo = "cp " + archivo + " " + archivod; 00347 #endif 00348 00349 system (archivo.toAscii().constData()); 00350 00352 #ifdef WINDOWS 00353 00354 archivologo = "copy " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg"; 00355 #else 00356 00357 archivologo = "cp " + archivologo + " " + confpr->valor(CONF_DIR_USER) + "logo.jpg"; 00358 #endif 00359 00360 QFile file; 00361 file.setFileName(archivod); 00362 file.open(QIODevice::ReadOnly); 00363 QTextStream stream(&file); 00364 QString buff = stream.readAll(); 00365 file.close(); 00366 QString fitxersortidatxt = ""; 00367 00368 00370 fitxersortidatxt += "<para>Cuadrante</para>\n"; 00371 fitxersortidatxt += "<blockTable style=\"tablacontenido\" colWidths=\"4cm, 4cm, 4cm, 4cm, 4cm, 4cm, 4cm\" repeatRows=\"1\">\n"; 00372 fitxersortidatxt += "<tr>\n"; 00373 fitxersortidatxt += " <td>Lunes</td>\n"; 00374 fitxersortidatxt += " <td>Martes</td>\n"; 00375 fitxersortidatxt += " <td>Miercoles</td>\n"; 00376 fitxersortidatxt += " <td>Jueves</td>\n"; 00377 fitxersortidatxt += " <td>Viernes</td>\n"; 00378 fitxersortidatxt += " <td>Sabado</td>\n"; 00379 fitxersortidatxt += " <td>Domingo</td>\n"; 00380 fitxersortidatxt += "</tr>\n"; 00381 00382 00383 // ================================================================ 00384 00386 // QDate date = mui_calendario->selectedDate().addDays(-mui_calendario->selectedDate().dayOfWeek() + 1); 00387 00388 cursor2 *cur = empresaBase()->cargacursor("SELECT idalmacen FROM almacen"); 00389 if (!cur) throw -1; 00390 00391 mui_cuadrante->setRowCount(cur->numregistros()); 00392 mui_cuadrante->setColumnCount(7); 00393 00394 int row = 0; 00395 while (!cur->eof()) { 00396 fitxersortidatxt += "<tr>\n"; 00397 for (int column = 0; column < 7; column ++) { 00398 CuadranteQTextDocument *newItem = (CuadranteQTextDocument *) mui_cuadrante->cellWidget(row, column); 00399 fitxersortidatxt += newItem->impresion(); 00400 } // end for 00401 cur->siguienteregistro(); 00402 row++; 00403 fitxersortidatxt += "</tr>\n"; 00404 } // end while 00405 00406 fitxersortidatxt += "</blockTable>\n"; 00407 00408 buff.replace("[story]", fitxersortidatxt); 00409 00410 if (file.open(QIODevice::WriteOnly)) { 00411 QTextStream stream(&file); 00412 stream << buff; 00413 file.close(); 00414 } // end if 00415 invocaPDF("cuadrante"); 00416 _depura("END CuadranteView::on_mui_imprimir_clicked", 0); 00417 00418 }
| void CuadranteView::on_mui_calendario_clicked | ( | const QDate & | date | ) | [virtual, slot] |
| date |
Definition at line 181 of file cuadranteview.cpp.
References _depura(), and inicializaCuadrante().
00181 { 00182 _depura("CuadranteView::on_mui_calendario_clicked", 0, date.toString("dd/MM/yyyy")); 00183 inicializaCuadrante(date); 00184 }
| void CuadranteView::on_mui_listtrabajadores_itemDoubleClicked | ( | QTreeWidgetItem * | item, | |
| int | column | |||
| ) | [virtual, slot] |
| item |
Definition at line 191 of file cuadranteview.cpp.
References _depura(), and Ui_CuadranteBase::mui_cuadrante.
00191 { 00192 _depura("elementos dobleclickados", 0); 00193 QString item1 = item->text(1); 00194 00195 QList<QTableWidgetSelectionRange> selectionranges = mui_cuadrante->selectedRanges(); 00196 for (int i = 0; i < selectionranges.size(); ++i) { 00197 for (int x = selectionranges.at(i).topRow(); x <= selectionranges.at(i).bottomRow(); x++) { 00198 for (int y = selectionranges.at(i).leftColumn(); y <= selectionranges.at(i).rightColumn(); y++) { 00199 CuadranteQTextDocument *newItem = (CuadranteQTextDocument *) mui_cuadrante->cellWidget(x, y); 00200 newItem->addTrabajador(item1); 00201 } // end for 00202 } // end for 00203 } 00204 }
| void CuadranteView::on_mui_editar_clicked | ( | ) | [virtual, slot] |
Definition at line 210 of file cuadranteview.cpp.
References _depura(), QWorkspace2::addWindow(), Ficha::cargar(), FichaBf::empresaBase(), CuadranteQTextDocument::idcuadrante(), Ui_CuadranteBase::mui_cuadrante, EmpresaBase::pWorkspace(), and save.
00210 { 00211 _depura ("editar cuadrante", 0); 00212 Cuadrante1View *cuad = new Cuadrante1View(empresaBase(), 0); 00213 empresaBase()->pWorkspace()->addWindow(cuad); 00214 cuad->show(); 00215 CuadranteQTextDocument *newItem = (CuadranteQTextDocument *) mui_cuadrante->cellWidget(mui_cuadrante->currentRow(), mui_cuadrante->currentColumn()); 00216 newItem->connect (cuad, SIGNAL(save()), newItem, SLOT(refresh())); 00217 cuad->cargar(newItem->idcuadrante()); 00218 }
| void CuadranteView::on_mui_calendario_customContextMenuRequested | ( | const QPoint & | pos | ) | [virtual, slot] |
| pos |
Definition at line 225 of file cuadranteview.cpp.
References _depura(), postgresiface2::begin(), postgresiface2::commit(), postgresiface2::ejecuta(), FichaBf::empresaBase(), inicializaCuadrante(), and Ui_CuadranteBase::mui_calendario.
00225 { 00226 _depura("CuadranteView::on_mui_calendario_customContextMenuRequested", 0); 00227 QMenu *popup = new QMenu(mui_calendario); 00228 00229 popup->addSeparator(); 00230 QAction *norm = popup->addAction(tr("Normal")); 00231 QAction *fiesta = popup->addAction(tr("Fiesta General")); 00232 00233 QAction *opcion = popup->exec(mapToGlobal(pos)); 00234 if (opcion == norm) { 00235 empresaBase()->begin(); 00236 empresaBase()->ejecuta("UPDATE CUADRANTE SET fiestacuadrante = FALSE WHERE fechacuadrante = '"+mui_calendario->selectedDate().toString("dd/MM/yyyy")+"'"); 00237 empresaBase()->commit(); 00238 } // end if 00239 00240 if (opcion == fiesta) { 00241 empresaBase()->begin(); 00242 empresaBase()->ejecuta("UPDATE CUADRANTE SET fiestacuadrante = TRUE WHERE fechacuadrante = '"+mui_calendario->selectedDate().toString("dd/MM/yyyy")+"'"); 00243 empresaBase()->commit(); 00244 } // end if 00245 00246 inicializaCuadrante(mui_calendario->selectedDate()); 00247 _depura("END CuadranteView::on_mui_calendario_customContextMenuRequested", 0); 00248 }
| void CuadranteView::on_mui_actualizar_clicked | ( | ) | [virtual, slot] |
Definition at line 254 of file cuadranteview.cpp.
References _depura(), inicializaCuadrante(), and inicializaTrabajadores().
Referenced by on_mui_duplicar_clicked(), and on_mui_limpiar_clicked().
00254 { 00255 _depura("CuadranteView::on_mui_actualizar_clicked", 0); 00256 inicializaTrabajadores(); 00257 inicializaCuadrante(QDate::currentDate()); 00258 _depura("CuadranteView::on_mui_actualizar_clicked", 0); 00259 }
| void CuadranteView::on_mui_limpiar_clicked | ( | ) | [virtual, slot] |
Definition at line 265 of file cuadranteview.cpp.
References _depura(), postgresiface2::ejecuta(), FichaBf::empresaBase(), Ui_CuadranteBase::mui_calendario, and on_mui_actualizar_clicked().
00265 { 00266 _depura("CuadranteView::on_mui_limpiar_clicked", 0); 00267 QDate date = mui_calendario->selectedDate().addDays(-mui_calendario->selectedDate().dayOfWeek() + 1); 00268 QDate datefin = date.addDays(6); 00269 QString query = "DELETE FROM horario WHERE idcuadrante IN (SELECT idcuadrante FROM cuadrante WHERE fechacuadrante >= '"+date.toString("dd/MM/yyyy")+"' AND fechacuadrante <='"+datefin.toString("dd/MM/yyyy")+"')"; 00270 empresaBase()->ejecuta(query); 00271 query = "DELETE FROM cuadrante WHERE fechacuadrante >= '"+date.toString("dd/MM/yyyy")+"' AND fechacuadrante <='"+datefin.toString("dd/MM/yyyy")+"'"; 00272 empresaBase()->ejecuta(query); 00273 on_mui_actualizar_clicked(); 00274 _depura("CuadranteView::on_mui_limpiar_clicked", 0); 00275 }
| void CuadranteView::on_mui_duplicar_clicked | ( | ) | [virtual, slot] |
Definition at line 282 of file cuadranteview.cpp.
References _depura(), postgresiface2::cargacursor(), postgresiface2::ejecuta(), FichaBf::empresaBase(), cursor2::eof(), Ui_CuadranteBase::mui_calendario, on_mui_actualizar_clicked(), cursor2::siguienteregistro(), and cursor2::valor().
00282 { 00283 _depura("CuadranteView::on_mui_limpiar_clicked", 0); 00284 for (QDate date = mui_calendario->selectedDate().addDays(-mui_calendario->selectedDate().dayOfWeek() + 1) 00285 ; date <= mui_calendario->selectedDate().addDays(-mui_calendario->selectedDate().dayOfWeek() + 7) 00286 ; date = date.addDays(1)) { 00287 QDate fechaant = date.addDays(-7); 00288 QString query = "SELECT * FROM cuadrante WHERE fechacuadrante = '"+fechaant.toString("dd/MM/yyyy")+"'"; 00289 _depura(query, 2); 00290 cursor2 *cur = empresaBase()->cargacursor(query); 00291 while (!cur->eof()) { 00292 query = "UPDATE cuadrante SET "; 00293 query += " comentcuadrante = '"+cur->valor("comentcuadrante")+"'"; 00294 query += ", aperturacuadrante = "+ ((cur->valor("aperturacuadrante")=="")?"NULL":cur->valor("aperturacuadrante")); 00295 query += ", cierrecuadrante = " + ((cur->valor("cierrecuadrante")=="")?"NULL":cur->valor("cierrecuadrante")); 00296 query += ", apertura1cuadrante = " + ((cur->valor("apertura1cuadrante")=="")?"NULL":cur->valor("apertura1cuadrante")); 00297 query += ", cierre1cuadrante = " + ((cur->valor("cierre1cuadrante")=="")?"NULL":cur->valor("cierre1cuadrante")); 00298 query += ", fiestacuadrante = '" + cur->valor("fiestacuadrante")+"'"; 00299 query += " WHERE fechacuadrante = '" + date.toString("dd/MM/yyyy") + "' AND idalmacen = " +cur->valor("idalmacen"); 00300 empresaBase()->ejecuta(query); 00301 00302 cursor2 *cur1 = empresaBase()->cargacursor("SELECT * FROM cuadrante WHERE fechacuadrante = '" + date.toString("dd/MM/yyyy") + "' AND idalmacen = " +cur->valor("idalmacen")); 00303 QString idcuadrante = cur1->valor("idcuadrante"); 00304 delete cur1; 00305 00306 cursor2 *cur2 = empresaBase()->cargacursor("SELECT * FROM horario WHERE idcuadrante=" + cur->valor("idcuadrante")); 00307 while (!cur2->eof()) { 00308 query = "INSERT INTO horario (idtrabajador, idcuadrante, horainhorario, horafinhorario) VALUES ("; 00309 query+= cur2->valor("idtrabajador"); 00310 query+= "," + idcuadrante; 00311 query+= ",'" + cur2->valor("horainhorario") + "'"; 00312 query+= ",'" +cur2->valor("horafinhorario") +"'"; 00313 query+= ")"; 00314 empresaBase()->ejecuta(query); 00315 cur2->siguienteregistro(); 00316 } // end while 00317 delete cur2; 00318 00319 cur->siguienteregistro(); 00320 } // end while 00321 delete cur; 00322 00323 00324 } // end for 00325 on_mui_actualizar_clicked(); 00326 _depura("CuadranteView::on_mui_limpiar_clicked", 0); 00327 }
Definition at line 40 of file cuadranteview.h.
1.5.1