00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QFile>
00022 #include <QTextStream>
00023
00024 #include "contrato.h"
00025 #include "company.h"
00026 #include "funcaux.h"
00027 #include "plugins.h"
00028
00029
00036 Contrato::Contrato(Company *comp, QWidget *parent) : FichaBf(comp, parent) {
00037 _depura("Contrato::Contrato", 0);
00038 setTitleName(tr("Contrato"));
00039 setDBTableName("contrato");
00040 setDBCampoId("idcontrato");
00041 addDBCampo("idcontrato", DBCampo::DBint, DBCampo::DBPrimaryKey, QApplication::translate("Contrato", "Id contrato"));
00042 addDBCampo("idcliente", DBCampo::DBint, DBCampo::DBNotNull, QApplication::translate("Contrato", "Id cliente"));
00043 addDBCampo("refcontrato", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("Contrato", "Referencia contrato"));
00044 addDBCampo("descontrato", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00045 addDBCampo("nomcontrato", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00046 addDBCampo("loccontrato", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00047 addDBCampo("periodicidadcontrato", DBCampo::DBvarchar, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00048 addDBCampo("fincontrato", DBCampo::DBdate, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00049 addDBCampo("ffincontrato", DBCampo::DBdate, DBCampo::DBNothing, QApplication::translate("Contrato", "Descripcion contrato"));
00050 _depura("END Contrato::Contrato", 0);
00051 }
00052
00053
00058 Contrato::~Contrato() {
00059 _depura("Contrato::~Contrato", 0);
00060 _depura("END Contrato::~Contrato", 0);
00061 }
00062
00063
00069
00070
00073 int Contrato::borrar() {
00074 _depura("Contrato::borrar", 0);
00075 if (DBvalue("idcontrato") != "") {
00076 empresaBase()->begin();
00077 int error = m_listalineas->borrar();
00078 if (error) {
00079 empresaBase()->rollback();
00080 return -1;
00081 }
00082 error = DBRecord::borrar();
00083 if (error) {
00084 empresaBase()->rollback();
00085 return -1;
00086 }
00087 empresaBase()->commit();
00088 }
00089 _depura("END Contrato::borrar", 0);
00090 return 0;
00091 }
00092
00093
00098 void Contrato::vaciaContrato() {
00099 _depura("Contrato::vaciaContrato", 0);
00100 DBclear();
00101 _depura("END Contrato::vaciaContrato", 0);
00102 }
00103
00104
00108
00109
00111 void Contrato::pintar() {
00112 _depura("pintaContrato", 0);
00113 pintaidcliente(DBvalue("idcliente"));
00114 pintafincontrato(DBvalue("fincontrato"));
00115 pintaffincontrato(DBvalue("ffincontrato"));
00116 pintaperiodicidadcontrato(DBvalue("periodicidadcontrato"));
00117 pintarefcontrato(DBvalue("refcontrato"));
00118 pintadescontrato(DBvalue("descontrato"));
00119 pintanomcontrato(DBvalue("nomcontrato"));
00120 pintaloccontrato(DBvalue("loccontrato"));
00122 m_listalineas->pintar();
00123 _depura("END pintaContrato", 0);
00124 }
00125
00126
00128
00134
00135
00139 int Contrato::cargar(QString idbudget) {
00140 _depura("Contrato::cargar", 0);
00141 inicialize();
00142 QString query = "SELECT * FROM contrato WHERE idcontrato = " + idbudget;
00143 cursor2 * cur= empresaBase()->cargacursor(query);
00144 if (!cur->eof()) {
00145 DBload(cur);
00146 }
00147 delete cur;
00148 m_listalineas->cargar(idbudget);
00149 pintar();
00150 _depura("END Contrato::cargar", 0);
00151 return 0;
00152 }
00153
00154
00166 int Contrato::guardar() {
00167 _depura("Contrato::guardar", 0);
00168 QString fecha;
00169 try {
00171 QString id;
00172 empresaBase()->begin();
00173 DBsave(id);
00174 setDBvalue("idcontrato", id);
00175 m_listalineas->setColumnValue("idcontrato", id);
00176 m_listalineas->guardar();
00177 empresaBase()->commit();
00178
00180 cargar(id);
00181
00182 _depura("END Contrato::guardar", 0);
00183 return 0;
00184 } catch (...) {
00185 _depura("Contrato::guardar() se produjo un error guardando la contrato", 0);
00186 empresaBase()->rollback();
00187 throw -1;
00188 }
00189 }
00190
00191
00197 Company * Contrato::_company() {
00198 _depura("Contrato::_company", 0);
00199 _depura("END Contrato::_company", 0);
00200 return empresaBase();
00201 }
00202
00203
00208
00209
00211 void Contrato::pintaidcliente(QString) {
00212 _depura("Contrato::pintaidcliente", 0);
00213 _depura("END Contrato::pintaidcliente", 0);
00214 }
00215
00216
00218
00220 void Contrato::pintarefcontrato(QString) {
00221 _depura("Contrato::pintarefcontrato", 0);
00222 _depura("Contrato::pintarefcontrato", 0);
00223 }
00224
00225
00227
00229 void Contrato::pintafincontrato(QString ) {
00230 _depura("Contrato::pintafincontrato", 0);
00231 _depura("END Contrato::pintafincontrato", 0);
00232 }
00233
00234
00236
00238 void Contrato::pintadescontrato(QString) {
00239 _depura("Contrato::pintadescontrato", 0);
00240 _depura("END Contrato::pintadescontrato", 0);
00241 }
00242
00243
00245
00247 void Contrato::pintanomcontrato(QString) {
00248 _depura("Contrato::pintanomcontrato", 0);
00249 _depura("END Contrato::pintanomcontrato", 0);
00250 }
00251
00252
00254
00256 void Contrato::pintaffincontrato(QString) {
00257 _depura("Contrato::pintaffincontrato", 0);
00258 _depura("END Contrato::pintaffincontrato", 0);
00259 }
00260
00261
00263
00265 void Contrato::pintaloccontrato(QString) {
00266 _depura("Contrato::pintaloccontrato", 0);
00267 _depura("END Contrato::pintaloccontrato", 0);
00268 }
00269
00270
00272
00274 void Contrato::pintaperiodicidadcontrato(QString) {
00275 _depura("Contrato::pintaperiodicidadcontrato", 0);
00276 _depura("END Contrato::pintaperiodicidadcontrato", 0);
00277 }
00278
00279
00281
00283 void Contrato::inicialize() {
00284 _depura("Contrato::inicialize", 0);
00285 _depura("END Contrato::inicialize", 0);
00286 }
00287
00288
00290
00293 QString Contrato::calculateValues() {
00294 _depura("Contrato::calculateValues", 0);
00295 _depura("END Contrato::calculateValues", 0);
00296 return "";
00297 }
00298
00299
00300