Patch level : at

Files correlati     : at4.exe at4200a.msk
Ricompilazione Demo : [ ]
Commento            : aggiunta data limite ultima donazione per urgenze


git-svn-id: svn://10.65.10.50/trunk@10568 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-10-24 09:17:37 +00:00
parent cd0d4f6b8b
commit 7c6d89f0ca
3 changed files with 41 additions and 34 deletions

View File

@ -41,7 +41,7 @@ class TStampaUrgenze : public TPrintapp
TString16 _tipodon;
long _giorni;
TParagraph_string _cognome_nome, _dencom;
TDate _data_stampa;
TDate _data_stampa, _datalimite;
ts _tipostampa;
TString16 _codsez, _codsot;
int _etlarghezza, _etcolonne;
@ -193,30 +193,35 @@ bool TStampaUrgenze::filter_func_urgenze(const TRelation* rel)
}
// filtro su data donazione
if (filtrato)
{
const long giorni_sez = rel->lfile(LF_SEZIONI).get_long(SEZ_INTMINCONV);
long giorni;
if (giorni_sez == 0)
giorni = app()._giorni;
else
giorni = (giorni_sez > app()._giorni) ? giorni_sez : app()._giorni;
TDate data(TODAY);
if (giorni==0)
{
TDate datapros;
if (app()._tipodon == IDON_SI)
datapros = sog.get(SOG_DATAPROSSI);
{
const TDate datanulla(NULLDATE);
const TDate dataultdon = sog.get(SOG_DATAULTDON);
if (app()._datalimite != datanulla && dataultdon != datanulla)
filtrato = (dataultdon >= app()._datalimite);
if (filtrato)
{
const long giorni_sez = rel->lfile(LF_SEZIONI).get_long(SEZ_INTMINCONV);
long giorni;
if (giorni_sez == 0)
giorni = app()._giorni;
else
datapros = sog.get(SOG_DATAPROSAF);
filtrato = (datapros <= data);
}
else
{
data = data - (const long) giorni;
const TDate dataultdon = sog.get(SOG_DATAULTDON);
filtrato = (dataultdon <= data);
}
giorni = (giorni_sez > app()._giorni) ? giorni_sez : app()._giorni;
TDate data(TODAY);
if (giorni==0)
{
TDate datapros;
if (app()._tipodon == IDON_SI)
datapros = sog.get(SOG_DATAPROSSI);
else
datapros = sog.get(SOG_DATAPROSAF);
filtrato = (datapros <= data);
}
else
{
data = data - (const long) giorni;
filtrato = (dataultdon <= data);
}
}
}
return filtrato;
}
@ -394,6 +399,7 @@ bool TStampaUrgenze::set_print(int)
_giorni = _msk->get_long(F_GIORNI);
_tipodon = _msk->get(F_TIPODON);
_unica = _msk->get_bool(F_UNICA);
_datalimite = _msk->get_date(F_DATALIMITE);
// filtro per sezioni
filtra_sezioni();
if (_unica)

View File

@ -31,8 +31,9 @@
#define F_FENOTIPORH 305
#define F_DU 306
#define F_GIORNI 307
#define F_UNICA 308
#define F_D_TIPODON 309
#define F_DATALIMITE 308
#define F_UNICA 309
#define F_D_TIPODON 310
#define F_ELENCO 401
#define F_ETICHETTE 402

View File

@ -336,14 +336,6 @@ BEGIN
PROMPT 1 14 "Opzioni per la stampa"
END
//NUMBER F_NUMERO 3
//BEGIN
// PROMPT 2 14 "Numero soggetti richiesti "
//CHECKTYPE REQUIRED
// WARNING "Inserire il numero dei soggetti richiesti"
// HELP "Numero dei soggetti richiesti per l'urgenza"
//END
NUMBER F_GIORNI 3
BEGIN
PROMPT 2 15 "Giorni dall'ultima donazione "
@ -352,6 +344,14 @@ BEGIN
HELP "N.ro minimo di giorni che devono essere trascorsi dall'ultima donazione"
END
DATE F_DATALIMITE
BEGIN
PROMPT 40 15 "Ult. don. non prima del "
//CHECKTYPE REQUIRED
WARNING "Inserire la data limite"
HELP "Data entrocui deve essere stata fatta l'ultima donazione"
END
BOOLEAN F_UNICA
BEGIN
PROMPT 2 16 "Stampa non suddivisa per sezione/sottogruppo"