Patch level : at

Files correlati     : at2.exe
Ricompilazione Demo : [ ]
Commento            : Corretti controlli su categorie e cambi automatici in caso di soggetto dimesso che torna a donare


git-svn-id: svn://10.65.10.50/trunk@10433 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-07-24 09:07:16 +00:00
parent 51e59ea61f
commit 6cad1aad4a

View File

@ -685,25 +685,23 @@ int TGiornalieroDC::write(TSheet_field& s)
// controllo la sua categoria
// se dimesso diventa della categoria collegata
// se non c'e' la categoria collegata ???
TTable ctd("CTD");
TString16 catdon = sog.get(SOG_CATDON);
ctd.put("CODTAB",catdon);
if (ctd.read() == NOERR)
{
bool dimissione = ctd.get_bool("B0");
if (dimissione)
const TRectype& ctd = cache().get("CTD", catdon);
if (ctd.get_bool("B0")) // categoria di dimissione
{
const TString16 catcoll = ctd.get("S6");
if (catcoll.not_empty())
{
sog.put(SOG_CATDON,ctd.get("S6"));
if (ctd.get("S6").not_empty())
catdon = ctd.get("S6");
sog.put(SOG_CATDON, catcoll);
sog.put(SOG_DATADIM,NULLDATE);
}
if ((catdon == _catini1 || _catini1.empty()) && (totdon+1>=_numdon1) && _catfin1.not_empty())
sog.put(SOG_CATDON, _catfin1);
const bool tstampata = sog.get_bool(SOG_T_STAMPATA);
if ((catdon == _catini2 || _catini2.empty()) && (totdon+1>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata))
sog.put(SOG_CATDON, _catfin2);
}
catdon = catcoll;
}
}
if ((catdon == _catini1 || _catini1.empty()) && (totdon+1>=_numdon1) && _catfin1.not_empty())
sog.put(SOG_CATDON, _catfin1);
const bool tstampata = sog.get_bool(SOG_T_STAMPATA);
if ((catdon == _catini2 || _catini2.empty()) && (totdon+1>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata))
sog.put(SOG_CATDON, _catfin2);
TDate dataisc = sog.get_date(SOG_DATAISC);
if (!dataisc.ok() && _dataisc)
{
@ -914,23 +912,17 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
TDate dataultdon = sog.get(SOG_DATAULTDON);
if (datadon > dataultdon)
{
TTable ctd("CTD");
ctd.zero();
ctd.put("CODTAB", sog.get(SOG_CATDON));
if (ctd.read() == NOERR)
{
bool dimissione = ctd.get_bool("B0");
if (dimissione)
{
TString16 catcoll = ctd.get("S6");
if (catcoll.empty())
messaggio << "Soggetto dimesso senza categoria collegata\n";
else
messaggio << "Soggetto dimesso, cambio categoria automatico\n";
}
const TRectype& ctd = cache().get("CTD", sog.get(SOG_CATDON));
if (ctd.get_bool("B0"))
{
const TString16 catcoll = ctd.get("S6");
if (catcoll.empty())
messaggio << "Soggetto dimesso senza categoria collegata\n";
else
messaggio << "Soggetto dimesso, cambio categoria automatico\n";
}
TString16 stato = sog.get(SOG_STATO);
char modstato = modstato_tcs(stato);
const TString16 stato = sog.get(SOG_STATO);
const char modstato = modstato_tcs(stato);
if (modstato == 'I' || modstato == 'F') // il soggetto è idoneo
{
TDate datapros(NULLDATE);
@ -950,15 +942,10 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
else
{
messaggio << "Stato soggetto " << stato << " non compatibile con la donazione\n";
TTable tcs("TCS");
tcs.put("CODTAB",stato);
if (tcs.read() == NOERR)
{
if (tcs.get("S7").empty())
messaggio << "Verificare la situazione del soggetto";
else
messaggio << "Cambio stato automatico";
}
if (cache().get("TCS", stato).get("S7").empty())
messaggio << "Verificare la situazione del soggetto";
else
messaggio << "Cambio stato automatico";
}
}
else