Patch level : at 1.7 702

Files correlati     : at8.exe
Ricompilazione Demo : [ ]
Commento            : varie sull'aggiornamento da appoggio


git-svn-id: svn://10.65.10.50/trunk@12145 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2004-06-03 11:02:18 +00:00
parent c7769f18f1
commit 185562c39b

View File

@ -118,7 +118,9 @@ static int compare_date(const TObject** o1, const TObject** o2)
} }
bool TReconstruction::menu(MENU_TAG m) bool TReconstruction::menu(MENU_TAG m)
{ {
bool _calcolacat = FALSE;
KEY tasto = _msk->run(); KEY tasto = _msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
@ -140,53 +142,66 @@ bool TReconstruction::menu(MENU_TAG m)
const long codsog = f.get_long("CODICE"); const long codsog = f.get_long("CODICE");
recsog.zero(); recsog.zero();
recsog.put(SOG_CODICE, codsog); recsog.put(SOG_CODICE, codsog);
if (recsog.read(_rel->lfile())==NOERR) if (recsog.read(_rel->lfile()) == NOERR)
{ {
TRectype* keyd = new TRectype(LF_DONAZ); TRectype* keyd = new TRectype(LF_DONAZ);
keyd->put(DON_CODICE, codsog); keyd->put(DON_CODICE, codsog);
int err = _sdonazioni->read(keyd); int err = _sdonazioni->read(keyd);
if (_sdonazioni->rows()>0) //if (err == NOERR)
{ //{
calcola_donazioni_lib(recsog, _sdonazioni); if (_sdonazioni->rows()>0)
_sdonazioni->rewrite(); {
recsog.rewrite(_rel->lfile()); calcola_donazioni_lib(recsog, _sdonazioni);
} _sdonazioni->rewrite();
recsog.rewrite(_rel->lfile());
}
//}
//else
// return error_box("Errore in donazioni, codice %ld", codsog);
TRectype* key = new TRectype(LF_IDONEITA); TRectype* key = new TRectype(LF_IDONEITA);
key->put(IDO_CODICE, recsog.get(SOG_CODICE)); key->put(IDO_CODICE, recsog.get(SOG_CODICE));
_sidoneita->read(key); err = _sidoneita->read(key);
_sidoneita->sort(compare_date); //if (err == NOERR)
_sidoneita->rewrite(); //{
TRectype* keyc = new TRectype(LF_CONTSAN); _sidoneita->sort(compare_date);
keyc->put(CON_CODICE, recsog.get(SOG_CODICE)); _sidoneita->rewrite();
_scontrolli->read(keyc); TRectype* keyc = new TRectype(LF_CONTSAN);
if (_scontrolli->rows()>0 || _sidoneita->rows()>0) keyc->put(CON_CODICE, recsog.get(SOG_CODICE));
{ _scontrolli->read(keyc);
con_reord(recsog,_scontrolli,_sidoneita); if (_scontrolli->rows()>0 || _sidoneita->rows()>0)
recsog.rewrite(_rel->lfile());
}
TTable ctd("CTD");
TString16 catdon = recsog.get(SOG_CATDON);
const int totdon = recsog.get_int(SOG_TOTDON);
ctd.put("CODTAB",catdon);
if (ctd.read() == NOERR)
{
bool dimissione = ctd.get_bool("B0");
if (dimissione)
{ {
recsog.put(SOG_CATDON,ctd.get("S6")); con_reord(recsog,_scontrolli,_sidoneita);
if (ctd.get("S6").not_empty()) recsog.rewrite(_rel->lfile());
catdon = ctd.get("S6");
}
if ((catdon == _catini1 || _catini1.empty()) && (totdon>=_numdon1) && _catfin1.not_empty())
{
recsog.put(SOG_CATDON, _catfin1);
catdon = _catfin1;
} }
const bool tstampata = recsog.get_bool(SOG_T_STAMPATA); //}
if ((catdon == _catini2 || _catini2.empty()) && (totdon>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata)) //else
// return error_box("Errore in idoneita, codice %ld", codsog);
if (_calcolacat)
{
TTable ctd("CTD");
TString16 catdon = recsog.get(SOG_CATDON);
const int totdon = recsog.get_int(SOG_TOTDON);
ctd.put("CODTAB",catdon);
if (ctd.read() == NOERR)
{ {
recsog.put(SOG_CATDON, _catfin2); bool dimissione = ctd.get_bool("B0");
catdon = _catfin2; if (dimissione)
{
recsog.put(SOG_CATDON,ctd.get("S6"));
if (ctd.get("S6").not_empty())
catdon = ctd.get("S6");
}
if ((catdon == _catini1 || _catini1.empty()) && (totdon>=_numdon1) && _catfin1.not_empty())
{
recsog.put(SOG_CATDON, _catfin1);
catdon = _catfin1;
}
const bool tstampata = recsog.get_bool(SOG_T_STAMPATA);
if ((catdon == _catini2 || _catini2.empty()) && (totdon>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata))
{
recsog.put(SOG_CATDON, _catfin2);
catdon = _catfin2;
}
} }
} }
TDate dataiscsog = recsog.get_date(SOG_DATAISC); TDate dataiscsog = recsog.get_date(SOG_DATAISC);