PedidoClienteView Class Reference

Muestra y administra la ventana con la información de un pedido de cliente. More...

#include <pedidoclienteview.h>

Inheritance diagram for PedidoClienteView:

FichaBf Ui_PedidoClienteBase Ficha BLWidget DBRecord dialogChanges QWidget PEmpresaBase

Public Slots

virtual void s_pintaTotales ()
virtual void on_mui_verpresupuesto_clicked ()
virtual void on_mui_pasaraalbaran_clicked ()
virtual void on_mui_cobrar_clicked ()
virtual void on_m_descuentos_editFinish (int, int)
virtual void on_subform3_editFinish (int, int)
virtual void on_mui_idcliente_valueChanged (QString id)

Public Member Functions

 PedidoClienteView (Company *, QWidget *parent=0)
 ~PedidoClienteView ()
virtual int cargarPost (QString)
 Esta funcion carga un PedidoCliente.
virtual int guardarPost ()
 Guardamos el pedido cliente.
virtual int borrarPre ()
void generarAlbaran ()
void inicializar ()
void pintatotales (Fixed iva, Fixed base, Fixed total, Fixed desc, Fixed, Fixed)

Detailed Description

Muestra y administra la ventana con la información de un pedido de cliente.

Definition at line 44 of file pedidoclienteview.h.


Constructor & Destructor Documentation

PedidoClienteView::PedidoClienteView ( Company comp,
QWidget parent = 0 
)

Parameters:
comp 
parent 
Returns:

Usurpamos la identidad de mlist y ponemos nuestro propio widget con sus cosillas.

Disparamos los plugins.

Definition at line 50 of file pedidoclienteview.cpp.

References _depura(), DBRecord::addDBCampo(), DBCampo::DBboolean, DBCampo::DBdate, DBCampo::DBint, DBCampo::DBNothing, DBCampo::DBNotNull, DBCampo::DBPrimaryKey, DBCampo::DBvarchar, FALSE, g_plugins, Plugins::lanza(), Ui_PedidoClienteBase::m_descuentos, mensajeInfo(), Ficha::meteWindow(), Ui_PedidoClienteBase::mui_idalmacen, Ui_PedidoClienteBase::mui_idcliente, Ui_PedidoClienteBase::mui_idforma_pago, Ui_PedidoClienteBase::mui_idtrabajador, Ui_PedidoClienteBase::mui_refpedidocliente, DBRecord::setDBCampoId(), Ficha::setDBTableName(), BusquedaAlmacen::setEmpresaBase(), PEmpresaBase::setEmpresaBase(), SubForm2Bf::setEmpresaBase(), BusquedaAlmacen::setidalmacen(), BusquedaFormaPago::setidforma_pago(), BusquedaTrabajador::setidtrabajador(), FichaBf::setListaDescuentos(), FichaBf::setListaLineas(), Ficha::setTitleName(), Ui_PedidoClienteBase::setupUi(), and Ui_PedidoClienteBase::subform3.

