git-svn-id: svn://10.65.10.50/branches/R_10_00@22737 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a188f840dc
commit
3a98d37f2b
@ -196,7 +196,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
tasto = _msk->run();
|
tasto = _msk->run();
|
||||||
if (tasto == K_ENTER)
|
if (tasto == K_ENTER)
|
||||||
{
|
{
|
||||||
const TDate datarif = TDate("16/05/2004");
|
const TDate datarif(16, 5, 2004);
|
||||||
_oldben = "**";
|
_oldben = "**";
|
||||||
_contatore = 0;
|
_contatore = 0;
|
||||||
_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
|
_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
|
||||||
@ -208,12 +208,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
_definitiva = _msk->get_bool(F_DEFINITIVA);
|
_definitiva = _msk->get_bool(F_DEFINITIVA);
|
||||||
_nuovicriteri = _msk->get_bool(F_NUOVICRITERI);
|
_nuovicriteri = _msk->get_bool(F_NUOVICRITERI);
|
||||||
_catdon.destroy();
|
_catdon.destroy();
|
||||||
const TString16 catpri = _msk->get(F_CAT1);
|
const TString4 catpri = _msk->get(F_CAT1);
|
||||||
const TString16 catsec = _msk->get(F_CAT2);
|
const TString4 catsec = _msk->get(F_CAT2);
|
||||||
const TString16 catter = _msk->get(F_CAT3);
|
const TString4 catter = _msk->get(F_CAT3);
|
||||||
const TString16 catqua = _msk->get(F_CAT4);
|
const TString4 catqua = _msk->get(F_CAT4);
|
||||||
const TString16 catqui = _msk->get(F_CAT5);
|
const TString4 catqui = _msk->get(F_CAT5);
|
||||||
const TString16 catses = _msk->get(F_CAT6);
|
const TString4 catses = _msk->get(F_CAT6);
|
||||||
if (catpri.not_empty())
|
if (catpri.not_empty())
|
||||||
_catdon.add((const char*) catpri);
|
_catdon.add((const char*) catpri);
|
||||||
if (catsec.not_empty())
|
if (catsec.not_empty())
|
||||||
@ -235,34 +235,36 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
int m_numdon = ben.get_int("I1");
|
int m_numdon = ben.get_int("I1");
|
||||||
int m_anni = ben.get_int("I2");
|
int m_anni = ben.get_int("I2");
|
||||||
bool solodim = ben.get_bool("B0");
|
bool solodim = ben.get_bool("B0");
|
||||||
TToken_string* condizioni = new TToken_string();;
|
TToken_string* condizioni = new TToken_string();
|
||||||
condizioni->add(numdonben);
|
condizioni->add(numdonben);
|
||||||
condizioni->add(m_numdon);
|
condizioni->add(m_numdon);
|
||||||
condizioni->add(m_anni);
|
condizioni->add(m_anni);
|
||||||
condizioni->add(solodim);
|
condizioni->add(solodim);
|
||||||
_tabben.add((const char*)codben, (TObject*) condizioni);
|
_tabben.add(codben, condizioni);
|
||||||
}
|
}
|
||||||
TString80 filtro;
|
TString80 filtro;
|
||||||
if (_attgruppi)
|
if (_attgruppi)
|
||||||
{
|
{
|
||||||
if (_gruppoazie.not_empty())
|
if (_gruppoazie.full())
|
||||||
filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie);
|
filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie);
|
||||||
else
|
else
|
||||||
filtro.format("(90->GRUPPOAZIE != \"\")");
|
filtro.format("(90->GRUPPOAZIE != \"\")");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
if (!_anchegruppi)
|
if (!_anchegruppi)
|
||||||
filtro.format("(90->GRUPPOAZIE == \"\")");
|
filtro.format("(90->GRUPPOAZIE == \"\")");
|
||||||
|
}
|
||||||
if (filtro.not_empty())
|
if (filtro.not_empty())
|
||||||
filtro << " && ";
|
filtro << " && ";
|
||||||
filtro << "(90->BENEM == \"X\")";
|
filtro << "(90->BENEM == \"X\")";
|
||||||
// filtro per sezioni
|
// filtro per sezioni
|
||||||
const TString16 sezini = _msk->get(F_SEZINI);
|
const TString& sezini = _msk->get(F_SEZINI);
|
||||||
const TString16 sotini = _msk->get(F_SOTINI);
|
const TString& sotini = _msk->get(F_SOTINI);
|
||||||
TRectype da(LF_SOGGETTI);
|
TRectype da(LF_SOGGETTI);
|
||||||
if (sezini.not_empty())
|
if (sezini.full())
|
||||||
da.put(SOG_CODSEZ, sezini);
|
da.put(SOG_CODSEZ, sezini);
|
||||||
if (sotini.not_empty())
|
if (sotini.full())
|
||||||
da.put(SOG_CODSOT, sotini);
|
da.put(SOG_CODSOT, sotini);
|
||||||
_cur = new TCursor(_rel, "", 3, &da, &da);
|
_cur = new TCursor(_rel, "", 3, &da, &da);
|
||||||
_cur->setfilter(filtro, TRUE);
|
_cur->setfilter(filtro, TRUE);
|
||||||
@ -285,20 +287,20 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
atopera.write();
|
atopera.write();
|
||||||
TLocalisamfile atropera(LF_ATROPERA);
|
TLocalisamfile atropera(LF_ATROPERA);
|
||||||
TRectype& sog = _cur->curr();
|
TRectype& sog = _cur->curr();
|
||||||
long last = _cur->items();
|
const long last = _cur->items();
|
||||||
_benem->setkey(3);
|
_benem->setkey(3);
|
||||||
TProgind prg (last, "Elaborazione in corso... Prego attendere", FALSE, TRUE, 30);
|
TProgind prg(last, TR("Elaborazione in corso... Prego attendere"), FALSE, TRUE);
|
||||||
for ( *_cur=0; _cur->pos() < last; ++(*_cur) )
|
for ( *_cur=0; _cur->pos() < last; ++(*_cur) )
|
||||||
{
|
{
|
||||||
prg.addstatus(1);
|
prg.addstatus(1);
|
||||||
// controllare la categoria
|
// controllare la categoria
|
||||||
bool filtrato = TRUE;
|
bool filtrato = TRUE;
|
||||||
|
|
||||||
long codice = sog.get_long(SOG_CODICE);
|
const long codice = sog.get_long(SOG_CODICE);
|
||||||
if (_catdon.items() != 0)
|
if (_catdon.items() != 0)
|
||||||
{
|
{
|
||||||
const TString16 cat = sog.get(SOG_CATDON);
|
const TString& cat = sog.get(SOG_CATDON);
|
||||||
filtrato = _catdon.is_key((const char*) cat);
|
filtrato = _catdon.is_key(cat);
|
||||||
}
|
}
|
||||||
if (filtrato)
|
if (filtrato)
|
||||||
{
|
{
|
||||||
@ -319,7 +321,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
{
|
{
|
||||||
const TRectype& riga = _sdonazioni->row(r);
|
const TRectype& riga = _sdonazioni->row(r);
|
||||||
const TDate datadon = riga.get_date(DON_DATADON);
|
const TDate datadon = riga.get_date(DON_DATADON);
|
||||||
const TString16 tipodon = riga.get(DON_TIPODON);
|
const TString4 tipodon = riga.get(DON_TIPODON);
|
||||||
if (datadon<=_dataela)
|
if (datadon<=_dataela)
|
||||||
{
|
{
|
||||||
if (_nuovicriteri && datadon>datarif) // 16/05/2004
|
if (_nuovicriteri && datadon>datarif) // 16/05/2004
|
||||||
@ -333,15 +335,21 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
anno = datadon.year();
|
anno = datadon.year();
|
||||||
}
|
}
|
||||||
donxanno++;
|
donxanno++;
|
||||||
int eta = datadon.year() - datanasc.year();
|
|
||||||
if (datadon.month() < datanasc.month())
|
if (sesso == '2' && (tipodon == "SI" || tipodon=="SN"))
|
||||||
eta--;
|
{
|
||||||
else
|
int eta = datadon.year() - datanasc.year();
|
||||||
if (datadon.month() == datanasc.month())
|
if (datadon.month() < datanasc.month())
|
||||||
if (datadon.day() < datanasc.day())
|
eta--;
|
||||||
eta--;
|
else
|
||||||
if ((tipodon == "SI" || tipodon=="SN") && (sesso == '2') && (eta < 50))
|
{
|
||||||
donxanno++;
|
if (datadon.month() == datanasc.month() && datadon.day() < datanasc.day())
|
||||||
|
eta--;
|
||||||
|
}
|
||||||
|
// Le donne 'giovani' hanno il bonus (2x1 donazioni)
|
||||||
|
if (eta < 50)
|
||||||
|
donxanno++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
numdon++;
|
numdon++;
|
||||||
@ -422,12 +430,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
attribuisci = true;
|
attribuisci = true;
|
||||||
if (_nuovicriteri && !attribuisci && (m_bonus > 0 || m_anni > 0)) // se uso nuovi criteri e non ne ha diritto col vecchio sistema quardo se ne ha diritto con i nuovi criteri
|
if (_nuovicriteri && !attribuisci && (m_bonus > 0 || m_anni > 0)) // se uso nuovi criteri e non ne ha diritto col vecchio sistema quardo se ne ha diritto con i nuovi criteri
|
||||||
{
|
{
|
||||||
const int anniisc = (_dataela - dataisc)/360;
|
const int anniisc = int((_dataela - dataisc)/360.25);
|
||||||
attribuisci = (numdon >= m_bonus) && (anniisc >= m_anni);
|
attribuisci = (numdon >= m_bonus) && (anniisc >= m_anni);
|
||||||
}
|
}
|
||||||
if (attribuisci && solodim)
|
if (attribuisci && solodim)
|
||||||
{
|
{
|
||||||
const TString16 cat = sog.get(SOG_CATDON);
|
const TString4 cat = sog.get(SOG_CATDON);
|
||||||
attribuisci = cache().get("CTD", cat).get_bool("B0");
|
attribuisci = cache().get("CTD", cat).get_bool("B0");
|
||||||
}
|
}
|
||||||
if (attribuisci)
|
if (attribuisci)
|
||||||
@ -436,7 +444,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
_benem->zero();
|
_benem->zero();
|
||||||
_benem->put(BEN_CODICE, codice);
|
_benem->put(BEN_CODICE, codice);
|
||||||
_benem->put(BEN_TIPOBEN, tipoben);
|
_benem->put(BEN_TIPOBEN, tipoben);
|
||||||
_benem->read();
|
_benem->read();
|
||||||
if (_benem->bad())
|
if (_benem->bad())
|
||||||
{
|
{
|
||||||
atropera.zero();
|
atropera.zero();
|
||||||
@ -457,7 +465,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
|||||||
TString80 chiave = "131->S0|UPPER(90->COGNOME)|UPPER(90->NOME)";
|
TString80 chiave = "131->S0|UPPER(90->COGNOME)|UPPER(90->NOME)";
|
||||||
TString80 filtroope = format("131->PROGOPE==%d", _progope);
|
TString80 filtroope = format("131->PROGOPE==%d", _progope);
|
||||||
int curope = add_cursor(new TSorted_cursor(relope, (const char*) chiave, "", 1));
|
int curope = add_cursor(new TSorted_cursor(relope, (const char*) chiave, "", 1));
|
||||||
current_cursor()->setfilter((const char*) filtroope, TRUE);
|
current_cursor()->setfilter(filtroope, TRUE);
|
||||||
add_file(LF_ATROPERA);
|
add_file(LF_ATROPERA);
|
||||||
add_file(LF_SOGGETTI,LF_ATROPERA);
|
add_file(LF_SOGGETTI,LF_ATROPERA);
|
||||||
reset_print();
|
reset_print();
|
||||||
@ -538,6 +546,6 @@ bool TAttribuzioneBenemerenze::user_destroy()
|
|||||||
int at1200(int argc, char* argv[])
|
int at1200(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TAttribuzioneBenemerenze a;
|
TAttribuzioneBenemerenze a;
|
||||||
a.run(argc, argv, "Attribuzione complessiva");
|
a.run(argc, argv, TR("Attribuzione complessiva"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user