Sblocco sospesi: aggiunto ricalcolo della situazione dopo l'inserimento

della nuova idoneita
Patch level         :
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/trunk@6183 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1998-02-13 13:28:00 +00:00
parent 90d67fd15b
commit 078b1ebf17

View File

@ -39,6 +39,7 @@ class TSbloccoSospesi : public TPrintapp
bool _definitiva, _anchedimessi;
TParagraph_string _cognome_nome, _operazione;
TString16 _finesospensione;
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
static bool filter_func_sbloccosospesi(const TRelation* rel);
@ -185,8 +186,7 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
_scontrolli->add_row(reccon);
_scontrolli->rewrite();
//con_reord(recsog, _scontrolli);
current_cursor()->file().rewrite();
//current_cursor()->file().rewrite();
}
if ((statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco) || (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco))
{
@ -196,7 +196,6 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
int err = _sidoneita->read(key);
if (statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco)
{
//int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr();
recido.zero();
@ -206,12 +205,26 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "SI");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTSI));
if (recsog.get_int(SOG_INTSI) == 0)
{
TString16 sesso = recsog.get(SOG_SESSO);
if (sesso == 2)
{
TDate datanasc = recsog.get_date(SOG_DATANASC);
int eta = _data_stampa.year() - datanasc.year();
if(eta <= etadonne)
recido.put(IDO_INTERVALLO, _intsi_f1);
else
recido.put(IDO_INTERVALLO, _intsi_f2);
}
else
recido.put(IDO_INTERVALLO, _intsi_m);
}
_sidoneita->add_row(recido);
_sidoneita->rewrite();
}
if (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco)
{
//int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr();
recido.zero();
@ -221,10 +234,12 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "AF");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTAF));
if (recsog.get_int(SOG_INTAF) == 0)
recido.put(IDO_INTERVALLO, _intaf_m);
_sidoneita->add_row(recido);
_sidoneita->rewrite();
}
//ido_reord(recsog, _sidoneita);
con_reord(recsog, _scontrolli, _sidoneita);
current_cursor()->file().rewrite();
}
}
@ -385,6 +400,13 @@ bool TSbloccoSospesi::user_create()
_idoneita = new TLocalisamfile(LF_IDONEITA);
_scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON);
_sidoneita = new TRecord_array(LF_IDONEITA, IDO_PROGIDO);
TConfig config(CONFIG_STUDIO);
_etadonne = config.get_int("EtaDonne");
_intsi_f1 = config.get_int("IntSI_F1");
_intsi_f2 = config.get_int("IntSI_F2");
_intsi_m = config.get_int("IntSI_M");
_intaf_m = config.get_int("IntAF_M");
return TRUE;
}