00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QCheckBox>
00022 #include <QFile>
00023 #include <QMessageBox>
00024 #include <QTextStream>
00025
00026 #include "albaranclientelist.h"
00027 #include "albaranclienteview.h"
00028 #include "plugins.h"
00029 #include "company.h"
00030 #include "funcaux.h"
00031
00032
00034
00036 void AlbaranClienteListSubform::cargar() {
00037 _depura("AlbaranClienteListSubform::cargar", 0);
00038 QString SQLQuery = "SELECT * FROM albaran";
00039 SubForm3::cargar(SQLQuery);
00040 _depura("END AlbaranClienteListSubform::cargar", 0);
00041 }
00042
00043
00045
00048 void AlbaranClienteListSubform::cargar(QString query) {
00049 _depura("AlbaranClienteListSubform::cargar", 0);
00050 SubForm3::cargar(query);
00051 _depura("END AlbaranClienteListSubform::cargar", 0);
00052 }
00053
00054
00056
00059 void AlbaranClienteList::setidcliente(QString val) {
00060 _depura("AlbaranClienteList::setidcliente", 0);
00061 m_cliente->setidcliente(val);
00062 _depura("END AlbaranClienteList::setidcliente", 0);
00063 }
00064
00065
00067
00070 QString AlbaranClienteList::idCliDelivNote() {
00071 _depura("AlbaranClienteList::idCliDelivNote", 0);
00072 _depura("END AlbaranClienteList::idCliDelivNote", 0);
00073 return mdb_idalbaran;
00074 }
00075
00076
00078
00080 void AlbaranClienteList::crear() {
00081 _depura("AlbaranClienteList::crear", 0);
00082 ((Company *)empresaBase())->s_newAlbaranClienteView();
00083 _depura("END AlbaranClienteList::crear", 0);
00084 }
00085
00086
00100 AlbaranClienteList::AlbaranClienteList(QWidget *parent, Qt::WFlags flag, edmode editmodo)
00101 : Listado(NULL, parent, flag, editmodo) {
00102 _depura("AlbaranClienteList::AlbaranClienteList", 0);
00103 setupUi(this);
00105 int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00106 if (res != 0)
00107 return;
00108 mdb_idalbaran = "";
00109 setSubForm(mui_list);
00110 hideBusqueda();
00111 iniciaForm();
00112 _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00113 }
00114
00115
00129 AlbaranClienteList::AlbaranClienteList(Company *comp, QWidget *parent, Qt::WFlags flag, edmode editmodo)
00130 : Listado(comp, parent, flag, editmodo) {
00131 _depura("AlbaranClienteList::AlbaranClienteList", 0);
00132 setupUi(this);
00134 int res = g_plugins->lanza("AlbaranClienteList_AlbaranClienteList", this);
00135 if (res != 0)
00136 return;
00137 m_cliente->setEmpresaBase(comp);
00138 m_articulo->setEmpresaBase(comp);
00139 mui_list->setEmpresaBase(comp);
00140 presentar();
00141 setSubForm(mui_list);
00142 mdb_idalbaran = "";
00143 if (modoEdicion())
00144 empresaBase()->meteWindow(windowTitle(), this);
00145 hideBusqueda();
00146 iniciaForm();
00148 trataPermisos("albaran");
00149 _depura("END AlbaranClienteList::AlbaranClienteList", 0);
00150 }
00151
00152
00154
00157 void AlbaranClienteList::iniciaForm() {
00158 _depura("AlbaranClienteList::iniciaForm");
00160 int res = g_plugins->lanza("AlbaranClienteList_iniciaForm", this);
00161 if (res != 0)
00162 return;
00163 mui_procesada->insertItem(0, tr("Todos los albaranes"));
00164 mui_procesada->insertItem(1, tr("Albaranes procesados"));
00165 mui_procesada->insertItem(2, tr("Albaranes no procesados"));
00166 _depura("END AlbaranClienteList::iniciaForm");
00167 }
00168
00169
00171
00174 void AlbaranClienteList::setEmpresaBase(Company *comp) {
00175 _depura("AlbaranClienteList::setEmpresaBase", 0);
00176 PEmpresaBase::setEmpresaBase(comp);
00177 m_cliente->setEmpresaBase(comp);
00178 m_articulo->setEmpresaBase(comp);
00179 mui_list->setEmpresaBase(comp);
00180 _depura("END AlbaranClienteList::setEmpresaBase", 0);
00181 }
00182
00183
00187 AlbaranClienteList::~AlbaranClienteList() {
00188 _depura("AlbaranClienteList::~AlbaranClienteList", 0);
00189 _depura("END AlbaranClienteList::~AlbaranClienteList", 0);
00190 }
00191
00192
00198 void AlbaranClienteList::presentar() {
00199 _depura("AlbaranClienteList::presentar");
00200
00201 mui_list->cargar("SELECT *, totalalbaran AS total, bimpalbaran AS base, impalbaran AS impuestos FROM albaran LEFT JOIN cliente ON albaran.idcliente = cliente.idcliente LEFT JOIN almacen ON albaran.idalmacen = almacen.idalmacen LEFT JOIN forma_pago ON albaran.idforma_pago = forma_pago.idforma_pago WHERE 1 = 1 " + generarFiltro());
00202
00204 cursor2 *cur = empresaBase()->cargacursor("SELECT SUM(totalalbaran) AS total FROM albaran LEFT JOIN cliente ON albaran.idcliente=cliente.idcliente LEFT JOIN almacen ON almacen.idalmacen = albaran.idalmacen where 1 = 1 " + generarFiltro());
00206 if (cur) {
00207 m_total->setText(cur->valor("total"));
00208 delete cur;
00209 }
00210
00211 _depura("End AlbaranClienteList::presentar");
00212 }
00213
00214
00229 void AlbaranClienteList::editar(int row) {
00230 _depura("AlbaranClienteList::editar", 0);
00231 mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"), row);
00232 if (modoEdicion()) {
00233 AlbaranClienteView *prov = ((Company *)empresaBase())->newAlbaranClienteView();
00234 if (prov->cargar(mdb_idalbaran)) {
00235 delete prov;
00236 return;
00237 }
00238 empresaBase()->m_pWorkspace->addWindow(prov);
00239 prov->show();
00240 } else {
00241 emit(selected(mdb_idalbaran));
00242 }
00243 _depura("END AlbaranClienteList::editar", 0);
00244 }
00245
00246
00247
00251
00252
00253
00256 void AlbaranClienteList::borrar() {
00257 _depura("AlbaranClienteList::borrar", 0);
00258 int a = mui_list->currentRow();
00259 if (a < 0) {
00260 mensajeInfo(tr("Debe seleccionar una linea"));
00261 return;
00262 }
00263 try {
00264 mdb_idalbaran = mui_list->DBvalue(QString("idalbaran"));
00265 if (modoEdicion()) {
00266 AlbaranClienteView *acv = ((Company *)empresaBase())->newAlbaranClienteView();
00267 if (acv->cargar(mdb_idalbaran))
00268 throw -1;
00269 acv->on_mui_borrar_clicked();
00270 acv->close();
00271 }
00272 presentar();
00273 } catch (...) {
00274 mensajeInfo(tr("Error al borrar el albaran a cliente"));
00275 }
00276 _depura("END AlbaranClienteList::borrar", 0);
00277 }
00278
00279
00282
00283
00285 void AlbaranClienteList::imprimir() {
00286 _depura("AlbaranClienteList::imprimir", 0);
00287 mui_list->imprimirPDF(tr("Albaranes a clientes"));
00288 _depura("END AlbaranClienteList::imprimir", 0);
00289 }
00290
00291
00298 QString AlbaranClienteList::generarFiltro() {
00300 _depura("AlbaranClienteList::generarFiltro", 0);
00301 QString filtro = "";
00302
00303 if (m_filtro->text() != "") {
00304 filtro = " AND ( lower(descalbaran) LIKE lower('%" + m_filtro->text() + "%') ";
00305 filtro +=" OR refalbaran LIKE '"+m_filtro->text()+"%' ";
00306 filtro +=" OR lower(nomcliente) LIKE lower('%" + m_filtro->text() + "%')) ";
00307 } else {
00308 filtro = "";
00309 }
00310
00311 if (m_cliente->idcliente() != "")
00312 filtro += " AND albaran.idcliente='" + m_cliente->idcliente() + "'";
00313
00314 if (m_articulo->idarticulo() != "")
00315 filtro += " AND idalbaran IN (SELECT DISTINCT idalbaran FROM lalbaran WHERE idarticulo='" + m_articulo->idarticulo() + "')";
00316
00318 if (mui_procesada->currentIndex() == 1) {
00320 filtro += " AND procesadoalbaran";
00321 } else if (mui_procesada->currentIndex() == 2) {
00323 filtro += " AND NOT procesadoalbaran ";
00324 }
00325
00326 if (m_fechain->text() != "")
00327 filtro += " AND fechaalbaran >= '" + m_fechain->text() + "' ";
00328
00329 if (m_fechafin->text() != "")
00330 filtro += " AND fechaalbaran <= '" + m_fechafin->text() + "' ";
00331
00332 _depura("END AlbaranClienteList::generarFiltro", 0);
00333 return (filtro);
00334 }
00335
00336
00340
00347 AlbaranClienteListSubform::AlbaranClienteListSubform(QWidget *parent) : SubForm2Bf(parent) {
00348 _depura("AlbaranClienteListSubform::AlbaranClienteListSubform", 0);
00349
00351 int res = g_plugins->lanza("AlbaranClienteListSubform_AlbaranClienteListSubform", this);
00352 if (res != 0)
00353 return;
00354 setDBTableName("albaran");
00355 setDBCampoId("idalbaran");
00356 addSHeader("refalbaran", DBCampo::DBint, DBCampo::DBNotNull | DBCampo::DBPrimaryKey, SHeader::DBNoView | SHeader::DBNoWrite, tr("Referencia de albaran"));
00357 addSHeader("codigoalmacen", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Codigo de almacen"));
00358 addSHeader("numalbaran", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Numero de albaran"));
00359 addSHeader("descalbaran", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion"));
00360 addSHeader("fechaalbaran", DBCampo::DBdate, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Fecha de albaran"));
00361 addSHeader("nomcliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Nombre de cliente"));
00362 addSHeader("idforma_pago", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID forma de pago"));
00363 addSHeader("descforma_pago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Descripcion de forma de pago"));
00364 addSHeader("idtrabajador", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID trabajador"));
00365 addSHeader("idcliente", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID cliente"));
00366 addSHeader("idalbaran", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID albaran"));
00367 addSHeader("comentalbaran", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Comentarios del albaran"));
00368 addSHeader("idalmacen", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("ID almacen"));
00369 addSHeader("base", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Base imponible"));
00370 addSHeader("impuestos", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Impuestos"));
00371 addSHeader("total", DBCampo::DBnumeric, DBCampo::DBNoSave, SHeader::DBNone | SHeader::DBNoWrite, tr("Total"));
00372 setinsercion(FALSE);
00373 setDelete(FALSE);
00374 setSortingEnabled(TRUE);
00375 _depura("END AlbaranClienteListSubform::AlbaranClienteListSubform", 0);
00376 }
00377
00378
00380
00382 AlbaranClienteListSubform::~AlbaranClienteListSubform() {
00383 _depura("AlbaranClienteListSubform::~AlbaranClienteListSubform", 0);
00384 _depura("END AlbaranClienteListSubform::~AlbaranClienteListSubform", 0);
00385 }