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();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
const TDate datarif = TDate("16/05/2004");
|
||||
const TDate datarif(16, 5, 2004);
|
||||
_oldben = "**";
|
||||
_contatore = 0;
|
||||
_prevista = (_msk->get(F_SITUAZIONE)[0] == 'P');
|
||||
@ -208,12 +208,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
_definitiva = _msk->get_bool(F_DEFINITIVA);
|
||||
_nuovicriteri = _msk->get_bool(F_NUOVICRITERI);
|
||||
_catdon.destroy();
|
||||
const TString16 catpri = _msk->get(F_CAT1);
|
||||
const TString16 catsec = _msk->get(F_CAT2);
|
||||
const TString16 catter = _msk->get(F_CAT3);
|
||||
const TString16 catqua = _msk->get(F_CAT4);
|
||||
const TString16 catqui = _msk->get(F_CAT5);
|
||||
const TString16 catses = _msk->get(F_CAT6);
|
||||
const TString4 catpri = _msk->get(F_CAT1);
|
||||
const TString4 catsec = _msk->get(F_CAT2);
|
||||
const TString4 catter = _msk->get(F_CAT3);
|
||||
const TString4 catqua = _msk->get(F_CAT4);
|
||||
const TString4 catqui = _msk->get(F_CAT5);
|
||||
const TString4 catses = _msk->get(F_CAT6);
|
||||
if (catpri.not_empty())
|
||||
_catdon.add((const char*) catpri);
|
||||
if (catsec.not_empty())
|
||||
@ -235,34 +235,36 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
int m_numdon = ben.get_int("I1");
|
||||
int m_anni = ben.get_int("I2");
|
||||
bool solodim = ben.get_bool("B0");
|
||||
TToken_string* condizioni = new TToken_string();;
|
||||
TToken_string* condizioni = new TToken_string();
|
||||
condizioni->add(numdonben);
|
||||
condizioni->add(m_numdon);
|
||||
condizioni->add(m_anni);
|
||||
condizioni->add(solodim);
|
||||
_tabben.add((const char*)codben, (TObject*) condizioni);
|
||||
_tabben.add(codben, condizioni);
|
||||
}
|
||||
TString80 filtro;
|
||||
if (_attgruppi)
|
||||
{
|
||||
if (_gruppoazie.not_empty())
|
||||
if (_gruppoazie.full())
|
||||
filtro.format("(90->GRUPPOAZIE == \"%s\")",(const char*)_gruppoazie);
|
||||
else
|
||||
filtro.format("(90->GRUPPOAZIE != \"\")");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!_anchegruppi)
|
||||
filtro.format("(90->GRUPPOAZIE == \"\")");
|
||||
}
|
||||
if (filtro.not_empty())
|
||||
filtro << " && ";
|
||||
filtro << "(90->BENEM == \"X\")";
|
||||
// filtro per sezioni
|
||||
const TString16 sezini = _msk->get(F_SEZINI);
|
||||
const TString16 sotini = _msk->get(F_SOTINI);
|
||||
const TString& sezini = _msk->get(F_SEZINI);
|
||||
const TString& sotini = _msk->get(F_SOTINI);
|
||||
TRectype da(LF_SOGGETTI);
|
||||
if (sezini.not_empty())
|
||||
if (sezini.full())
|
||||
da.put(SOG_CODSEZ, sezini);
|
||||
if (sotini.not_empty())
|
||||
if (sotini.full())
|
||||
da.put(SOG_CODSOT, sotini);
|
||||
_cur = new TCursor(_rel, "", 3, &da, &da);
|
||||
_cur->setfilter(filtro, TRUE);
|
||||
@ -285,20 +287,20 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
atopera.write();
|
||||
TLocalisamfile atropera(LF_ATROPERA);
|
||||
TRectype& sog = _cur->curr();
|
||||
long last = _cur->items();
|
||||
const long last = _cur->items();
|
||||
_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) )
|
||||
{
|
||||
prg.addstatus(1);
|
||||
// controllare la categoria
|
||||
bool filtrato = TRUE;
|
||||
|
||||
long codice = sog.get_long(SOG_CODICE);
|
||||
const long codice = sog.get_long(SOG_CODICE);
|
||||
if (_catdon.items() != 0)
|
||||
{
|
||||
const TString16 cat = sog.get(SOG_CATDON);
|
||||
filtrato = _catdon.is_key((const char*) cat);
|
||||
const TString& cat = sog.get(SOG_CATDON);
|
||||
filtrato = _catdon.is_key(cat);
|
||||
}
|
||||
if (filtrato)
|
||||
{
|
||||
@ -319,7 +321,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
{
|
||||
const TRectype& riga = _sdonazioni->row(r);
|
||||
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 (_nuovicriteri && datadon>datarif) // 16/05/2004
|
||||
@ -333,15 +335,21 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
anno = datadon.year();
|
||||
}
|
||||
donxanno++;
|
||||
int eta = datadon.year() - datanasc.year();
|
||||
if (datadon.month() < datanasc.month())
|
||||
eta--;
|
||||
else
|
||||
if (datadon.month() == datanasc.month())
|
||||
if (datadon.day() < datanasc.day())
|
||||
eta--;
|
||||
if ((tipodon == "SI" || tipodon=="SN") && (sesso == '2') && (eta < 50))
|
||||
donxanno++;
|
||||
|
||||
if (sesso == '2' && (tipodon == "SI" || tipodon=="SN"))
|
||||
{
|
||||
int eta = datadon.year() - datanasc.year();
|
||||
if (datadon.month() < datanasc.month())
|
||||
eta--;
|
||||
else
|
||||
{
|
||||
if (datadon.month() == datanasc.month() && datadon.day() < datanasc.day())
|
||||
eta--;
|
||||
}
|
||||
// Le donne 'giovani' hanno il bonus (2x1 donazioni)
|
||||
if (eta < 50)
|
||||
donxanno++;
|
||||
}
|
||||
}
|
||||
else
|
||||
numdon++;
|
||||
@ -422,12 +430,12 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
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
|
||||
{
|
||||
const int anniisc = (_dataela - dataisc)/360;
|
||||
const int anniisc = int((_dataela - dataisc)/360.25);
|
||||
attribuisci = (numdon >= m_bonus) && (anniisc >= m_anni);
|
||||
}
|
||||
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");
|
||||
}
|
||||
if (attribuisci)
|
||||
@ -436,7 +444,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
_benem->zero();
|
||||
_benem->put(BEN_CODICE, codice);
|
||||
_benem->put(BEN_TIPOBEN, tipoben);
|
||||
_benem->read();
|
||||
_benem->read();
|
||||
if (_benem->bad())
|
||||
{
|
||||
atropera.zero();
|
||||
@ -457,7 +465,7 @@ bool TAttribuzioneBenemerenze::set_print(int)
|
||||
TString80 chiave = "131->S0|UPPER(90->COGNOME)|UPPER(90->NOME)";
|
||||
TString80 filtroope = format("131->PROGOPE==%d", _progope);
|
||||
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_SOGGETTI,LF_ATROPERA);
|
||||
reset_print();
|
||||
@ -538,6 +546,6 @@ bool TAttribuzioneBenemerenze::user_destroy()
|
||||
int at1200(int argc, char* argv[])
|
||||
{
|
||||
TAttribuzioneBenemerenze a;
|
||||
a.run(argc, argv, "Attribuzione complessiva");
|
||||
a.run(argc, argv, TR("Attribuzione complessiva"));
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user