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:
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user