Patch level : 1.7 at 686

Files correlati     : at8.exe
Ricompilazione Demo : [ ]
Commento            : BO: corretto trasferimento da CT, nel caso di reidoneita dopo molto tempo dall'ultima donazione


git-svn-id: svn://10.65.10.50/trunk@11813 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2004-03-08 09:25:48 +00:00
parent e0058422af
commit 57f31a2df8

@ -276,20 +276,27 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
TString16 stato;
TDate datapross;
TDate datastato;
if (tipo == "SI")
{
stato = recsog.get(SOG_STATOSI);
intervallo = recsog.get_int(SOG_INTSI);
datapross = recsog.get_int(SOG_DATAPROSSI);
datastato = recsog.get_date(SOG_DATASI);
}
else
{
stato = recsog.get(SOG_STATOAF);
intervallo = recsog.get_int(SOG_INTAF);
datapross = recsog.get_int(SOG_DATAPROSAF);
datastato = recsog.get_date(SOG_DATAAF);
}
if (stato.empty())
{
stato = recsog.get(SOG_STATO);
datastato = recsog.get_date(SOG_DATASTATO);
}
if (modstato_tcs(stato) != 'S' && stato.not_empty() && intervallo == inter && !datapross.empty())
return FALSE;
const int r = idoneita.last_row(); //se trova una data idoneita >= di quella in esame, quest'ultima viene ignorata
@ -298,9 +305,14 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
const TRectype& lastido = idoneita[r];
const TString16 tipoultido = lastido.get(IDO_TIPOIDO);
const TString16 tipoidostr(tipoido);
if ((lastido.get_date(IDO_DATAIDO) >= datadon) && (tipoidostr == tipoultido))
if ((lastido.get_date(IDO_DATAIDO) >= datadon) && (tipoidostr == tipoultido) && (modstato_tcs(stato) != 'S'))
return FALSE;
}
TDate data;
if (datadon < datastato)
data = TODAY;
else
data = datadon;
TRectype* rec = new TRectype(LF_IDONEITA);
rec->put(IDO_CODICE, recsog.get(SOG_CODICE));
@ -308,7 +320,7 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
rec->put(IDO_PROGIDO, 1);
else
rec->put(IDO_PROGIDO, r+1);
rec->put(IDO_DATAIDO, datadon);
rec->put(IDO_DATAIDO, data);
rec->put(IDO_TIPOIDO, tipoido); // 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);
@ -320,7 +332,7 @@ bool TCtbo2at::test_inter(TRectype& recsog, const char* tipo, const TDate& datad
con_reord(recsog, &controlli, &idoneita);
// verifico se occorre azzerare numero convocazioni e data ultima convocazione
TDate dataultdon = recsog.get(SOG_DATAULTDON);
if ((datadon - dataultdon) > 730)
if ((data - dataultdon) > 730)
{
recsog.put(SOG_DATACONV, NULLDATE);
recsog.put(SOG_NUMCONV, 0);