Patch level : at

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Bologna: dati da CT, prendo anche l'intervallo


git-svn-id: svn://10.65.10.50/trunk@10596 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-10-31 13:48:46 +00:00
parent 90bf9197b6
commit b62db47008

View File

@ -271,6 +271,15 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
TRecord_array idoneita(LF_IDONEITA,IDO_PROGIDO);
idoneita.read(key);
TString16 stato = recsog.get(SOG_STATO);
if (modstato_tcs(stato) != 'S' && stato.not_empty())
return FALSE;
if (tipo == "SI")
stato = recsog.get(SOG_STATOSI);
else
stato = recsog.get(SOG_STATOAF);
if (modstato_tcs(stato) != 'S' && stato.not_empty())
return FALSE;
const int r = idoneita.last_row(); //se trova una data idoneita >= di quella in esame, quest'ultima viene ignorata
if (r > 0)
{
@ -286,10 +295,16 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
rec->put(IDO_TIPOIDO, stricmp(tipo, "SI") != 0 ? "AF" : "SI"); // Il mondo è bello perchè c'é l'AVIS (tutte le donaz. non SI sono AF! mah?!)
rec->put(IDO_IDO_SOS, "ID");
rec->put(IDO_INTERVALLO, inter);
// aggiunto da cristina il 18/09/2002 altrimenti non so che quella riga é stata aggiunta da CT
rec->put(IDO_RESPONSAB, "TRASF. DA CT");
idoneita.add_row(rec);
idoneita.write();
con_reord(recsog, &controlli, &idoneita);
// aggiorno data e utente ultimo aggiornamento (Cristina 18/09/2002)
const TDate oggi(TODAY);
recsog.put(SOG_DATAULTAGG,oggi);
recsog.put(SOG_UTENULTAGG,"WINSIT");
return TRUE;
}
@ -326,13 +341,12 @@ void TCtbo2at::transfer()
}
str = curr.get(2);
sogg.put(SOG_CODICE, str);
sogg.put(SOG_CODICE, atol(str));
if (rel.read(_isequal) != NOERR)
sogg.zero();
//controlla se il donatore ha cambiato sezione spostandosi da Bologna in provincia;
//in questo caso gli deve cancellare il sottogruppo (veramente un procedimento da
//galera, ma se l'avis e winsit vogliono cosí.....)
//controlla se il donatore ha cambiato sezione spostandosi da Bologna in provincia;
//in questo caso gli deve cancellare il sottogruppo (veramente un procedimento da
//galera, ma se l'avis e winsit vogliono cosí.....)
str = curr.get(0);
str.trim();
TString8 str1;
@ -340,10 +354,10 @@ void TCtbo2at::transfer()
str1.trim();
if (str != sogg.get(SOG_CODSEZ) && str != "01" && str1 == "")
curr.add("@",1);
//esegue l'effettivo passaggio dati basandosi sulla formattazione del file .ini
_trasfile->autosave(rel, curr);
const char* tipo[] = { "SI", "PL", "PI", "PP" };
for (int i = 0; i < 4; i++)
{
@ -369,8 +383,21 @@ void TCtbo2at::transfer()
str = curr.get(27+i);
if (!real::is_null(str))
update |= test_inter(sogg, tipo[i], datadon, atoi(str));
}
else
{
int intervallo;
if (tipo[i] == "SI")
intervallo = sogg.get_int(SOG_INTSI);
else
intervallo = sogg.get_int(SOG_INTAF);
str = curr.get(27+i);
if ((!real::is_null(str)) && (intervallo != atoi(str)))
{
TDate oggi(TODAY);
update |= test_inter(sogg, tipo[i], oggi, atoi(str));
}
}
if (update)
rel.rewrite();
}