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; bool _definitiva, _anchedimessi;
TParagraph_string _cognome_nome, _operazione; TParagraph_string _cognome_nome, _operazione;
TString16 _finesospensione; TString16 _finesospensione;
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
static bool filter_func_sbloccosospesi(const TRelation* rel); 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); reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
_scontrolli->add_row(reccon); _scontrolli->add_row(reccon);
_scontrolli->rewrite(); _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)) 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); int err = _sidoneita->read(key);
if (statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco) if (statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco)
{ {
//int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1; int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr(); TRectype& recido = _idoneita->curr();
recido.zero(); recido.zero();
@ -206,12 +205,26 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
recido.put(IDO_IDO_SOS, "ID"); recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "SI"); recido.put(IDO_TIPOIDO, "SI");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTSI)); 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->add_row(recido);
_sidoneita->rewrite(); _sidoneita->rewrite();
} }
if (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco) if (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco)
{ {
//int err = _sidoneita->read(key);
int progido = _sidoneita->rows()+1; int progido = _sidoneita->rows()+1;
TRectype& recido = _idoneita->curr(); TRectype& recido = _idoneita->curr();
recido.zero(); recido.zero();
@ -221,10 +234,12 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
recido.put(IDO_IDO_SOS, "ID"); recido.put(IDO_IDO_SOS, "ID");
recido.put(IDO_TIPOIDO, "AF"); recido.put(IDO_TIPOIDO, "AF");
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTAF)); 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->add_row(recido);
_sidoneita->rewrite(); _sidoneita->rewrite();
} }
//ido_reord(recsog, _sidoneita); con_reord(recsog, _scontrolli, _sidoneita);
current_cursor()->file().rewrite(); current_cursor()->file().rewrite();
} }
} }
@ -385,6 +400,13 @@ bool TSbloccoSospesi::user_create()
_idoneita = new TLocalisamfile(LF_IDONEITA); _idoneita = new TLocalisamfile(LF_IDONEITA);
_scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON); _scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON);
_sidoneita = new TRecord_array(LF_IDONEITA, IDO_PROGIDO); _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; return TRUE;
} }