00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QComboBox>
00022
00023 #include "cobropagoview.h"
00024 #include "postgresiface2.h"
00025 #include "empresa.h"
00026 #include "aplinteligentesview.h"
00027 #include "busquedacuenta.h"
00028
00029
00031
00035 cobropagoview::cobropagoview(Empresa *emp, QWidget *parent)
00036 : Ficha(parent) {
00037 _depura("cobropagoview::cobropagoview", 0);
00038 setAttribute(Qt::WA_DeleteOnClose);
00039 setupUi(this);
00040 m_companyact = emp;
00041 mui_listado->setEmpresaBase(m_companyact);
00043 mui_listado->setDBTableName("prevcobro");
00044 mui_listado->setDBCampoId("idprevcobro");
00045 mui_listado->addSHeader("idprevcobro", DBCampo::DBint, DBCampo::DBPrimaryKey, SHeader::DBNoWrite , tr("idprevcobro"));
00046 mui_listado->addSHeader("fprevistaprevcobro", DBCampo::DBint, DBCampo::DBNotNull, SHeader::DBNoWrite , tr("fprevistaprevcobro"));
00047 mui_listado->addSHeader("fcobroprevcobro", DBCampo::DBint, DBCampo::DBNoSave, SHeader::DBNoWrite , tr("fcobroprevcobro"));
00048 mui_listado->addSHeader("idctacliente", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite | SHeader::DBNoView, tr("idctacliente"));
00049 mui_listado->addSHeader("idfpago", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite , tr("idfpago"));
00050 mui_listado->addSHeader("idcuenta", DBCampo::DBint, DBCampo::DBNothing, SHeader::DBNone , tr("idcuenta"));
00051 mui_listado->addSHeader("idasiento", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("idasiento"));
00052 mui_listado->addSHeader("cantidadprevistaprevcobro", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("cantidadprevistaprevcobro"));
00053 mui_listado->addSHeader("cantidadprevcobro", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("cantidadprevcobro"));
00054 mui_listado->addSHeader("idregistroiva", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("idregistroiva"));
00055 mui_listado->addSHeader("tipoprevcobro", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("tipoprevcobro"));
00056 mui_listado->addSHeader("docprevcobro", DBCampo::DBnumeric, DBCampo::DBNothing, SHeader::DBNone , tr("docprevcobro"));
00057 mui_listado->setinsercion(FALSE);
00059 m_cuenta->setEmpresaBase(emp);
00060 on_mui_actualizar_clicked();
00061 m_companyact->meteWindow(windowTitle(), this);
00062 _depura("END cobropagoview::cobropagoview", 0);
00063 }
00064
00065
00067
00069 cobropagoview::~cobropagoview() {
00070 _depura("cobropagoview::~cobropagoview", 0);
00071 m_companyact->sacaWindow(this);
00072 _depura("END cobropagoview::~cobropagoview", 0);
00073 }
00074
00075
00077
00079 void cobropagoview::on_mui_actualizar_clicked() {
00080 _depura("cobropagoview::s_actualizar", 0);
00081
00083 QString cadwhere = "";
00084 mui_listado->cargar("SELECT * FROM prevcobro "
00085 " LEFT JOIN cuenta ON cuenta.idcuenta=prevcobro.idcuenta "
00086 " LEFT JOIN (SELECT idcuenta AS idctacliente, codigo AS codigoctacliente, descripcion AS nomctacliente FROM cuenta) AS T1 ON t1.idctacliente = prevcobro.idctacliente "
00087 " WHERE 1=1 "+ cadwhere);
00088 s_recalculaSaldo();
00089 _depura("END cobropagoview::s_actualizar", 0);
00090 }
00091
00092
00094
00096 void cobropagoview::s_guardar() {
00097 _depura("cobropagoview::s_guardar", 0);
00098 mui_listado->guardar();
00099 _depura("END cobropagoview::s_guardar", 0);
00100 }
00101
00102
00104
00106 void cobropagoview::s_recalculaSaldo() {
00107 _depura("s_recalculaSaldo()", 0);
00108 Fixed totalcobro("0");
00109 Fixed totalpago("0");
00110 for (int i = 0; i < mui_listado->rowCount(); i++) {
00111 SDBRecord *rec = mui_listado->lineaat(i);
00112 if (rec) {
00113 if (rec->DBvalue("tipoprevcobro") == "f") {
00114 totalcobro = totalcobro + Fixed(rec->DBvalue("cantidadprevcobro"));
00115 } else {
00116 totalpago = totalpago + Fixed(rec->DBvalue("cantidadprevcobro"));
00117 }
00118 }
00119 }
00120 m_totalCobros->setText(totalcobro.toQString());
00121 m_totalPagos->setText(totalpago.toQString());
00122 _depura("END s_recalculaSaldo()", 0);
00123 }
00124