Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Giornaliero donazioni: messaggi su non idonei + non si puo' modificare la testata sopo la registrazione + dataiscrizione e datadimissione corretti git-svn-id: svn://10.65.10.50/trunk@7715 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
91c0dede52
commit
c9e21df564
148
at/at0200.cpp
148
at/at0200.cpp
@ -86,7 +86,7 @@ bool TGiornalieroDC::ins_controlli_handler(TMask_field& f, KEY k)
|
||||
TMask& m = f.mask();
|
||||
TSheet_field& s = (TSheet_field&)m.field(F_SOGGETTI);
|
||||
const bool ins_controlli = m.get_bool(F_INS_CONTROLLI);
|
||||
s.enable_column(4,ins_controlli);
|
||||
s.enable_column(5,ins_controlli);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -203,7 +203,8 @@ bool TGiornalieroDC::menu(MENU_TAG m)
|
||||
msk.reset();
|
||||
msk.field(DLG_SAVEREC).enable();
|
||||
msk.field(DLG_FINDREC).enable();
|
||||
msk.field(DLG_NEWREC).enable();
|
||||
msk.field(DLG_NEWREC).enable();
|
||||
msk.enable(-1);
|
||||
}
|
||||
break;
|
||||
case K_SAVE: // registra
|
||||
@ -280,11 +281,13 @@ int TGiornalieroDC::read(TSheet_field& s)
|
||||
{
|
||||
row.add(soggetti.get(SOG_COGNOME));
|
||||
row.add(soggetti.get(SOG_NOME));
|
||||
row.add(soggetti.get(SOG_TESSAVIS));
|
||||
}
|
||||
else
|
||||
{
|
||||
row.add("");
|
||||
row.add("");
|
||||
row.add("");
|
||||
}
|
||||
row.add(donaz.get(DON_TIPODON));
|
||||
row.add("");
|
||||
@ -297,7 +300,6 @@ int TGiornalieroDC::read(TSheet_field& s)
|
||||
row.add(soggetti.get(SOG_CODSEZ));
|
||||
row.add(soggetti.get(SOG_CODSOT));
|
||||
row.add(soggetti.get(SOG_CATDON));
|
||||
row.add(soggetti.get(SOG_TESSAVIS));
|
||||
row.add(soggetti.get(SOG_INTSI));
|
||||
}
|
||||
items++;
|
||||
@ -311,8 +313,8 @@ int TGiornalieroDC::read(TSheet_field& s)
|
||||
|
||||
int TGiornalieroDC::write(TSheet_field& s)
|
||||
{
|
||||
|
||||
const TMask& m = s.mask();
|
||||
TMask& m = s.mask();
|
||||
m.disable(-1);
|
||||
int items = s.items();
|
||||
TProgind *pi;
|
||||
pi = new TProgind(items,"Registrazione donazioni e controlli", FALSE, TRUE, 10);
|
||||
@ -332,10 +334,10 @@ int TGiornalieroDC::write(TSheet_field& s)
|
||||
int err = sog.read();
|
||||
if (err == NOERR)
|
||||
{
|
||||
TDate datadonazione = row.get(7);
|
||||
TDate datadonazione = row.get(8);
|
||||
if (!datadonazione.ok())
|
||||
datadonazione = _datadon;
|
||||
TString16 tipocon = row.get(4);
|
||||
TString16 tipocon = row.get(5);
|
||||
if (tipocon.blank())
|
||||
tipocon = m.get(F_TIPOCON);
|
||||
if (tipocon.not_empty())
|
||||
@ -405,13 +407,13 @@ int TGiornalieroDC::write(TSheet_field& s)
|
||||
TRectype* rec = new TRectype(LF_DONAZ);
|
||||
rec->put(DON_CODICE, row.get(0));
|
||||
rec->put(DON_DATADON, datadonazione);
|
||||
TString16 tipodon = row.get(3);
|
||||
TString16 tipodon = row.get(4);
|
||||
if (tipodon.blank())
|
||||
tipodon = _tipodon;
|
||||
rec->put(DON_TIPODON, tipodon);
|
||||
rec->put(DON_LUOGODON, _luogodon);
|
||||
rec->put(DON_ETICHETTA, row.get(5));
|
||||
rec->put(DON_PRIMADON, row.get(6));
|
||||
rec->put(DON_ETICHETTA, row.get(6));
|
||||
rec->put(DON_PRIMADON, row.get(7));
|
||||
|
||||
rec->put(DON_CODSEZ,sog.get(SOG_CODSEZ));
|
||||
rec->put(DON_CODSOT,sog.get(SOG_CODSOT));
|
||||
@ -458,11 +460,11 @@ int TGiornalieroDC::write(TSheet_field& s)
|
||||
}
|
||||
if (!exist)
|
||||
{
|
||||
if (insert)
|
||||
{
|
||||
err = _sdonazioni->row(_sdonazioni->rows()).write(*_donaz);
|
||||
}
|
||||
else
|
||||
//if (insert)
|
||||
//{
|
||||
//err = _sdonazioni->row(_sdonazioni->rows()).write(*_donaz);
|
||||
//}
|
||||
//else
|
||||
err = _sdonazioni->write(TRUE);
|
||||
|
||||
// controllo se è idoneo
|
||||
@ -703,6 +705,7 @@ int TGiornalieroDC::write(TSheet_field& s)
|
||||
sog.put(SOG_CATDON,ctd.get("S6"));
|
||||
if (ctd.get("S6").not_empty())
|
||||
catdon = ctd.get("S6");
|
||||
sog.put(SOG_DATADIM,NULLDATE);
|
||||
}
|
||||
if ((catdon == _catini1 || _catini1.empty()) && (totdon+1>=_numdon1) && _catfin1.not_empty())
|
||||
sog.put(SOG_CATDON, _catfin1);
|
||||
@ -710,10 +713,15 @@ int TGiornalieroDC::write(TSheet_field& s)
|
||||
sog.put(SOG_CATDON, _catfin2);
|
||||
}
|
||||
TDate dataisc = sog.get_date(SOG_DATAISC);
|
||||
if (dataisc.empty() && _dataisc)
|
||||
{
|
||||
const TRectype& riga = _sdonazioni->row(1);
|
||||
sog.put(SOG_DATAISC,riga.get(DON_DATADON));
|
||||
if (dataisc.ok() && _dataisc)
|
||||
{
|
||||
if (sog.get_date(SOG_DATAPRISI).ok())
|
||||
sog.put(SOG_DATAISC,sog.get(SOG_DATAPRISI));
|
||||
else
|
||||
{
|
||||
const TRectype& riga = _sdonazioni->row(1);
|
||||
sog.put(SOG_DATAISC,riga.get(DON_DATADON));
|
||||
}
|
||||
}
|
||||
|
||||
// aggiorno data e utente ultimo aggiornamento
|
||||
@ -791,7 +799,7 @@ bool TGiornalieroDC::soggetti_notify(TSheet_field& s, int r, KEY k)
|
||||
if (!row.empty_items())
|
||||
app()._modified = TRUE;
|
||||
const long codsog = row.get_long(0);
|
||||
const long etichetta = row.get_long(5);
|
||||
const long etichetta = row.get_long(6);
|
||||
if (codsog != 0)
|
||||
for (int i=s.items()-1; i>=0; i--)
|
||||
{
|
||||
@ -805,7 +813,7 @@ bool TGiornalieroDC::soggetti_notify(TSheet_field& s, int r, KEY k)
|
||||
// controllo sull'etichetta
|
||||
if (etichetta != 0)
|
||||
{
|
||||
if (etichetta == row.get_long(5))
|
||||
if (etichetta == row.get_long(6))
|
||||
return s.sheet_mask().field(F_S_ETICHETTA).error_box("Etichetta sacca gia' inserita");
|
||||
}
|
||||
}
|
||||
@ -975,55 +983,59 @@ bool TGiornalieroDC::tipodon_handler(TMask_field& f, KEY k)
|
||||
m.set(F_S_PRIMADON, 'X');
|
||||
if (!app()._nomessage)
|
||||
{
|
||||
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";
|
||||
}
|
||||
}
|
||||
TString16 stato = sog.get(SOG_STATO);
|
||||
char modstato = modstato_tcs(stato);
|
||||
if (modstato == 'I' || modstato == 'F') // il soggetto è idoneo
|
||||
{
|
||||
TDate datapros(NULLDATE);
|
||||
TString16 tipodon = m.get(F_S_TIPODON);
|
||||
if (tipodon.empty())
|
||||
tipodon = app().get_mask().get(F_TIPODON);
|
||||
TDate datadon = m.get_date(F_S_DATADON);
|
||||
if (!datadon.ok())
|
||||
datadon = app().get_mask().get_date(F_DATADON);
|
||||
if (is_donaz(tipodon,IDON_SI))
|
||||
datapros = sog.get_date(SOG_DATAPROSSI);
|
||||
else
|
||||
datapros = sog.get_date(SOG_DATAPROSAF);
|
||||
if (datapros.empty())
|
||||
messaggio << "Soggetto non idoneo al tipo donazione\n";
|
||||
else
|
||||
if (datapros > datadon)
|
||||
messaggio << "Il soggetto ha donato prima della scadenza del " << datapros.string() << "\n";
|
||||
}
|
||||
else
|
||||
TDate datadon = m.get_date(F_S_DATADON);
|
||||
if (!datadon.ok())
|
||||
datadon = app().get_mask().get_date(F_DATADON);
|
||||
TDate dataultdon = sog.get(SOG_DATAULTDON);
|
||||
if (datadon > dataultdon)
|
||||
{
|
||||
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";
|
||||
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";
|
||||
}
|
||||
}
|
||||
TString16 stato = sog.get(SOG_STATO);
|
||||
char modstato = modstato_tcs(stato);
|
||||
if (modstato == 'I' || modstato == 'F') // il soggetto è idoneo
|
||||
{
|
||||
TDate datapros(NULLDATE);
|
||||
TString16 tipodon = m.get(F_S_TIPODON);
|
||||
if (tipodon.empty())
|
||||
tipodon = app().get_mask().get(F_TIPODON);
|
||||
if (is_donaz(tipodon,IDON_SI))
|
||||
datapros = sog.get_date(SOG_DATAPROSSI);
|
||||
else
|
||||
messaggio << "Cambio stato automatico";
|
||||
}
|
||||
}
|
||||
datapros = sog.get_date(SOG_DATAPROSAF);
|
||||
if (datapros.empty())
|
||||
messaggio << "Soggetto non idoneo al tipo donazione\n";
|
||||
else
|
||||
if (datapros > datadon)
|
||||
messaggio << "Il soggetto ha donato prima della scadenza del " << datapros.string() << "\n";
|
||||
}
|
||||
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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,6 +61,7 @@ BEGIN
|
||||
PROMPT 2 1 "Data donazione "
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Data donazione"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_TIPODON 2
|
||||
@ -77,6 +78,7 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
HELP "Tipo donazione"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_LUOGODON 4
|
||||
@ -92,18 +94,21 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
HELP "Punto di prelievo"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DESC_TIPODON 30
|
||||
BEGIN
|
||||
PROMPT 26 2 ""
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DESC_LUOGODON 50
|
||||
BEGIN
|
||||
PROMPT 26 3 ""
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_INS_CONTROLLI
|
||||
@ -111,6 +116,7 @@ BEGIN
|
||||
PROMPT 2 4 "Inserimento controlli"
|
||||
MESSAGE TRUE ENABLE,F_TIPOCON
|
||||
MESSAGE FALSE RESET,F_TIPOCON|DISABLE,F_TIPOCON
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_TIPOCON 2
|
||||
@ -126,12 +132,14 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
HELP "Tipo controllo"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DESC_TIPOCON 30
|
||||
BEGIN
|
||||
PROMPT 46 4 ""
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
SPREADSHEET F_SOGGETTI
|
||||
|
Loading…
x
Reference in New Issue
Block a user