00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QCloseEvent>
00022
00023 #include "tarifaview.h"
00024 #include "company.h"
00025 #include "familiasview.h"
00026 #include "tiposarticuloview.h"
00027 #include "busquedafamilia.h"
00028 #include "busquedaalmacen.h"
00029 #include "comparticulolistview.h"
00030 #include "funcaux.h"
00031 #include "plugins.h"
00032
00033
00035
00039 TarifaView::TarifaView(Company *comp, QWidget *parent)
00040 : FichaBf(comp, parent) {
00041 _depura("TarifaView::INIT_constructor()\n", 0);
00042 setAttribute(Qt::WA_DeleteOnClose);
00043 setupUi(this);
00044 setTitleName(tr("Tarifa"));
00045 setDBTableName("tarifa");
00046 setDBCampoId("idtarifa");
00047 addDBCampo("idtarifa", DBCampo::DBint, DBCampo::DBPrimaryKey, tr("ID tarifa"));
00048 addDBCampo("nomtarifa", DBCampo::DBvarchar, DBCampo::DBNotNull, tr("Nombre de la tarifa"));
00049 mui_idfamilia->setEmpresaBase(comp);
00050 mui_almacen->setEmpresaBase(comp);
00051 mui_almacen->setidalmacen("");
00052 mui_list->setEmpresaBase(comp);
00053
00054 meteWindow(tr("Tarifa edicion"), this);
00055
00056 dialogChanges_cargaInicial();
00057 _depura("TarifaView::END_constructor()\n", 0);
00058 }
00059
00060
00062
00064 TarifaView::~TarifaView() {
00065 _depura("TarifaView::INIT_destructor()\n", 0);
00066 empresaBase()->sacaWindow(this);
00067 _depura("TarifaView::END_destructor()\n", 0);
00068 }
00069
00070
00072
00074 void TarifaView::pintar() {
00075 _depura("TarifaView::pintar", 0);
00076 mui_nomtarifa->setText(DBvalue("nomtarifa"));
00077 setWindowTitle(tr("Tarifa") + " " + mui_nomtarifa->text());
00078 _depura("END TarifaView::pintar", 1);
00079 }
00080
00081
00083
00087 QString TarifaView::formaQuery(QString idtarifa) {
00088 _depura("TarifaView::formaQuery", 0);
00089 QString wherearticulo = "";
00090 QString warticulo = " WHERE ";
00091
00092 QString wherealmacen = "";
00093 QString walmacen= " WHERE ";
00094
00095 QString idfamilia = mui_idfamilia->idfamilia();
00096 if (idfamilia != "") {
00097 wherearticulo += warticulo + " idfamilia = " + idfamilia;
00098 warticulo = " AND ";
00099 }
00100
00101 QString idalmacen = mui_almacen->idalmacen();
00102 if (idalmacen != "") {
00103 wherealmacen += walmacen + " idalmacen = " + idalmacen;
00104 walmacen = " AND ";
00105 }
00106
00107 QString SQLQuery = "SELECT * FROM (SELECT * FROM (SELECT * FROM almacen " + wherealmacen + ") AS t6, (SELECT * FROM articulo " + wherearticulo + ") AS t5, (SELECT * FROM tarifa WHERE idtarifa = " + idtarifa + ") AS t2 ) AS t3 ";
00108 SQLQuery += " LEFT JOIN (SELECT * FROM ltarifa WHERE idtarifa = " + idtarifa + ") as t1 ON t1.idtarifa = t3.idtarifa AND t1.idalmacen = t3.idalmacen AND t1.idarticulo = t3.idarticulo";
00109 _depura("END TarifaView::formaQuery", 0);
00110 return SQLQuery;
00111 }
00112
00113
00117
00121 int TarifaView::cargar(QString idtarifa) {
00122 _depura("TarifaView::cargar(" + idtarifa + ")\n", 0);
00123 int error = 0;
00124 setDBvalue("idtarifa", idtarifa);
00125 DBRecord::cargar(idtarifa);
00126 mui_list->cargar(formaQuery(idtarifa));
00127
00128 setWindowTitle(tr("Tarifa") + " " + DBvalue("nomtarifa"));
00129 meteWindow(windowTitle(), this);
00130
00131 dialogChanges_cargaInicial();
00133 if (error == 1) {
00134 _depura("TarifaView::END_chargeArticle Error en la carga del articulo()\n", 0);
00135 return -1;
00136 }
00137 pintar();
00138 _depura("END TarifaView::cargar()\n", 0);
00139 return 0;
00140 }
00141
00142
00144
00147 int TarifaView::guardar() {
00148 _depura("TarifaView::INIT_s_grabarClicked()\n", 0);
00149 setDBvalue("nomtarifa", mui_nomtarifa->text());
00150 DBRecord::guardar();
00152 mui_list->setColumnValue("idtarifa", DBvalue("idtarifa"));
00153 mui_list->guardar();
00154 dialogChanges_cargaInicial();
00155 _depura("TarifaView::END_s_grabarClicked()\n", 0);
00156 return 0;
00157 }
00158
00159
00161
00163 void TarifaView::on_mui_crear_clicked() {
00164 _depura("TarifaView::INIT_boton_nuevo()\n", 0);
00165 vaciar();
00166 pintar();
00167 _depura("TarifaView::END_boton_nuevo()\n", 0);
00168 }
00169
00170
00172
00174 void TarifaView::on_mui_actualizar_clicked() {
00175 _depura("TarifaView::INIT_boton_nuevo()\n", 0);
00176 guardar();
00177 QString idtarifa = DBvalue("idtarifa");
00178 cargar(idtarifa);
00179 _depura("TarifaView::END_boton_nuevo()\n",0 );
00180 }
00181
00182
00184
00186 void TarifaView::on_mui_borrar_clicked() {
00187 _depura("TarifaView::INIT_boton_borrar()\n", 0);
00188 if (DBvalue("idtarifa") != "") {
00189 if (QMessageBox::question(this,
00190 tr("Borrar tarifa"),
00191 tr("Esta a punto de borrar una tarifa. Desea continuar?"),
00192 tr("&Si"), tr("&No"), 0, 1, 0) == 0) {
00193 empresaBase()->begin();
00194 int error = mui_list->borrar();
00195 error += borrar();
00196 if (error) {
00197 empresaBase()->rollback();
00198 } else
00199 empresaBase()->commit();
00200 dialogChanges_cargaInicial();
00201 close();
00202 }
00203 }
00204 _depura("TarifaView::END_boton_borrar()\n", 0);
00205 }
00206
00207
00209
00212 void TarifaView::closeEvent(QCloseEvent *e) {
00213 _depura("closeEvent", 0);
00214 if (dialogChanges_hayCambios()) {
00215 int val = QMessageBox::warning(this,
00216 tr("Guardar tarifa"),
00217 tr("Desea guardar los cambios?"),
00218 tr("&Si"), tr("&No"), tr("&Cancelar"), 0, 2);
00219 if (val == 0)
00220 on_mui_guardar_clicked();
00221 if (val == 2)
00222 e->ignore();
00223 }
00224 }
00225
00226
00228
00230 void TarifaView::on_mui_aceptar_clicked() {
00231 _depura("TarifaView::on_mui_aceptar_clicked", 0);
00232 on_mui_guardar_clicked();
00233 close();
00234 _depura("END TarifaView::on_mui_aceptar_clicked", 0);
00235 }
00236