diff --git a/at/at2800.cpp b/at/at2800.cpp index 6633bb57c..bfddf5e47 100755 --- a/at/at2800.cpp +++ b/at/at2800.cpp @@ -10,9 +10,13 @@ #include "at2800a.h" #include "atlib.h" -#define ALIAS_LCP 100 -#define ALIAS_TCS 200 -#define ALIAS_TCS1 300 +#define ALIAS_TCS 200 +#define ALIAS_TCS1 300 + +#define ALIAS_LCPDOM 100 // localita' postale di domicilio +#define ALIAS_COMDOM 501 // comune di domicilio +#define ALIAS_COMNAS 500 // comune di nascita + enum ts { undefined = 0, elenco = 1, etichette = 2 }; @@ -277,7 +281,7 @@ bool TStampaNonDon::preprocess_page(int file, int counter) localita << ' '; if (recsog.get(SOG_DOM_CODLOC).not_empty()) { - localita << current_cursor()->curr(-ALIAS_LCP).get("S0"); + localita << current_cursor()->curr(-ALIAS_LCPDOM).get("S0"); localita << " - "; } localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM); @@ -432,7 +436,7 @@ bool TStampaNonDon::user_create() _rel = new TRelation(LF_SOGGETTI); _rel->add("TCS", "CODTAB==STATO",1,0,ALIAS_TCS); _rel->add("TCS", "CODTAB==STATOSI",1,0,ALIAS_TCS1); - _rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCP); + _rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCPDOM); _rel->add(LF_COMUNI, "COM==DOM_CODCOM"); _rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT"); _cur = add_cursor(new TCursor(_rel, "", 3)); diff --git a/at/at5.cpp b/at/at5.cpp index 1bced1563..1cee0c5c4 100755 --- a/at/at5.cpp +++ b/at/at5.cpp @@ -4,7 +4,7 @@ #include "at5.h" -#define usage "Error - usage : %s -[0|1|2|3|4|5]" +#define usage "Error - usage : %s -[0|1|2|3|4|5|7]" int main(int argc, char** argv) { @@ -25,6 +25,8 @@ int main(int argc, char** argv) rt = at5500(argc, argv); break; case 5: rt = at5600(argc, argv); break; + case 7: + rt = at5800(argc, argv); break; default: error_box(usage, argv[0]) ; rt = 1; break; } diff --git a/at/at5.h b/at/at5.h index a9175ebb6..900db710b 100755 --- a/at/at5.h +++ b/at/at5.h @@ -7,6 +7,7 @@ int at5300(int argc, char* argv[]); // turni per controlli int at5400(int argc, char* argv[]); // riordina donazioni int at5500(int argc, char* argv[]); // stampa scadenze per controlli int at5600(int argc, char* argv[]); // stampa soggetti per consenso +int at5800(int argc, char* argv[]); // eliminazione convocazioni #endif // __AT5_H diff --git a/at/at5800.cpp b/at/at5800.cpp new file mode 100755 index 000000000..01b073b4a --- /dev/null +++ b/at/at5800.cpp @@ -0,0 +1,77 @@ +#include +#include +#include +#include +#include +#include + +#include "at5.h" +#include "at5800a.h" + +// nomi dei campi +#include "soggetti.h" +#include "convoc.h" +#include "rconvoc.h" + + +class TEliminazioneConv: public TSkeleton_application +{ + TRelation* _rel; + TMask* _msk; + TLocalisamfile* _rconvoc; + TLocalisamfile* _soggetti; + TDate _dataini, _datafin; + +protected: + virtual bool create(void); + virtual void main_loop(); + virtual bool destroy(void) ; + +public: + const TMask& msk() const { return *_msk; } + + TEliminazioneConv() {} + virtual ~TEliminazioneConv() {} +}; + +// restituisce un riferimento all' applicazione +inline TEliminazioneConv& app() { return (TEliminazioneConv&) main_app();} + +bool TEliminazioneConv::create() +{ + _msk = new TMask("at5800a"); + _rel = new TRelation(LF_RCONVOC); + _rel->add(LF_SOGGETTI, "CODICE==CODICE"); + _rel->add(LF_CONVOC, "NUMERO==NUMERO"); + return TSkeleton_application::create(); +} + +// distruzione dell'applicazione +bool TEliminazioneConv::destroy() +{ + delete _rel; + delete _msk; + return TSkeleton_application::destroy(); +} + +// carica la maschera +void TEliminazioneConv::main_loop() +{ + // Preimposta gli eventuali valori specificati sulla riga di comando + if (argc() >= 3) + _msk->set(F_DATAINI, argv(2)); + KEY key = K_ENTER; + while (key != K_QUIT) + { + key = _msk->run(); + //if (key == K_ENTER) + } +} + +int at5800(int argc, char* argv[]) +{ + TEliminazioneConv a ; + a.run(argc, argv, "Eliminazione convocazioni"); + return 0; +} + diff --git a/at/at5800a.h b/at/at5800a.h new file mode 100755 index 000000000..acd1d7efe --- /dev/null +++ b/at/at5800a.h @@ -0,0 +1,6 @@ +// eliminazione convocazioni +// definizione campi per maschera di selezione + +#define F_DATAINI 101 +#define F_DATAFIN 102 +#define F_NONELIMULTIMA 103 diff --git a/at/at5800a.uml b/at/at5800a.uml new file mode 100755 index 000000000..8c1d50e6f --- /dev/null +++ b/at/at5800a.uml @@ -0,0 +1,42 @@ +#include "at5800a.h" +TOOLBAR "" 0 20 0 2 +BUTTON DLG_OK 9 2 +BEGIN + PROMPT -12 -11 "" +END + +BUTTON DLG_QUIT 9 2 +BEGIN + PROMPT -22 -11 "" +END +ENDPAGE + +PAGE "Eliminazione convocazioni" -1 -1 78 20 + +GROUPBOX DLG_NULL 77 4 +BEGIN + PROMPT 1 1 "Opzioni per l'eliminazione" +END + +DATE F_DATAINI +BEGIN + PROMPT 2 2 "Convocazioni dal " + CHECKTYPE REQUIRED + HELP "Data iniziale" +END + +DATE F_DATAFIN +BEGIN + PROMPT 32 2 "al " + CHECKTYPE REQUIRED + HELP "Data finale" +END + +BOOLEAN F_NONELIMULTIMA +BEGIN + PROMPT 2 4 "Non eliminare l'ultima convocazione del soggetto" + HELP "Se flaggato, non verra' eliminata l'ultima convocazione del soggetto anche se rientra nell'intervallo di date" +END + +ENDPAGE +ENDMASK