00051         : FichaBf(comp, parent) {
00052     _depura("PedidoClienteView::PedidoClienteView", 0);
00053     setAttribute(Qt::WA_DeleteOnClose);
00054     try {
00056         setupUi(this);
00057 
00058         setTitleName(tr("Pedido Cliente"));
00059         setDBTableName("pedidocliente");
00060         setDBCampoId("idpedidocliente");
00061         addDBCampo("idpedidocliente", DBCampo::DBint, DBCampo::DBPrimaryKey, QApplication::translate("PedidoCliente", "Identificador"));
00062         addDBCampo("idcliente", DBCampo::DBint, DBCampo::DBNotNull, QApplication::translate("PedidoCliente", "Cliente"));
00063         addDBCampo("idalmacen", DBCampo::DBint, DBCampo::DBNotNull, QApplication::translate("PedidoCliente", "Almacen"));
00064         addDBCampo("numpedidocliente", DBCampo::DBint, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Numero pedido cliente"));
00065         addDBCampo("fechapedidocliente", DBCampo::DBdate, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Identificador presupuesto"));
00066         addDBCampo("descpedidocliente", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Fecha"));
00067         addDBCampo("idforma_pago", DBCampo::DBint, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Forma pago"));
00068         addDBCampo("idtrabajador", DBCampo::DBint, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Trabajador"));
00069         addDBCampo("contactpedidocliente", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Contacto"));
00070         addDBCampo("telpedidocliente", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Telefono"));
00071         addDBCampo("comentpedidocliente", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Comentarios"));
00072         addDBCampo("procesadopedidocliente", DBCampo::DBboolean, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Procesado"));
00073         addDBCampo("refpedidocliente", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("PedidoCliente", "Referencia"));
00074 
00075 
00077         int res = g_plugins->lanza("PedidoClienteView_PedidoClienteView", this);
00078         if (res != 0)
00079             return;
00080         subform3->setEmpresaBase(comp);
00081         mui_idcliente->setEmpresaBase(comp);
00082         mui_idforma_pago->setEmpresaBase(comp);
00083         mui_idforma_pago->setidforma_pago("");
00084         m_descuentos->setEmpresaBase(comp);
00085         mui_idalmacen->setEmpresaBase(comp);
00086         mui_idalmacen->setidalmacen("");
00087         mui_idtrabajador->setEmpresaBase(comp);
00088         mui_idtrabajador->setidtrabajador("");
00089         mui_refpedidocliente->setEmpresaBase(comp);
00090         setListaLineas(subform3);
00091         setListaDescuentos(m_descuentos);
00092         meteWindow(windowTitle(), this, FALSE);
00093     } catch (...) {
00094         mensajeInfo(tr("Error al crear el pedido cliente"));
00095     } // end try
00096     _depura("END PedidoClienteView::PedidoClienteView", 0);
00097 }

PedidoClienteView::~PedidoClienteView (  ) 

Definition at line 103 of file pedidoclienteview.cpp.

References _depura(), FichaBf::empresaBase(), and Company::refreshPedidosCliente().

00103                                       {
00104     _depura("PedidoClienteView::~PedidoClienteView", 0);
00105     empresaBase()->refreshPedidosCliente();
00106     _depura("END PedidoClienteView::~PedidoClienteView", 0);
00107 }


Member Function Documentation

int PedidoClienteView::cargarPost ( QString  idbudget  )  [virtual]

Esta funcion carga un PedidoCliente.

Parameters:
idbudget 
Returns:

Disparamos los plugins.

Reimplemented from Ficha.

Definition at line 300 of file pedidoclienteview.cpp.

References _depura(), FichaBf::calculaypintatotales(), SubForm2Bf::cargar(), g_plugins, Plugins::lanza(), FichaBf::m_listadescuentos, and FichaBf::m_listalineas.

00300                                                   {
00301     _depura("PedidoClienteView::cargarPost", 0);
00302 
00303     m_listalineas->cargar(idbudget);
00304     m_listadescuentos->cargar(idbudget);
00305 
00307     g_plugins->lanza("PedidoClienteView_cargarPost_Post", this);
00308 
00309     calculaypintatotales();
00310 
00311     _depura("END PedidoClienteView::cargar", 0);
00312     return 0;
00313 }

int PedidoClienteView::guardarPost (  )  [virtual]

Guardamos el pedido cliente.

Returns:

Reimplemented from Ficha.

Definition at line 320 of file pedidoclienteview.cpp.

References _depura(), DBRecord::DBvalue(), SubForm3::guardar(), FichaBf::m_listadescuentos, FichaBf::m_listalineas, and SubForm3::setColumnValue().

00320                                    {
00321     _depura("PedidoClienteView::guardar", 0);
00322     m_listalineas->setColumnValue("idpedidocliente", DBvalue("idpedidocliente"));
00323     m_listalineas->guardar();
00324     m_listadescuentos->setColumnValue("idpedidocliente", DBvalue("idpedidocliente"));
00325     m_listadescuentos->guardar();
00326     return 0;
00327 }

int PedidoClienteView::borrarPre (  )  [virtual]

Returns:

Reimplemented from Ficha.

Definition at line 286 of file pedidoclienteview.cpp.

References _depura(), SubForm3::borrar(), FichaBf::m_listadescuentos, and FichaBf::m_listalineas.

00286                                  {
00287     _depura("PedidoClienteView::borrar", 0);
00288     m_listalineas->borrar();
00289     m_listadescuentos->borrar();
00290     _depura("PedidoClienteView::borrar", 0);
00291     return 0;
00292 }

void PedidoClienteView::generarAlbaran (  ) 

Returns:

Comprobamos que existe el elemento, y en caso afirmativo lo mostramos y salimos de la funcion.

Informamos que ya hay un albaran y que la abriremos. Si no salimos de la función.

Creamos el albaran.

Traspasamos los datos al albaran.

Traspasamos las lineas al albaran.

Traspasamos los descuentos.

Pintamos el pedido y lo presentamos.

Definition at line 176 of file pedidoclienteview.cpp.

References _depura(), QWorkspace2::addWindow(), postgresiface2::cargacursor(), Ficha::cargar(), DBRecord::DBvalue(), FichaBf::empresaBase(), cursor2::eof(), FALSE, FichaBf::getlistadescuentos(), FichaBf::getlistalineas(), SubForm3::lineaat(), FichaBf::m_listadescuentos, FichaBf::m_listalineas, EmpresaBase::m_pWorkspace, Company::newAlbaranClienteView(), SubForm3::nuevoRegistro(), Ficha::pintar(), SubForm3::rowCount(), DBRecord::setDBvalue(), SubForm3::setProcesarCambios(), TRUE, and cursor2::valor().

Referenced by on_mui_pasaraalbaran_clicked().

00176                                        {
00177     _depura("PedidoClienteView::generarAlbaran", 0);
00179     QString SQLQuery = "SELECT * FROM albaran WHERE refalbaran = '" + DBvalue("refpedidocliente") + "' AND idcliente = " + DBvalue("idcliente");
00180     cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00181     if (!cur->eof()) {
00184         if (QMessageBox::question(this,
00185                                   tr("Albaran ya existe"),
00186                                   tr("Existe un albaran a este cliente con la misma referencia que este pedido. Desea abrirlo para verificar?"),
00187                                   tr("&Si"), tr("&No"), QString::null, 0, 1)) {
00188             return;
00189         } // end if
00190         AlbaranClienteView *bud = new AlbaranClienteView(empresaBase(), NULL);
00191         empresaBase()->m_pWorkspace->addWindow(bud);
00192         bud->cargar(cur->valor("idalbaran"));
00193         bud->show();
00194         return;
00195     } // end if
00196     delete cur;
00197 
00199     AlbaranClienteView *bud = empresaBase()->newAlbaranClienteView();
00200     empresaBase()->m_pWorkspace->addWindow(bud);
00201     bud->cargar("0");
00202 
00204     bud->setDBvalue("comentalbaran", DBvalue("comentpedidocliente"));
00205     bud->setDBvalue("descalbaran",DBvalue("descpedidocliente"));
00206     bud->setDBvalue("idforma_pago",DBvalue("idforma_pago"));
00207     bud->setDBvalue("refalbaran",DBvalue("refpedidocliente"));
00208     bud->setDBvalue("idcliente",DBvalue("idcliente"));
00209     bud->setDBvalue("idalmacen",DBvalue("idalmacen"));
00210     bud->setDBvalue("contactalbaran",DBvalue("contactpedidocliente"));
00211     bud->setDBvalue("telalbaran",DBvalue("telpedidocliente"));
00212     bud->setDBvalue("idtrabajador",DBvalue("idtrabajador"));
00213 
00214 
00216     SDBRecord *linea, *linea1;
00217     for (int i = 0; i < m_listalineas->rowCount(); ++i) {
00218         linea = m_listalineas->lineaat(i);
00219         if (linea->DBvalue("idarticulo") != "") {
00220             linea1 = bud->getlistalineas()->lineaat(bud->getlistalineas()->rowCount() - 1);
00221             bud->getlistalineas()->nuevoRegistro();
00222             bud->getlistalineas()->setProcesarCambios(FALSE);
00223             linea1->setDBvalue("desclalbaran", linea->DBvalue("desclpedidocliente"));
00224             linea1->setDBvalue("cantlalbaran", linea->DBvalue("cantlpedidocliente"));
00225             linea1->setDBvalue("pvplalbaran", linea->DBvalue("pvplpedidocliente"));
00226             linea1->setDBvalue("ivalalbaran", linea->DBvalue("ivalpedidocliente"));
00227             linea1->setDBvalue("descuentolalbaran", linea->DBvalue("descuentolpedidocliente"));
00228             linea1->setDBvalue("idarticulo", linea->DBvalue("idarticulo"));
00229             linea1->setDBvalue("codigocompletoarticulo", linea->DBvalue("codigocompletoarticulo"));
00230             linea1->setDBvalue("nomarticulo", linea->DBvalue("nomarticulo"));
00231             bud->getlistalineas()->setProcesarCambios(TRUE);
00232         } // end if
00233     } // end for
00234 
00236     for (int i = 0; i < m_listadescuentos->rowCount(); ++i) {
00237         linea1 = m_listadescuentos->lineaat(i);
00238         if (linea1->DBvalue("proporciondpedidocliente") != "") {
00239             linea = bud->getlistadescuentos()->lineaat(bud->getlistadescuentos()->rowCount() - 1);
00240             bud->getlistadescuentos()->setProcesarCambios(FALSE);
00241             linea->setDBvalue("conceptdalbaran", linea1->DBvalue("conceptdpedidocliente"));
00242             linea->setDBvalue("proporciondalbaran", linea1->DBvalue("proporciondpedidocliente"));
00243             bud->getlistadescuentos()->setProcesarCambios(TRUE);
00244             bud->getlistadescuentos()->nuevoRegistro();
00245         } // end if
00246     } // end for
00248     bud->pintar();
00249     bud->show();
00250     _depura("END PedidoClienteView::generarAlbaran", 0);
00251 }

void PedidoClienteView::inicializar (  ) 

Definition at line 113 of file pedidoclienteview.cpp.

References _depura(), dialogChanges::dialogChanges_cargaInicial(), SubForm3::inicializar(), Ui_PedidoClienteBase::m_descuentos, Ficha::pintar(), and Ui_PedidoClienteBase::subform3.

Referenced by PedidosClienteList::crear(), and Company::s_newPedidoClienteView().

00113                                     {
00114     _depura("PedidoClienteView::inicializar", 0);
00115     subform3->inicializar();
00116     m_descuentos->inicializar();
00117     pintar();
00118     dialogChanges_cargaInicial();
00119     _depura("END PedidoClienteView::inicializar", 0);
00120 }

void PedidoClienteView::pintatotales ( Fixed  iva,
Fixed  base,
Fixed  total,
Fixed  desc,
Fixed  irpf,
Fixed  reqeq 
) [virtual]

Parameters:
iva 
base 
total 
desc 
irpf 
reqeq 

Reimplemented from FichaBf.

Definition at line 132 of file pedidoclienteview.cpp.

References _depura(), iva, Ui_PedidoClienteBase::m_totalBases, Ui_PedidoClienteBase::m_totalDiscounts, Ui_PedidoClienteBase::m_totalIRPF, Ui_PedidoClienteBase::m_totalpedidocliente, Ui_PedidoClienteBase::m_totalReqEq, Ui_PedidoClienteBase::m_totalTaxes, and Fixed::toQString().

00132                                                                                                             {
00133     _depura("PedidoClienteView::pintatotales", 0);
00134     m_totalBases->setText(QString(base.toQString()));
00135     m_totalTaxes->setText(QString(iva.toQString()));
00136     m_totalDiscounts->setText(QString(desc.toQString()));
00137     m_totalIRPF->setText(QString(irpf.toQString()));
00138     m_totalReqEq->setText(QString(reqeq.toQString()));
00139     m_totalpedidocliente->setText(total.toQString());
00140     _depura("END PedidoClienteView::pintatotales", 0);
00141 }

void PedidoClienteView::s_pintaTotales (  )  [virtual, slot]

Definition at line 333 of file pedidoclienteview.cpp.

References _depura(), and FichaBf::calculaypintatotales().

00333                                        {
00334     _depura("PedidoClienteView::s_pintaTotales", 0);
00335     calculaypintatotales();
00336     _depura("END PedidoClienteView::s_pintaTotales", 0);
00337 }

void PedidoClienteView::on_mui_verpresupuesto_clicked (  )  [virtual, slot]

Definition at line 147 of file pedidoclienteview.cpp.

References _depura(), QWorkspace2::addWindow(), postgresiface2::cargacursor(), DBRecord::DBvalue(), FichaBf::empresaBase(), cursor2::eof(), EmpresaBase::m_pWorkspace, Company::nuevoPresupuestoView(), cursor2::siguienteregistro(), and cursor2::valor().

00147                                                       {
00148     _depura("PedidoClienteView::on_mui_verpresupuesto_clicked", 0);
00149     QString SQLQuery = "SELECT * FROM presupuesto WHERE refpresupuesto = '" + DBvalue("refpedidocliente") + "' AND idcliente = " + DBvalue("idcliente");
00150     cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00151     if (!cur->eof()) {
00152         while (!cur->eof()) {
00153             PresupuestoView *bud = empresaBase()->nuevoPresupuestoView();
00154             empresaBase()->m_pWorkspace->addWindow(bud);
00155             if (bud->cargar(cur->valor("idpresupuesto"))) {
00156                 delete bud;
00157                 return;
00158             } // end if
00159             bud->show();
00160             cur->siguienteregistro();
00161         } // end while
00162     } else {
00163         _depura("No hay presupuestos con la misma referencia.", 2);
00164     } // end if
00165     delete cur;
00166     _depura("END PedidoClienteView::on_mui_verpresupuesto_clicked", 0);
00167 }

void PedidoClienteView::on_mui_pasaraalbaran_clicked (  )  [virtual, slot]

Definition at line 343 of file pedidoclienteview.cpp.

References _depura(), and generarAlbaran().

00343                                                      {
00344     _depura("PedidoClienteView::on_mui_pasaraalbaran_clicked", 0);
00345     generarAlbaran();
00346     _depura("END PedidoClienteView::on_mui_pasaraalbaran_clicked", 0);
00347 }

void PedidoClienteView::on_mui_cobrar_clicked (  )  [virtual, slot]

Definition at line 257 of file pedidoclienteview.cpp.

References _depura(), DBRecord::DBvalue(), FichaBf::empresaBase(), Ui_PedidoClienteBase::m_totalpedidocliente, Company::newCobroView(), Ficha::pintar(), and DBRecord::setDBvalue().

00257                                               {
00258     _depura("PedidoClienteView::on_mui_cobrar_clicked", 0);
00259     CobroView *bud = empresaBase()->newCobroView();
00260     bud->setDBvalue("idcliente", DBvalue("idcliente"));
00261     bud->setDBvalue("cantcobro", m_totalpedidocliente->text());
00262     bud->setDBvalue("refcobro", DBvalue("refpedidocliente"));
00263     bud->setDBvalue("comentcobro", DBvalue("descpedidocliente"));
00264     bud->pintar();
00265     bud->show();
00266     _depura("END PedidoClienteView::on_mui_cobrar_clicked", 0);
00267 }

void PedidoClienteView::on_m_descuentos_editFinish ( int  ,
int   
) [virtual, slot]

Definition at line 353 of file pedidoclienteview.cpp.

References _depura(), and FichaBf::calculaypintatotales().

00353                                                            {
00354     _depura("PedidoClienteView::on_m_descuentos_editFinish", 0);
00355     calculaypintatotales();
00356     _depura("END PedidoClienteView::on_m_descuentos_editFinish", 0);
00357 }

void PedidoClienteView::on_subform3_editFinish ( int  ,
int   
) [virtual, slot]

Definition at line 363 of file pedidoclienteview.cpp.

References _depura(), and FichaBf::calculaypintatotales().

00363                                                        {
00364     _depura("PedidoClienteView::on_subform3_editFinish", 0);
00365     calculaypintatotales();
00366     _depura("END sPedidoClienteView::on_subform3_editFinish", 0);
00367 }

void PedidoClienteView::on_mui_idcliente_valueChanged ( QString  id  )  [virtual, slot]

Parameters:
id 

Definition at line 274 of file pedidoclienteview.cpp.

References _depura(), Ui_PedidoClienteBase::mui_idforma_pago, BusquedaFormaPago::setIdCliente(), SubForm2Bf::setIdCliente(), and Ui_PedidoClienteBase::subform3.

00274                                                                 {
00275     _depura("PedidoClienteView::on_m_cliente_valueChanged", 0);
00276     subform3->setIdCliente(id);
00277     mui_idforma_pago->setIdCliente(id);
00278     _depura("END PedidoClienteView::on_m_cliente_valueChanged", 0);
00279 }


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