From ed0c57a4f3fcd46eb5545e55536af84ad6f065f5 Mon Sep 17 00:00:00 2001 From: cris Date: Wed, 9 Jan 2002 10:15:44 +0000 Subject: [PATCH] Patch level : 1.7 avis Files correlati : at4.exe at4100a.msk Ricompilazione Demo : [ ] Commento : Scadenze donazione: possibilita' di stampare solo chi ha esclusivamente la idoneita' per la proc. don. selezionata (richiesto da Parma) git-svn-id: svn://10.65.10.50/trunk@9994 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at4100.cpp | 52 +++++++++++++++++++++++++++++--------------- at/at4100a.h | 1 + at/at4100a.uml | 58 ++++++++++++++++++++++---------------------------- 3 files changed, 61 insertions(+), 50 deletions(-) diff --git a/at/at4100.cpp b/at/at4100.cpp index 5ef01a61e..5a62558ec 100755 --- a/at/at4100.cpp +++ b/at/at4100.cpp @@ -62,7 +62,7 @@ class TStampaScadenze : public TPrintapp TDate _data_stampa; TDate _dataini, _datafin, _dataultid; int _intminconv; - bool _usomodo, _usasez, _registra, _gpd_esclusivo; + bool _usomodo, _usasez, _registra, _gpd_esclusivo, _proc_esclusivo; TString16 _giorni, _punto; TString16 _procdon, _modo, _ab01, _ab02, _ab03, _rh; ts _tipostampa; @@ -414,24 +414,41 @@ bool TStampaScadenze::filter_func_scadenze(const TRelation* rel) if (filtrato) { TDate datapross(NULLDATE); - if (app()._procdon == IDON_SI) - datapross = sog.get(SOG_DATAPROSSI); - else - datapross = sog.get(SOG_DATAPROSAF); - if (datapross.ok()) + TDate datanulla(NULLDATE); + if (app()._proc_esclusivo) { - if (app()._dataini.ok()) - filtrato = datapross >= app()._dataini; - if (filtrato) - if (app()._datafin.ok()) - { - if (sog.get_int(SOG_TOTDON) == 0) - datapross+=app()._intminconv; - filtrato = datapross <= app()._datafin; - } + if (app()._procdon == IDON_SI) + { + datapross = sog.get(SOG_DATAPROSAF); + filtrato = (datapross == datanulla); + } + else + { + datapross = sog.get(SOG_DATAPROSSI); + filtrato = (datapross == datanulla); + } } - else - filtrato = FALSE; + if (filtrato) + { + if (app()._procdon == IDON_SI) + datapross = sog.get(SOG_DATAPROSSI); + else + datapross = sog.get(SOG_DATAPROSAF); + if (datapross.ok()) + { + if (app()._dataini.ok()) + filtrato = datapross >= app()._dataini; + if (filtrato) + if (app()._datafin.ok()) + { + if (sog.get_int(SOG_TOTDON) == 0) + datapross+=app()._intminconv; + filtrato = datapross <= app()._datafin; + } + } + else + filtrato = FALSE; + } } // filtro per giorno preferito const TString16& giorni = app()._giorni; @@ -632,6 +649,7 @@ bool TStampaScadenze::set_print(int m) _intminconv = _msk->get_int(F_INTMINCONV); _dataultid = _msk->get(F_DATAULTID); _procdon = _msk->get(F_PROCDON1); + _proc_esclusivo = _msk->get_bool(F_PROC_ESCLUSIVO); _usomodo = _msk->get_bool(F_USOMODO); _modo = _msk->get(F_MODO); _ab01 = _msk->get(F_AB01); diff --git a/at/at4100a.h b/at/at4100a.h index 348785dc7..b60f3743c 100755 --- a/at/at4100a.h +++ b/at/at4100a.h @@ -46,6 +46,7 @@ #define F_D_PUNTO 321 #define F_REGISTRA 322 #define F_GPD_ESCLUSIVO 323 +#define F_PROC_ESCLUSIVO 324 #define F_ELENCO 401 #define F_COMPLETO 402 diff --git a/at/at4100a.uml b/at/at4100a.uml index b543548a5..df2402631 100755 --- a/at/at4100a.uml +++ b/at/at4100a.uml @@ -284,7 +284,7 @@ BEGIN FLAGS "D" END -GROUPBOX DLG_NULL 50 8 +GROUPBOX DLG_NULL 77 9 BEGIN PROMPT 1 9 "Opzioni di convocazione" END @@ -295,11 +295,10 @@ BEGIN #include "procdon.h" END -//LISTBOX F_PROCDON2 17 -//BEGIN -// PROMPT 50 10 "" -// #include "procdon.h" -//END +BOOLEAN F_PROC_ESCLUSIVO +BEGIN + PROMPT 47 10 "Solo proc. don. selezionata" +END DATE F_DATAINI BEGIN @@ -311,6 +310,12 @@ BEGIN PROMPT 37 11 "a " END +NUMBER F_INTMINCONV 4 +BEGIN + PROMPT 54 11 "Int.min.conv. " +END + + TEXT DLG_NULL BEGIN PROMPT 2 12 "Giorni: Lu Ma Me Gi Ve Sa Do" @@ -363,59 +368,56 @@ END BOOLEAN F_USOMODO BEGIN - PROMPT 2 14 "Uso modalita' preferita " + PROMPT 2 14 "Uso mod. pref." MESSAGE TRUE ENABLE,F_MODO MESSAGE FALSE RESET,F_MODO|DISABLE,F_MODO END LISTBOX F_MODO 13 BEGIN - PROMPT 30 14 "" + PROMPT 20 14 "" #include "modalita.h" END DATE F_DATAULTID BEGIN - PROMPT 2 15 "Blocco per id. precedente a " + PROMPT 37 14 "Blocco per id. precedente a " END -GROUPBOX DLG_NULL 25 6 +GROUPBOX DLG_NULL 77 3 BEGIN - PROMPT 53 9 "Dati gruppo-ematici" + PROMPT 1 18 "Dati gruppo-ematici" END LISTBOX F_AB01 5 BEGIN - PROMPT 54 10 "Gruppi AB0 " + PROMPT 2 19 "Gruppi AB0 " #include "gruppo.h" END LISTBOX F_AB02 5 BEGIN - PROMPT 54 11 " " + PROMPT 23 19 "" #include "gruppo.h" END LISTBOX F_AB03 5 BEGIN - PROMPT 54 12 " " + PROMPT 33 19 "" #include "gruppo.h" END LISTBOX F_RHANTID 5 BEGIN - PROMPT 54 13 "Rh/AntiD " + PROMPT 44 19 "Rh/AntiD " #include "rh.h" END -NUMBER F_INTMINCONV 4 -BEGIN - PROMPT 54 15 "Int.min.conv. " -END - +// Stampa solo chi fatto l'ultima donazione nel punto scelto o +// se non ha donazioni, ha come preferenza quel punto prelievo STRING F_PUNTO 4 BEGIN - PROMPT 2 17 "Punto di prelievo " + PROMPT 2 15 "Punto di prelievo " FLAGS "U" USE LDN INPUT CODTAB F_PUNTO @@ -430,23 +432,13 @@ END STRING F_D_PUNTO 50 BEGIN - PROMPT 27 17 "" + PROMPT 27 15 "" FLAGS "D" END -TEXT DLG_NULL -BEGIN - PROMPT 2 18 "Stampa solo chi fatto l'ultima donazione nel punto scelto o," -END - -TEXT DLG_NULL -BEGIN - PROMPT 2 19 "se non ha donazioni, ha come preferenza quel punto prelievo" -END - BOOLEAN F_REGISTRA BEGIN - PROMPT 2 20 "Registra la data di stampa nel campo data convocazione del soggetto" + PROMPT 2 16 "Registra la data di stampa nel campo data convocazione del soggetto" END ENDPAGE