Aggiunti metodi set, operatori = e costruttori di copia a TRata e TRate_doc
Correto metodo di lettura rate git-svn-id: svn://10.65.10.50/trunk@5704 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
84c3f53143
commit
72a110b90a
24
pr/prlib.h
24
pr/prlib.h
@ -41,11 +41,14 @@ public:
|
|||||||
void set_impprovv(real& r) { _impprovv = r; }
|
void set_impprovv(real& r) { _impprovv = r; }
|
||||||
void set_saldata(bool b = TRUE) { _saldata = b; }
|
void set_saldata(bool b = TRUE) { _saldata = b; }
|
||||||
void set_generata(const bool g = TRUE) { _generata = g ? 'D' : ' '; }
|
void set_generata(const bool g = TRUE) { _generata = g ? 'D' : ' '; }
|
||||||
void set(TRectype& rec);
|
void set(const TRectype& rec);
|
||||||
|
void set(const TRata& r);
|
||||||
void set(TToken_string& t);
|
void set(TToken_string& t);
|
||||||
TRata(TRectype& rec);
|
const TRata& operator = (const TRata & r) { set(r);return *this;}
|
||||||
|
TRata(const TRectype& rec);
|
||||||
|
TRata(const TRata & r) { set(r);}
|
||||||
TRata() { _generata = ' ';}
|
TRata() { _generata = ' ';}
|
||||||
~TRata() {}
|
virtual ~TRata() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TRate_doc : public TObject
|
class TRate_doc : public TObject
|
||||||
@ -61,8 +64,8 @@ class TRate_doc : public TObject
|
|||||||
public:
|
public:
|
||||||
virtual TObject* dup() const { return new TRate_doc(*this); }
|
virtual TObject* dup() const { return new TRate_doc(*this); }
|
||||||
const int anno() const { return _anno; }
|
const int anno() const { return _anno; }
|
||||||
const TString16& codnum() const { return _codnum; }
|
const TString& codnum() const { return _codnum; }
|
||||||
const TString16& codval() const { return _codval; }
|
const TString& codval() const { return _codval; }
|
||||||
const long ndoc() const { return _ndoc; }
|
const long ndoc() const { return _ndoc; }
|
||||||
const long codcf() const { return _codcf; }
|
const long codcf() const { return _codcf; }
|
||||||
const TDate datadoc() const { return _datadoc; }
|
const TDate datadoc() const { return _datadoc; }
|
||||||
@ -80,10 +83,13 @@ public:
|
|||||||
void sort_rate() {_rows.sort();}
|
void sort_rate() {_rows.sort();}
|
||||||
// Controlla che la somma delle provvigioni delle singole rate sia <= della provvigione del documento
|
// Controlla che la somma delle provvigioni delle singole rate sia <= della provvigione del documento
|
||||||
bool ok_provvigione();
|
bool ok_provvigione();
|
||||||
void set(TRectype& rec);
|
void set(const TRectype& rec);
|
||||||
|
void set(const TRate_doc & r);
|
||||||
void set(TToken_string& t);
|
void set(TToken_string& t);
|
||||||
TRate_doc(TRectype& rec);
|
const TRate_doc & operator =(const TRate_doc& r) { set(r); return *this;}
|
||||||
~TRate_doc() {}
|
TRate_doc(const TRectype& rec);
|
||||||
|
TRate_doc(const TRate_doc& r) { set(r);}
|
||||||
|
virtual ~TRate_doc() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TProvvigioni_agente : public TRectype
|
class TProvvigioni_agente : public TRectype
|
||||||
@ -121,7 +127,7 @@ public:
|
|||||||
void destroy() { _rate.destroy(); }
|
void destroy() { _rate.destroy(); }
|
||||||
TProvvigioni_agente(const char* agente);
|
TProvvigioni_agente(const char* agente);
|
||||||
TProvvigioni_agente() ;
|
TProvvigioni_agente() ;
|
||||||
~TProvvigioni_agente();
|
virtual ~TProvvigioni_agente();
|
||||||
};
|
};
|
||||||
|
|
||||||
class TAgente : public TRectype
|
class TAgente : public TRectype
|
||||||
|
@ -70,12 +70,18 @@ int TProvvigioni_agente::read(const char* agente, const int anno, const char* co
|
|||||||
key.format("%4d%4s%7ld",anno1,(const char*)codnum1,ndoc1); // Compone la chiave
|
key.format("%4d%4s%7ld",anno1,(const char*)codnum1,ndoc1); // Compone la chiave
|
||||||
|
|
||||||
const bool exist = _rate.is_key(key); // Guarda se esiste gia' questo documento
|
const bool exist = _rate.is_key(key); // Guarda se esiste gia' questo documento
|
||||||
TRate_doc com_rata(r);
|
|
||||||
TRate_doc& rd = exist ? (TRate_doc&) _rate[key] : com_rata;
|
if (!exist)
|
||||||
|
_rate.add(key,(TRate_doc*)new TRate_doc(r), exist);
|
||||||
|
|
||||||
|
TRate_doc& rd = (TRate_doc&)_rate[key];
|
||||||
|
|
||||||
|
//TRate_doc com_rata(r);
|
||||||
|
//TRate_doc& rd = exist ? (TRate_doc&) _rate[key] : com_rata;
|
||||||
TRata* rt = new TRata(r);
|
TRata* rt = new TRata(r);
|
||||||
rd.add_rata(rt);
|
rd.add_rata(rt);
|
||||||
|
|
||||||
_rate.add(key,rd,exist); // Sostituisce/aggiunge l'elemento
|
//_rate.add(key,rd,exist); // Sostituisce/aggiunge l'elemento
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dopo aver letto le righe, ordina le rate per ogni documento
|
// Dopo aver letto le righe, ordina le rate per ogni documento
|
||||||
@ -219,7 +225,7 @@ void TProvvigioni_agente::remove_rate(const char* key)
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// TRate_doc
|
// TRate_doc
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
TRate_doc::TRate_doc(TRectype& rec)
|
TRate_doc::TRate_doc(const TRectype& rec)
|
||||||
{
|
{
|
||||||
set(rec); // bleah!
|
set(rec); // bleah!
|
||||||
}
|
}
|
||||||
@ -242,7 +248,7 @@ bool TRate_doc::ok_provvigione()
|
|||||||
return totprov <= _impprdoc; // controlla che tale somma e' compresa nel totale provvigione del documento
|
return totprov <= _impprdoc; // controlla che tale somma e' compresa nel totale provvigione del documento
|
||||||
}
|
}
|
||||||
|
|
||||||
void TRate_doc::set(TRectype& rec)
|
void TRate_doc::set(const TRectype& rec)
|
||||||
{
|
{
|
||||||
CHECK(rec.num() == LF_PROVV,"Il record non ha il tracciato di LF_PROVV");
|
CHECK(rec.num() == LF_PROVV,"Il record non ha il tracciato di LF_PROVV");
|
||||||
_anno = rec.get_int(PROV_ANNO);
|
_anno = rec.get_int(PROV_ANNO);
|
||||||
@ -258,6 +264,21 @@ void TRate_doc::set(TRectype& rec)
|
|||||||
_cambio = rec.get_real(PROV_CAMBIO);
|
_cambio = rec.get_real(PROV_CAMBIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TRate_doc::set(const TRate_doc& r)
|
||||||
|
{
|
||||||
|
_anno = r._anno;
|
||||||
|
_codnum = r._codnum;
|
||||||
|
_codval = r._codval;
|
||||||
|
_ndoc = r._ndoc;
|
||||||
|
_codcf = r._codcf;
|
||||||
|
_datadoc = r._datadoc;
|
||||||
|
_datacambio = r._datacambio;
|
||||||
|
_impdoc = r._impdoc;
|
||||||
|
_impprdoc = r._impprdoc;
|
||||||
|
_impnetdoc = r._impnetdoc;
|
||||||
|
_cambio = r._cambio;
|
||||||
|
}
|
||||||
|
|
||||||
void TRate_doc::set(TToken_string& t)
|
void TRate_doc::set(TToken_string& t)
|
||||||
{
|
{
|
||||||
CHECK(t.items() >= 11, "Numero di items non valido");
|
CHECK(t.items() >= 11, "Numero di items non valido");
|
||||||
@ -306,7 +327,7 @@ void TRata::set(TToken_string& t)
|
|||||||
_tipopagpr = t.get_int(10);
|
_tipopagpr = t.get_int(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TRata::set(TRectype& rec)
|
void TRata::set(const TRectype& rec)
|
||||||
{
|
{
|
||||||
CHECK(rec.num() == LF_PROVV,"Il record non ha il tracciato di LF_PROVV");
|
CHECK(rec.num() == LF_PROVV,"Il record non ha il tracciato di LF_PROVV");
|
||||||
_datascad = rec.get_date(PROV_DATASCAD);
|
_datascad = rec.get_date(PROV_DATASCAD);
|
||||||
@ -323,11 +344,27 @@ void TRata::set(TRectype& rec)
|
|||||||
_tipopagpr = rec.get_int(PROV_TIPOPAGPR);
|
_tipopagpr = rec.get_int(PROV_TIPOPAGPR);
|
||||||
}
|
}
|
||||||
|
|
||||||
TRata::TRata(TRectype& rec)
|
TRata::TRata(const TRectype& rec)
|
||||||
{
|
{
|
||||||
set(rec);
|
set(rec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TRata::set(const TRata& r)
|
||||||
|
{
|
||||||
|
_datascad = r._datascad;
|
||||||
|
_tipopag = r._tipopag;
|
||||||
|
_imprata = r._imprata;
|
||||||
|
_impprovv = r._impprovv;
|
||||||
|
_pagato = r._pagato;
|
||||||
|
_provvpag = r._provvpag;
|
||||||
|
_pagmat = r._pagmat;
|
||||||
|
_provvmat = r._provvmat;
|
||||||
|
_saldata = r._saldata;
|
||||||
|
_nrata = r._nrata;
|
||||||
|
_generata = r._generata;
|
||||||
|
_tipopagpr = r._tipopagpr;
|
||||||
|
}
|
||||||
|
|
||||||
int TAgente::read(const char * codice)
|
int TAgente::read(const char * codice)
|
||||||
{
|
{
|
||||||
TLocalisamfile f(LF_AGENTI);
|
TLocalisamfile f(LF_AGENTI);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user