From 90bf9197b6d4893e7854ac0fb0df3ad357c5d357 Mon Sep 17 00:00:00 2001 From: cris Date: Thu, 31 Oct 2002 13:42:13 +0000 Subject: [PATCH] Patch level : at Files correlati : Ricompilazione Demo : [ ] Commento : rsa git-svn-id: svn://10.65.10.50/trunk@10595 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at6400.cpp | 391 ----------------------------------------- at/at6400a.h | 51 ------ at/at6400a.uml | 469 ------------------------------------------------- at/at6500.cpp | 301 ------------------------------- at/at6500a.h | 17 -- at/at6500a.uml | 180 ------------------- at/at6600.cpp | 342 ------------------------------------ at/at6600a.h | 39 ---- at/at6600a.uml | 395 ----------------------------------------- 9 files changed, 2185 deletions(-) delete mode 100755 at/at6400.cpp delete mode 100755 at/at6400a.h delete mode 100755 at/at6400a.uml delete mode 100755 at/at6500.cpp delete mode 100755 at/at6500a.h delete mode 100755 at/at6500a.uml delete mode 100755 at/at6600.cpp delete mode 100755 at/at6600a.h delete mode 100755 at/at6600a.uml diff --git a/at/at6400.cpp b/at/at6400.cpp deleted file mode 100755 index b0fee46c2..000000000 --- a/at/at6400.cpp +++ /dev/null @@ -1,391 +0,0 @@ -#include -#include -#include - -#include "soggetti.h" -#include "sezioni.h" -#include - -#include "at6.h" -#include "at6400a.h" - -#define ALIAS_LCP 100 -#define ALIAS_TCS 200 - -class TStampaIncompleti : public TPrintapp -{ - static bool filter_func_incompleti(const TRelation* rel); - - TRelation* _rel; - TMask* _msk; - TAssoc_array _catdon; - TAssoc_array _catnondon; - TParagraph_string _cognome_nome, _dencom; - TDate _data_stampa; - TString16 _codsez, _codsot, _altridati; - bool _indirizzo, _datanasc, _categoria, _sezione, _gruppoab0; - bool _rhantid, _tessera, _telabi, _cf, _incompleto, _comune; - bool _sottog, _sesso; - -protected: - virtual bool user_create(); - virtual bool user_destroy(); - virtual bool set_print(int m); - virtual void set_page(int file, int cnt); - virtual bool preprocess_page (int file, int counter); - -public: - void crea_intestazione(); - void filtra_sezioni(); - void header_sezione(const TString16 codsez, const TString16 codsot); - TMask& app_mask() { return *_msk; } - - TStampaIncompleti() : _data_stampa(TODAY), _cognome_nome("",25), _dencom("",50) {} -}; - -HIDDEN inline TStampaIncompleti& app() { return (TStampaIncompleti&) main_app(); } - -void TStampaIncompleti::filtra_sezioni() -{ - const TString16 sezini = _msk->get(F_SEZINI); - const TString16 sotini = _msk->get(F_SOTINI); - const TString16 sezfin = _msk->get(F_SEZFIN); - const TString16 sotfin = _msk->get(F_SOTFIN); - TRectype da(LF_SOGGETTI); - TRectype a(LF_SOGGETTI); - if (sezini.not_empty()) - da.put(SOG_CODSEZ, sezini); - if (sotini.not_empty()) - da.put(SOG_CODSOT, sotini); - if (sezfin.not_empty()) - a.put(SOG_CODSEZ, sezfin); - if (sotfin.not_empty()) - a.put(SOG_CODSOT, sotfin); - current_cursor()->setregion(da, a); -} - -void TStampaIncompleti::set_page(int file, int cnt) -{ - set_row(1,"@0g@pn", FLD(LF_SOGGETTI,SOG_CODICE,"########")); - set_row(2,"@0g@8,rs", FLD(LF_SOGGETTI,SOG_TESSAVIS)); - set_row(1,"@9g@S", FLD(LF_SOGGETTI,SOG_CATDON)); - set_row(1,"@12g#a", &_cognome_nome); - set_row(1,"@38g@ld", FLD(LF_SOGGETTI,SOG_DATANASC)); - set_row(1,"@49g@S", FLD(LF_SOGGETTI,SOG_DOM_INDIR)); - set_row(2,"@49g#a", &_dencom); - set_row(1,"@100g@S", FLD(LF_SOGGETTI,SOG_TELABI)); - set_row(2,"@100g@S", FLD(LF_SOGGETTI,SOG_TELLAV)); - set_row(3,"@100g@S", FLD(LF_SOGGETTI,SOG_TELALT)); - set_row(1,"@116g@ld", FLD(LF_SOGGETTI,SOG_DATAISC)); - set_row(2,"@116g@ld", FLD(LF_SOGGETTI,SOG_DATAULTDON)); - set_row(4,""); -} - -bool TStampaIncompleti::filter_func_incompleti(const TRelation* rel) -{ - bool filtrato = FALSE; - bool incompleto = FALSE; - TLocalisamfile& sog = rel->lfile(); - // filtro per categorie - TAssoc_array& categorie = app()._catdon; - if (categorie.items() != 0) - { - const TString16 cat = sog.get(SOG_CATDON); - filtrato = categorie.is_key((const char*) cat); - } - if (!filtrato) - { - // filtro per categorie non donatori - TAssoc_array& categorie = app()._catnondon; - if (categorie.items() != 0) - { - const TString16 cat1 = sog.get(SOG_CATNOND1); - const TString16 cat2 = sog.get(SOG_CATNOND2); - filtrato = (categorie.is_key((const char*) cat1) || categorie.is_key((const char*) cat2)) ; - } - } - if (app()._catdon.items() == 0 && app()._catnondon.items() == 0) - filtrato = TRUE; - incompleto = app()._incompleto; - if (filtrato && app()._indirizzo && !incompleto) - { - TString80 indirizzo = sog.get(SOG_DOM_INDIR); - //TString16 codcom = sog.get(SOG_DOM_CODCOM); - //incompleto = (indirizzo.empty() || codcom.empty()); - incompleto = indirizzo.empty(); - } - if (filtrato && app()._comune && !incompleto) - { - TString16 codcom = sog.get(SOG_DOM_CODCOM); - incompleto = codcom.empty(); - } - if (filtrato && app()._datanasc && !incompleto) - { - TDate datanasc = sog.get(SOG_DATANASC); - incompleto = (datanasc.empty()); - } - if (filtrato && app()._categoria && !incompleto) - { - TString16 catdon = sog.get(SOG_CATDON); - TString16 catnond1 = sog.get(SOG_CATNOND1); - TString16 catnond2 = sog.get(SOG_CATNOND2); - incompleto = (catdon.empty() && catnond1.empty() && catnond2.empty()); - } - if (filtrato && app()._sezione && !incompleto) - { - TString16 codsez = sog.get(SOG_CODSEZ); - incompleto = codsez.empty(); - } - if (filtrato && app()._sottog && !incompleto) - { - TString16 codsot = sog.get(SOG_CODSOT); - incompleto = codsot.empty(); - } - if (filtrato && app()._gruppoab0 && !incompleto) - { - TString16 gruppoab0 = sog.get(SOG_GRUPPOAB0); - incompleto = gruppoab0.empty(); - } - if (filtrato && app()._rhantid && !incompleto) - { - TString16 rhantid = sog.get(SOG_RHANTID); - incompleto = rhantid.empty(); - } - if (filtrato && app()._tessera && !incompleto) - { - TString16 tessera = sog.get(SOG_TESSAVIS); - incompleto = tessera.empty(); - } - if (filtrato && app()._telabi && !incompleto) - { - TString16 telabi = sog.get(SOG_TELABI); - incompleto = telabi.empty(); - } - if (filtrato && app()._cf && !incompleto) - { - TString16 cf = sog.get(SOG_CF); - incompleto = cf.empty(); - } - if (filtrato && app()._sesso && !incompleto) - { - TString16 sesso = sog.get(SOG_SESSO); - incompleto = (sesso.empty()) || (sesso[0] == '0'); - } - if ((filtrato) && (app()._altridati.not_empty()) && (!incompleto)) - { - TString80 str = sog.get(app()._altridati); - incompleto = str.empty(); - } - - filtrato = (filtrato && incompleto); - return filtrato; -} - -void TStampaIncompleti::header_sezione(const TString16 codsez, const TString16 codsot) -{ - const TString80 densez = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSEZ); - const TString80 densot = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSOT); - TString intestazione(132); - intestazione = "Sezione: "; - intestazione << codsez; - intestazione << "/"; - intestazione << codsot; - intestazione << " "; - intestazione << densez; - if (densot.not_empty()) - { - intestazione << "/"; - intestazione << densot; - } - intestazione.center_just(); - set_header(1,"@0g%s", (const char*) intestazione); - return; -} - -bool TStampaIncompleti::preprocess_page(int file, int counter) -{ - TRectype& recsog = current_cursor()->curr(); - TString80 nome = recsog.get(SOG_COGNOME); - nome << " "; - nome << recsog.get(SOG_NOME); - _cognome_nome = nome; - TString256 localita = ""; - localita = recsog.get(SOG_DOM_CAP); - localita << ' '; - if (recsog.get(SOG_DOM_CODLOC).not_empty()) - { - localita << current_cursor()->curr(-ALIAS_LCP).get("S0"); - localita << " - "; - } - localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM); - localita.trim(); - _dencom = localita; - // salto pagina se cambio sezione - const TString16 codsez = recsog.get(SOG_CODSEZ); - const TString16 codsot = recsog.get(SOG_CODSOT); - if ((_codsez!=codsez)||(_codsot!=codsot)) - { - if (_codsez != "**") - printer().formfeed(); - _codsez = codsez; - _codsot = codsot; - header_sezione(codsez, codsot); - } - if (printer().rows_left()<4) - printer().formfeed(); - return TRUE; -} - -bool TStampaIncompleti::set_print(int m) -{ - KEY tasto; - tasto = _msk->run(); - if (tasto == K_ENTER) - { - _codsez = "**"; - _codsot = "**"; - reset_files(); - add_file(LF_SOGGETTI); - filtra_sezioni(); - _catdon.destroy(); - const TString16 catpri = _msk->get(F_CAT1); - const TString16 catsec = _msk->get(F_CAT2); - const TString16 catter = _msk->get(F_CAT3); - const TString16 catqua = _msk->get(F_CAT4); - const TString16 catqui = _msk->get(F_CAT5); - const TString16 catses = _msk->get(F_CAT6); - if (catpri.not_empty()) - _catdon.add((const char*) catpri); - if (catsec.not_empty()) - _catdon.add((const char*) catsec); - if (catter.not_empty()) - _catdon.add((const char*) catter); - if (catqua.not_empty()) - _catdon.add((const char*) catqua); - if (catqui.not_empty()) - _catdon.add((const char*) catqui); - if (catses.not_empty()) - _catdon.add((const char*) catses); - _catnondon.destroy(); - const TString16 catnpri = _msk->get(F_CATN1); - const TString16 catnsec = _msk->get(F_CATN2); - const TString16 catnter = _msk->get(F_CATN3); - const TString16 catnqua = _msk->get(F_CATN4); - const TString16 catnqui = _msk->get(F_CATN5); - const TString16 catnses = _msk->get(F_CATN6); - if (catnpri.not_empty()) - _catnondon.add((const char*) catnpri); - if (catnsec.not_empty()) - _catnondon.add((const char*) catnsec); - if (catnter.not_empty()) - _catnondon.add((const char*) catnter); - if (catnqua.not_empty()) - _catnondon.add((const char*) catnqua); - if (catnqui.not_empty()) - _catnondon.add((const char*) catnqui); - if (catnses.not_empty()) - _catnondon.add((const char*) catnses); - _indirizzo = _msk->get_bool(F_INDIRIZZO); - _comune = _msk->get_bool(F_COMUNE); - _datanasc = _msk->get_bool(F_DATANASC); - _categoria = _msk->get_bool(F_CATEGORIA); - _sezione = _msk->get_bool(F_SEZIONE); - _sottog = _msk->get_bool(F_SOTTOG); - _gruppoab0 = _msk->get_bool(F_GRUPPOAB0); - _rhantid = _msk->get_bool(F_RHANTID); - _tessera = _msk->get_bool(F_TESSERA); - _telabi = _msk->get_bool(F_TELABI); - _cf = _msk->get_bool(F_CF); - _sesso = _msk->get_bool(F_SESSO); - _altridati = _msk->get(F_ALTRIDATI); - _incompleto = !(_incompleto || app()._indirizzo || app()._datanasc || - app()._categoria || app()._sezione || app()._gruppoab0 || - app()._rhantid || app()._tessera || app()._telabi || - app()._cf || app()._comune || app()._sottog || app()._sesso - || app()._altridati.not_empty()); - current_cursor()->set_filterfunction (filter_func_incompleti); - reset_print(); - crea_intestazione(); - return TRUE; - } - else - return FALSE; -} - -void TStampaIncompleti::crea_intestazione() -{ - reset_header(); - TString sep(132); - sep = "STAMPA DI CONTROLLO SOGGETTI INCOMPLETI"; - sep.center_just(); - set_header(2, "@0g%s", (const char*) sep); - TString16 data_stampa = _data_stampa.string(); - set_header(2,"@0g%10s", (const char*) data_stampa); - sep = ""; - sep << "Pag. @#"; - set_header(2, "@120g%s", (const char*) sep); - sep = "DATI MANCANTI: "; - if (_indirizzo) - sep << "Indirizzo dom.- "; - if (_datanasc) - sep << "Data nascita - "; - if (_gruppoab0) - sep << "Gruppo AB0 - "; - if (_rhantid) - sep << "Rh/AntiD - "; - if (_sezione) - sep << "Sesione - "; - if (_categoria) - sep << "Categoria - "; - if (_tessera) - sep << "Tess.AVIS - "; - if (_telabi) - sep << "Tel.abit. - "; - if (_cf) - sep << "Cod.fiscale - "; - if (_comune) - sep << "Comune dom. - "; - if (_sottog) - sep << "Sottog. - "; - if (_sesso) - sep << "Sesso - "; - if (_altridati.not_empty()) - { - TList_field& list = (TList_field&)app_mask().field(F_ALTRIDATI); - sep << list.raw2win(list.get()); - } - sep.center_just(); - set_header(3, (const char *) sep); - sep = ""; - sep.fill('-'); - set_header(4, (const char *) sep); - set_header(5,"@0gCodice@9gC.@12gCognome e nome@38gNato il@49gIndirizzo@100gTelefono abit.@116gData iscr."); - set_header(6,"@0gTessera@49gCAP/Località/Comune/Prov.@100gTelefono lavoro@116gUlt. don."); - set_header(7,"@100gTelefono altro"); - set_header(8,"@0g--------@9g--@12g-------------------------@38g----------@49g--------------------------------------------------@100g---------------@116g----------"); -} - -bool TStampaIncompleti::user_create() -{ - _rel = new TRelation(LF_SOGGETTI); - _rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCP); - _rel->add(LF_COMUNI, "COM==DOM_CODCOM"); - _rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT"); - add_cursor(new TCursor(_rel, "", 3)); - _msk = new TMask("at6400a"); - return TRUE; -} - -bool TStampaIncompleti::user_destroy() -{ - delete _msk; - delete _rel; - return TRUE; -} - -int at6400(int argc, char* argv[]) -{ - TStampaIncompleti a; - a.run(argc, argv, "Stampa di controllo soggetti incompleti"); - return 0; -} diff --git a/at/at6400a.h b/at/at6400a.h deleted file mode 100755 index 5ce42d314..000000000 --- a/at/at6400a.h +++ /dev/null @@ -1,51 +0,0 @@ -// stampa elenco soggetti con dati incompleti -// definizione campi per maschera di selezione - -#define F_SEZINI 101 -#define F_D_SEZINI 102 -#define F_SOTINI 103 -#define F_D_SOTINI 104 -#define F_SEZFIN 105 -#define F_D_SEZFIN 106 -#define F_SOTFIN 107 -#define F_D_SOTFIN 108 - -#define F_CAT1 201 -#define F_D_CAT1 202 -#define F_CAT2 203 -#define F_D_CAT2 204 -#define F_CAT3 205 -#define F_D_CAT3 206 -#define F_CAT4 207 -#define F_D_CAT4 208 -#define F_CAT5 209 -#define F_D_CAT5 210 -#define F_CAT6 211 -#define F_D_CAT6 212 - -#define F_CATN1 301 -#define F_D_CATN1 302 -#define F_CATN2 303 -#define F_D_CATN2 304 -#define F_CATN3 305 -#define F_D_CATN3 306 -#define F_CATN4 307 -#define F_D_CATN4 308 -#define F_CATN5 309 -#define F_D_CATN5 310 -#define F_CATN6 311 -#define F_D_CATN6 312 - -#define F_INDIRIZZO 401 -#define F_DATANASC 402 -#define F_GRUPPOAB0 403 -#define F_RHANTID 404 -#define F_CATEGORIA 405 -#define F_SEZIONE 406 -#define F_TESSERA 407 -#define F_TELABI 408 -#define F_CF 409 -#define F_COMUNE 410 -#define F_SOTTOG 411 -#define F_SESSO 412 -#define F_ALTRIDATI 413 diff --git a/at/at6400a.uml b/at/at6400a.uml deleted file mode 100755 index dec0c2e84..000000000 --- a/at/at6400a.uml +++ /dev/null @@ -1,469 +0,0 @@ -#include "at6400a.h" - -TOOLBAR "" 0 20 0 2 - -BUTTON DLG_OK 9 2 -BEGIN - PROMPT -12 -1 "" -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT -22 -1 "" -END - -END - -PAGE "Stampa soggetti incompleti" -1 -1 78 20 - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 0 "Scelta sezioni/sottogruppi" -END - -STRING F_SEZINI 2 -BEGIN - PROMPT 2 1 "Da " - FLAGS "U" - USE LF_SEZIONI - INPUT CODSEZ F_SEZINI - INPUT CODSOT F_SOTINI - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - OUTPUT F_SEZINI CODSEZ - OUTPUT F_D_SEZINI DENSEZ - OUTPUT F_SOTINI CODSOT - OUTPUT F_D_SOTINI DENSOT - CHECKTYPE SEARCH - HELP "Codice sezione da cui partire" -END - -STRING F_D_SEZINI 25 -BEGIN - PROMPT 11 1 "" - FLAGS "U" - USE LF_SEZIONI KEY 2 - INPUT DENSEZ F_D_SEZINI - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - COPY OUTPUT F_SEZINI - CHECKTYPE NORMAL - HELP "Sezione da cui partire" -END - -STRING F_SOTINI 2 -BEGIN - PROMPT 2 2 " " - COPY ALL F_SEZINI - CHECKTYPE SEARCH - HELP "Codice sottogruppo da cui partire" -END - -STRING F_D_SOTINI 25 -BEGIN - PROMPT 11 2 "" - FLAGS "U" - COPY USE F_D_SEZINI - INPUT DENSEZ F_D_SEZINI - INPUT DENSOT F_D_SOTINI - COPY DISPLAY F_D_SEZINI - COPY OUTPUT F_D_SEZINI - CHECKTYPE NORMAL - HELP "Sottogruppo da cui partire" -END - -STRING F_SEZFIN 2 -BEGIN - PROMPT 41 1 "A " - FLAGS "U" - USE LF_SEZIONI - INPUT CODSEZ F_SEZFIN - INPUT CODSOT F_SOTFIN - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - OUTPUT F_SEZFIN CODSEZ - OUTPUT F_D_SEZFIN DENSEZ - OUTPUT F_SOTFIN CODSOT - OUTPUT F_D_SOTFIN DENSOT - CHECKTYPE SEARCH - HELP "Codice sezione finale" -END - -STRING F_D_SEZFIN 25 -BEGIN - PROMPT 49 1 "" - FLAGS "U" - USE LF_SEZIONI KEY 2 - INPUT DENSEZ F_D_SEZFIN - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - COPY OUTPUT F_SEZFIN - CHECKTYPE NORMAL - HELP "Sezione finale" -END - -STRING F_SOTFIN 2 -BEGIN - PROMPT 41 2 " " - COPY ALL F_SEZFIN - CHECKTYPE SEARCH - HELP "Codice sottogruppo finale" -END - -STRING F_D_SOTFIN 25 -BEGIN - PROMPT 49 2 "" - FLAGS "U" - COPY USE F_D_SEZFIN - INPUT DENSEZ F_D_SEZFIN - INPUT DENSOT F_D_SOTFIN - COPY DISPLAY F_D_SEZFIN - COPY OUTPUT F_D_SEZFIN - CHECKTYPE NORMAL - HELP "Sottogruppo finale" -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 4 "Categorie donatori" -END - -STRING F_CAT1 2 -BEGIN - PROMPT 2 5 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT1 - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CAT1 CODTAB - OUTPUT F_D_CAT1 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT1 30 -BEGIN - PROMPT 8 5 "" - FLAGS "D" -END - -STRING F_CAT2 2 -BEGIN - PROMPT 2 6 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT2 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT2 CODTAB - OUTPUT F_D_CAT2 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT2 30 -BEGIN - PROMPT 8 6 "" - FLAGS "D" -END - -STRING F_CAT3 2 -BEGIN - PROMPT 2 7 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT3 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT3 CODTAB - OUTPUT F_D_CAT3 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT3 30 -BEGIN - PROMPT 8 7 "" - FLAGS "D" -END - -STRING F_CAT4 2 -BEGIN - PROMPT 40 5 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT4 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT4 CODTAB - OUTPUT F_D_CAT4 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT4 30 -BEGIN - PROMPT 46 5 "" - FLAGS "D" -END - -STRING F_CAT5 2 -BEGIN - PROMPT 40 6 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT5 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT5 CODTAB - OUTPUT F_D_CAT5 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT5 30 -BEGIN - PROMPT 46 6 "" - FLAGS "D" -END - -STRING F_CAT6 2 -BEGIN - PROMPT 40 7 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT6 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT6 CODTAB - OUTPUT F_D_CAT6 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT6 30 -BEGIN - PROMPT 46 7 "" - FLAGS "D" -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 9 "Categorie non donatori" -END - -STRING F_CATN1 2 -BEGIN - PROMPT 2 10 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN1 - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CATN1 CODTAB - OUTPUT F_D_CATN1 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN1 30 -BEGIN - PROMPT 8 10 "" - FLAGS "D" -END - -STRING F_CATN2 2 -BEGIN - PROMPT 2 11 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN2 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN2 CODTAB - OUTPUT F_D_CATN2 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN2 30 -BEGIN - PROMPT 8 11 "" - FLAGS "D" -END - -STRING F_CATN3 2 -BEGIN - PROMPT 2 12 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN3 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN3 CODTAB - OUTPUT F_D_CATN3 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN3 30 -BEGIN - PROMPT 8 12 "" - FLAGS "D" -END - -STRING F_CATN4 2 -BEGIN - PROMPT 40 10 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN4 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN4 CODTAB - OUTPUT F_D_CATN4 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN4 30 -BEGIN - PROMPT 46 10 "" - FLAGS "D" -END - -STRING F_CATN5 2 -BEGIN - PROMPT 40 11 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN5 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN5 CODTAB - OUTPUT F_D_CATN5 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN5 30 -BEGIN - PROMPT 46 11 "" - FLAGS "D" -END - -STRING F_CATN6 2 -BEGIN - PROMPT 40 12 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN6 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN6 CODTAB - OUTPUT F_D_CATN6 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN6 30 -BEGIN - PROMPT 46 12 "" - FLAGS "D" -END - -GROUPBOX DLG_NULL 77 7 -BEGIN - PROMPT 1 14 "Soggetti con i seguenti dati mancanti" -END - -BOOLEAN F_INDIRIZZO -BEGIN - PROMPT 2 15 "Indirizzo domicilio" -END - -BOOLEAN F_COMUNE -BEGIN - PROMPT 2 16 "Comune domicilio" -END - -BOOLEAN F_DATANASC -BEGIN - PROMPT 2 17 "Data di nascita" -END - -BOOLEAN F_CATEGORIA -BEGIN - PROMPT 2 18 "Categoria" -END - -BOOLEAN F_SEZIONE -BEGIN - PROMPT 27 15 "Sezione di appartenenza" -END - -BOOLEAN F_SOTTOG -BEGIN - PROMPT 27 16 "Sottogruppo" -END - -BOOLEAN F_GRUPPOAB0 -BEGIN - PROMPT 27 17 "Gruppo AB0" -END - -BOOLEAN F_RHANTID -BEGIN - PROMPT 27 18 "Rh/AntiD" -END - -BOOLEAN F_TESSERA -BEGIN - PROMPT 57 15 "Tessera AVIS" -END - -BOOLEAN F_TELABI -BEGIN - PROMPT 57 16 "Tel. abit." -END - -BOOLEAN F_CF -BEGIN - PROMPT 57 17 "Codice fiscale" -END - -BOOLEAN F_SESSO -BEGIN - PROMPT 57 18 "Sesso" -END - -LISTBOX F_ALTRIDATI 30 -BEGIN - PROMPT 2 19 "Altri dati " - FLAGS "U" - ITEM " | " - ITEM "DATAISC|Data Iscrizione" - ITEM "DATADIM|Data dimissione" - ITEM "COMNASC|Luogo di nascita" - ITEM "DOCID|Documento di identita'" - ITEM "CODCL|Cartella clinica" - ITEM "CODCT|Codice CT" - ITEM "TESSSSN|Tessera SSN" - ITEM "CODMED|Medico" - ITEM "MODCONV|Modalita' di convocazione" - ITEM "PUNTORACC|Punto di prelievo" -END - -ENDPAGE -ENDMASK diff --git a/at/at6500.cpp b/at/at6500.cpp deleted file mode 100755 index a8331a1ea..000000000 --- a/at/at6500.cpp +++ /dev/null @@ -1,301 +0,0 @@ -#include -#include -#include -#include - -#include "contsan.h" -#include "soggetti.h" -#include "sezioni.h" - -#include "at6.h" -#include "at6500a.h" - -#define ALIAS_TCS 200 - -class TControlloControlli : public TPrintapp -{ - TRelation* _rel; - TMask* _msk; - int _counter; - int _cur; - TDate _dataold, _dataini, _datafin; - TString16 _tipocon, _sezold; - TString16 _sezini, _sotini, _tipostampa, _ordinamento; - - TParagraph_string _cognome_nome; - -protected: - virtual bool user_create(); - virtual bool user_destroy(); - virtual bool set_print(int m); - virtual void set_page(int file, int cnt); - virtual bool preprocess_page(int file, int counter); - -public: - void crea_intestazione(); - void header_stampa(const TDate data, const TString16 sezione, const TString16 sottog); - TMask& app_mask() { return *_msk; } - TControlloControlli() : _cognome_nome("",35) {} -}; - -HIDDEN inline TControlloControlli& app() { return (TControlloControlli&) main_app(); } - -void TControlloControlli::set_page(int file, int cnt) -{ - set_row(1,"@0g#D" , &_counter); - set_row(1,"@7g@pn" , FLD(LF_SOGGETTI,SOG_CODICE,"########")); - set_row(1,"@16g@S" , FLD(LF_SOGGETTI,SOG_TESSAVIS)); - set_row(1,"@24g#a" , &_cognome_nome); - set_row(1,"@60g@ld" , FLD(LF_SOGGETTI,SOG_DATANASC)); - set_row(1,"@71g@S" , FLD(LF_SOGGETTI,SOG_CODSEZ)); - set_row(1,"@74g@S" , FLD(LF_SOGGETTI,SOG_CODSOT)); - set_row(1,"@77g@ld" , FLD(LF_CONTSAN,CON_DATACON)); - set_row(1,"@88g@S" , FLD(LF_CONTSAN,CON_TIPOCON)); - set_row(1,"@91g@S" , FLD(LF_CONTSAN,CON_IDON1)); - set_row(1,"@94g@S" , FLD(LF_CONTSAN,CON_IDON2)); - set_row(1,"@97g@S" , FLD(LF_CONTSAN,CON_IDON3)); - set_row(1,"@100g@S" , FLD(LF_CONTSAN,CON_IDON4)); - set_row(1,"@103g@pn" , FLD(LF_CONTSAN,CON_INTSI,"###")); - set_row(1,"@107g@pn" , FLD(LF_CONTSAN,CON_INTAF,"###")); - set_row(1,"@111g@S" , FLD(LF_CONTSAN,CON_PROSSTIPO)); - set_row(1,"@114g@ld" , FLD(LF_CONTSAN,CON_PROSSDATA)); - set_row(1,"@125g@S" , FLD(LF_CONTSAN,CON_MOTIVO)); - set_row(2,"@60g@S" , FLD(LF_CONTSAN,CON_RESPONSAB)); -} - -bool TControlloControlli::preprocess_page(int file, int counter) -{ - // contatore soggetti stampati - // per ora non c'è - TString80 nome = current_cursor()->curr(LF_SOGGETTI).get(SOG_COGNOME); - nome << " "; - nome << current_cursor()->curr(LF_SOGGETTI).get(SOG_NOME); - _cognome_nome = nome; - - // salto pagina se cambio punto di rottura - switch (_tipostampa[0]) - { - case 'D': - { - const TDate datanew = current_cursor()->curr().get(CON_DATACON); - if (datanew != _dataold ) - { - if (_dataold.ok()) - printer().formfeed(); - _dataold = datanew; - header_stampa(datanew,"",""); - _counter = 0; - } - } - break; - case 'S': - { - TString16 sezione = current_cursor()->curr(LF_SOGGETTI).get(SOG_CODSEZ); - TString16 sottog = current_cursor()->curr(LF_SOGGETTI).get(SOG_CODSOT); - TString16 seznew = ""; - seznew << sezione; - seznew << '/'; - seznew << sottog; - if (seznew != _sezold ) - { - if (_sezold != "****") - printer().formfeed(); - _sezold = seznew; - header_stampa(NULLDATE,sezione,sottog); - _counter = 0; - } - } - break; - } - _counter++; - return TRUE; -} - -void TControlloControlli::header_stampa(const TDate data, const TString16 sezione, const TString16 sottog) -{ - TString intestazione(132); - intestazione = "STAMPA CONTROLLI SANITARI "; - switch (_tipostampa[0]) - { - case 'D': - { - intestazione << "PER DATA "; - intestazione << data; - } - break; - case 'S': - { - intestazione << "PER SEZIONE "; - intestazione << sezione; - if (sottog.not_empty()) - { - intestazione << "/"; - intestazione << sottog; - } - TLocalisamfile sez(LF_SEZIONI); - sez.setkey(1); - TRectype& recsez = sez.curr(); - recsez.zero(); - recsez.put(SEZ_CODSEZ, sezione); - recsez.put(SEZ_CODSOT, sottog); - if (sez.read() == NOERR) - { - intestazione << " "; - intestazione << recsez.get(SEZ_DENSEZ); - TString80 densot = recsez.get(SEZ_DENSOT); - if (densot.not_empty()) - { - intestazione << "/"; - intestazione << densot; - } - } - } - break; - } - intestazione.center_just(); - set_header(1,"@0g%s", (const char*) intestazione); - intestazione = "Pag. @#"; - set_header(1, "@120g%s", (const char*) intestazione); - return; -} - -bool TControlloControlli::set_print(int m) -{ - KEY tasto; - tasto = _msk->run(); - if (tasto == K_ENTER) - { - _sezini = _msk->get(F_SEZINI); - _sotini = _msk->get(F_SOTINI); - _dataini = _msk->get_date(F_DATAINI); - _datafin = _msk->get_date(F_DATAFIN); - _tipocon = _msk->get(F_TIPOCON); - - _tipostampa = _msk->get(F_TIPOSTAMPA); - _ordinamento = _msk->get(F_ORDINAMENTO); - TString80 chiave = ""; - switch (_tipostampa[0]) - { - case 'D': - chiave = "93->DATACON|"; - break; - case 'S': - chiave = "90->CODSEZ|90->CODSOT|93->DATACON|"; - break; - } - switch (_ordinamento[0]) - { - case 'C': - chiave << "UPPER(90->COGNOME)|UPPER(90->NOME)"; - break; - } - TString80 filtro = ""; - // filtro per tipo controlli - if (_tipocon.not_empty()) - filtro = format("(TIPOCON == \"%s\")",(const char*)_tipocon); - // filtro per sezione/sottogruppo - if (_sezini.not_empty()) - { - if (filtro.empty()) - filtro = format("(90->CODSEZ == \"%s\")",(const char*)_sezini); - else - { - filtro << " && "; - filtro << format("(90->CODSEZ == \"%s\")",(const char*)_sezini); - } - if (_sotini.not_empty()) - { - if (filtro.empty()) - filtro = format("(90->CODSOT == \"%s\")",(const char*)_sotini); - else - { - filtro << " && "; - filtro << format("(90->CODSOT == \"%s\")",(const char*)_sotini); - } - } - } - // filtro per data - TRectype da(LF_CONTSAN); - TRectype a (LF_CONTSAN); - if (_dataini.ok()) - da.put(CON_DATACON, _dataini); - if (_datafin.ok()) - a.put(CON_DATACON, _datafin); - _cur = add_cursor(new TSorted_cursor(_rel, (const char*) chiave, "", 2, &da, &a)); - current_cursor()->setfilter((const char*) filtro, TRUE); - _counter = 0; - _dataold = NULLDATE; - _sezold = "****"; - reset_files(); - add_file(LF_CONTSAN); - reset_print(); - crea_intestazione(); - return TRUE; - } - else - return FALSE; -} - -void TControlloControlli::crea_intestazione() -{ - reset_header(); - TString sep(132); - sep = "Selezioni stampa: "; - if (_sezini.not_empty()) - { - sep << "Sez. "; - sep << _sezini; - if (_sotini.not_empty()) - { - sep << "/"; - sep << _sotini; - } - sep << "; "; - } - if (_dataini.ok()) - { - sep << "Dal "; - sep << _dataini.string(); - } - if (_datafin.ok()) - { - sep << " Al "; - sep << _datafin.string(); - } - if (_dataini.ok() || _datafin.ok()) - sep << "; "; - if (_tipocon.not_empty()) - { - sep << "Tipo "; - sep << _tipocon; - sep << "; "; - } - sep.center_just(); - set_header(2,"@0g%s", (const char*) sep); - set_header(3,"@0gProg.@7gCodice@16gTessera@24gCognome e nome@60gNato il@71gSe/So@77gData con/tipo@91gIdoneita'@103g SI AF@111gPross.tipo@125gMot."); - set_header(4,"@60gResponsabile"); - set_header(5,"@0g------@7g--------@16g-------@24g-----------------------------------@60g----------@71g-----@77g----------@88g--@91g-- -- -- --@103g--- ---@111g-- ----------@125g----"); -} - -bool TControlloControlli::user_create() -{ - _rel = new TRelation(LF_CONTSAN); - _rel->add(LF_SOGGETTI, "CODICE==CODICE"); - _rel->add("TCS", "CODTAB==TIPOCON",1,0,ALIAS_TCS); - _msk = new TMask("at6500a"); - return TRUE; -} - -bool TControlloControlli::user_destroy() -{ - delete _msk; - delete _rel; - return TRUE; -} - -int at6500(int argc, char* argv[]) -{ - TControlloControlli a; - a.run(argc, argv, "Stampa di controllo controlli sanitari"); - return 0; -} diff --git a/at/at6500a.h b/at/at6500a.h deleted file mode 100755 index 7a12d60e8..000000000 --- a/at/at6500a.h +++ /dev/null @@ -1,17 +0,0 @@ -// stampa di controllo controlli sanitari -// definizione campi per maschera di selezione - -#define F_SEZINI 101 -#define F_D_SEZINI 102 -#define F_SOTINI 103 -#define F_D_SOTINI 104 -//#define F_SEZFIN 105 -//#define F_D_SEZFIN 106 -//#define F_SOTFIN 107 -//#define F_D_SOTFIN 108 -#define F_DATAINI 109 -#define F_DATAFIN 110 -#define F_TIPOCON 111 -#define F_TIPOSTAMPA 112 -#define F_ORDINAMENTO 113 -#define F_D_TIPOCON 201 diff --git a/at/at6500a.uml b/at/at6500a.uml deleted file mode 100755 index aa3432060..000000000 --- a/at/at6500a.uml +++ /dev/null @@ -1,180 +0,0 @@ -#include "at6500a.h" - -PAGE "Stampa di controllo controlli sanitari" -1 -1 78 20 - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 1 "Scelta sezione/sottogruppo" -END - -STRING F_SEZINI 2 -BEGIN - PROMPT 2 2 "Sezione " - FLAGS "U" - USE LF_SEZIONI - INPUT CODSEZ F_SEZINI - INPUT CODSOT F_SOTINI - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - OUTPUT F_SEZINI CODSEZ - OUTPUT F_D_SEZINI DENSEZ - OUTPUT F_SOTINI CODSOT - OUTPUT F_D_SOTINI DENSOT - CHECKTYPE SEARCH - HELP "Codice sezione da stampare" -END - -STRING F_D_SEZINI 25 -BEGIN - PROMPT 20 2 "" - FLAGS "U" - USE LF_SEZIONI KEY 2 - INPUT DENSEZ F_D_SEZINI - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - COPY OUTPUT F_SEZINI - CHECKTYPE NORMAL - HELP "Sezione da stampare" -END - -STRING F_SOTINI 2 -BEGIN - PROMPT 2 3 "Sottogruppo " - COPY ALL F_SEZINI - CHECKTYPE SEARCH - HELP "Codice sottogruppo da stampare" -END - -STRING F_D_SOTINI 25 -BEGIN - PROMPT 20 3 "" - FLAGS "U" - COPY USE F_D_SEZINI - INPUT DENSEZ F_D_SEZINI - INPUT DENSOT F_D_SOTINI - COPY DISPLAY F_D_SEZINI - COPY OUTPUT F_D_SEZINI - CHECKTYPE NORMAL - HELP "Sottogruppo da cui partire" -END - -//STRING F_SEZFIN 2 -//BEGIN -// PROMPT 41 2 "A " -// FLAGS "U" -// USE LF_SEZIONI -// INPUT CODSEZ F_SEZFIN -// INPUT CODSOT F_SOTFIN -// DISPLAY "Cod.sez" CODSEZ -// DISPLAY "Cod.sot." CODSOT -// DISPLAY "Sezione@25" DENSEZ -// DISPLAY "Sottogruppo@25" DENSOT -// OUTPUT F_SEZFIN CODSEZ -// OUTPUT F_D_SEZFIN DENSEZ -// OUTPUT F_SOTFIN CODSOT -// OUTPUT F_D_SOTFIN DENSOT -// CHECKTYPE SEARCH -// HELP "Codice sezione finale" -//END - -//STRING F_D_SEZFIN 25 -//BEGIN -// PROMPT 49 2 "" -// FLAGS "U" -// USE LF_SEZIONI KEY 2 -// INPUT DENSEZ F_D_SEZFIN -// DISPLAY "Sezione@25" DENSEZ -// DISPLAY "Sottogruppo@25" DENSOT -// DISPLAY "Cod.sez" CODSEZ -// DISPLAY "Cod.sot." CODSOT -// COPY OUTPUT F_SEZFIN -// CHECKTYPE NORMAL -// HELP "Sezione finale" -//END - -//STRING F_SOTFIN 2 -//BEGIN -// PROMPT 41 3 " " -// COPY ALL F_SEZFIN -// CHECKTYPE SEARCH -// HELP "Codice sottogruppo finale" -//END - -//STRING F_D_SOTFIN 25 -//BEGIN -// PROMPT 49 3 "" -// FLAGS "U" -// COPY USE F_D_SEZFIN -// INPUT DENSEZ F_D_SEZFIN -// INPUT DENSOT F_D_SOTFIN -// COPY DISPLAY F_D_SEZFIN -// COPY OUTPUT F_D_SEZFIN -// CHECKTYPE NORMAL -// HELP "Sottogruppo finale" -//END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 5 "Selezione dati per la stampa" -END - -DATA F_DATAINI -BEGIN - PROMPT 2 6 "Controlli dal " -END - -DATA F_DATAFIN -BEGIN - PROMPT 30 6 "al " -END - -STRING F_TIPOCON 2 -BEGIN - PROMPT 2 7 "Tipo controllo " - FLAGS "U" - USE TCS - INPUT CODTAB F_TIPOCON - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_TIPOCON CODTAB - OUTPUT F_D_TIPOCON S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" -END - -STRING F_D_TIPOCON 30 -BEGIN - PROMPT 26 7 "" - FLAGS "D" -END - -RADIOBUTTON F_TIPOSTAMPA 25 -BEGIN - PROMPT 1 10 "Stampa per " - ITEM "D|Data controllo" - ITEM "S|Sezione/Sottogruppo" -END - -RADIOBUTTON F_ORDINAMENTO 25 -BEGIN - PROMPT 40 10 "Ordinamento per " - ITEM "C|Cognome e nome" - ITEM "D|Data controllo" -END - -BUTTON DLG_OK 9 2 -BEGIN - PROMPT -12 -1 "" -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT -22 -1 "" -END - -ENDPAGE -ENDMASK diff --git a/at/at6600.cpp b/at/at6600.cpp deleted file mode 100755 index cf2739ca9..000000000 --- a/at/at6600.cpp +++ /dev/null @@ -1,342 +0,0 @@ -#include -#include -#include - -#include "soggetti.h" -#include "sezioni.h" -#include - -#include "at6.h" -#include "at6600a.h" - -#define ALIAS_LCP 100 -#define ALIAS_TCS 200 - -class TStampaNonDom : public TPrintapp -{ - static bool filter_func_nondom(const TRelation* rel); - - TRelation* _rel; - TMask* _msk; - TAssoc_array _catdon; - TAssoc_array _catnondon; - TParagraph_string _cognome_nome, _dencom; - TDate _data_stampa; - TString16 _codsez, _codsot, _codcom; - TString16 _tipostampa; - int _contatore; - -protected: - virtual bool user_create(); - virtual bool user_destroy(); - virtual bool set_print(int m); - virtual void set_page(int file, int cnt); - virtual bool preprocess_page (int file, int counter); - -public: - void crea_intestazione(); - void filtra_sezioni(); - void header_sezione(const TString16 codsez, const TString16 codsot); - void header_comune(const TString16 codcom); - void footer_stampa(); - TMask& app_mask() { return *_msk; } - - TStampaNonDom() : _data_stampa(TODAY), _cognome_nome("",25), _dencom("",50) {} -}; - -HIDDEN inline TStampaNonDom& app() { return (TStampaNonDom&) main_app(); } - -void TStampaNonDom::filtra_sezioni() -{ - const TString16 sezini = _msk->get(F_SEZINI); - const TString16 sotini = _msk->get(F_SOTINI); - const TString16 sezfin = _msk->get(F_SEZFIN); - const TString16 sotfin = _msk->get(F_SOTFIN); - TRectype da(LF_SOGGETTI); - TRectype a(LF_SOGGETTI); - if (sezini.not_empty()) - da.put(SOG_CODSEZ, sezini); - if (sotini.not_empty()) - da.put(SOG_CODSOT, sotini); - if (sezfin.not_empty()) - a.put(SOG_CODSEZ, sezfin); - if (sotfin.not_empty()) - a.put(SOG_CODSOT, sotfin); - current_cursor()->setregion(da, a); -} - -void TStampaNonDom::set_page(int file, int cnt) -{ - set_row(1,"@0g@pn", FLD(LF_SOGGETTI,SOG_CODICE,"########")); - set_row(2,"@0g@8,rs", FLD(LF_SOGGETTI,SOG_TESSAVIS)); - set_row(1,"@9g@S", FLD(LF_SOGGETTI,SOG_CATDON)); - set_row(1,"@12g#a", &_cognome_nome); - set_row(1,"@38g@ld", FLD(LF_SOGGETTI,SOG_DATANASC)); - set_row(2,"@38g@S", FLD(LF_SOGGETTI,SOG_CODSEZ)); - set_row(2,"@41g@S", FLD(LF_SOGGETTI,SOG_CODSOT)); - set_row(1,"@49g@S", FLD(LF_SOGGETTI,SOG_DOM_INDIR)); - set_row(1,"@100g@S", FLD(LF_SOGGETTI,SOG_TELABI)); - set_row(1,"@116g@S", FLD(LF_SOGGETTI,SOG_TELLAV)); - set_row(2,"@49g#a", &_dencom); - set_row(2,"@116g@S", FLD(LF_SOGGETTI,SOG_TELALT)); - set_row(3,""); -} - -bool TStampaNonDom::filter_func_nondom(const TRelation* rel) -{ - bool filtrato = FALSE; - TRectype& recsog = rel->curr(); - TRectype& recsez = rel->curr(LF_SEZIONI); - // filtro per categorie - TAssoc_array& categorie = app()._catdon; - if (categorie.items() != 0) - { - const TString16 cat = recsog.get(SOG_CATDON); - filtrato = categorie.is_key((const char*) cat); - } - if (!filtrato) - { - // filtro per categorie non donatori - TAssoc_array& categorie = app()._catnondon; - if (categorie.items() != 0) - { - const TString16 cat1 = recsog.get(SOG_CATNOND1); - const TString16 cat2 = recsog.get(SOG_CATNOND2); - filtrato = (categorie.is_key((const char*) cat1) || categorie.is_key((const char*) cat2)) ; - } - } - if (app()._catdon.items() == 0 && app()._catnondon.items() == 0) - filtrato = TRUE; - if (filtrato) - { - TString16 comsez = recsez.get(SEZ_COM); - TString16 comsog = recsog.get(SOG_DOM_CODCOM); - filtrato = ((comsez != comsog) && comsez.not_empty() && comsog.not_empty()); - } - return filtrato; -} - -void TStampaNonDom::header_sezione(const TString16 codsez, const TString16 codsot) -{ - const TString80 densez = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSEZ); - const TString80 densot = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSOT); - TString intestazione(132); - intestazione = "Sezione: "; - intestazione << codsez; - intestazione << '/'; - intestazione << codsot; - intestazione << ' '; - intestazione << densez; - if (densot.not_empty()) - { - intestazione << '/'; - intestazione << densot; - } - intestazione.center_just(); - set_header(1,"@0g%s", (const char*) intestazione); - return; -} - -void TStampaNonDom::header_comune(const TString16 codcom) -{ - TString80 dencom = current_cursor()->curr(LF_COMUNI).get(COM_DENCOM); - dencom << ' '; - dencom << current_cursor()->curr(LF_COMUNI).get(COM_PROVCOM); - TString intestazione(132); - intestazione = "Comune: "; - intestazione << codcom; - intestazione << ' '; - intestazione << dencom; - intestazione.center_just(); - set_header(1,"@0g%s", (const char*) intestazione); - return; -} - -void TStampaNonDom::footer_stampa() -{ - // stampa totale soggetti a fine pagina - if (_contatore > 0) - { - reset_footer(); - TString sep(80); - sep.fill('-'); - set_footer(1, (const char *) sep); - set_footer(2,"TOTALE %d", _contatore); - printer().formfeed(); - reset_footer(); - } -} - -bool TStampaNonDom::preprocess_page(int file, int counter) -{ - TRectype& recsog = current_cursor()->curr(); - TString80 nome = recsog.get(SOG_COGNOME); - nome << ' '; - nome << recsog.get(SOG_NOME); - _cognome_nome = nome; - TString256 localita = ""; - localita << current_cursor()->curr(-ALIAS_LCP).get("S6"); - if (localita.not_empty()) - { - localita << ' '; - localita << current_cursor()->curr(-ALIAS_LCP).get("S0"); - localita << " - "; - } - else - { - localita = current_cursor()->curr(LF_COMUNI).get(COM_CAPCOM); - localita << ' '; - } - localita << current_cursor()->curr(LF_COMUNI).get(COM_DENCOM); - localita << ' '; - localita << current_cursor()->curr(LF_COMUNI).get(COM_PROVCOM); - localita.trim(); - _dencom = localita; - // salto pagina se cambio sezione o comune - if (_tipostampa == "01") - { - const TString16 codsez = recsog.get(SOG_CODSEZ); - const TString16 codsot = recsog.get(SOG_CODSOT); - if ((_codsez!=codsez)||(_codsot!=codsot)) - { - if (_codsez != "**") - //printer().formfeed(); - footer_stampa(); - _contatore = 0; - _codsez = codsez; - _codsot = codsot; - header_sezione(codsez, codsot); - } - } - else - { - const TString16 codcom = recsog.get(SOG_DOM_CODCOM); - if (_codcom!=codcom) - { - if (_codcom != "**") - //printer().formfeed(); - footer_stampa(); - _contatore = 0; - _codcom = codcom; - header_comune(codcom); - } - } - _contatore++; - if (printer().rows_left()<3) - printer().formfeed(); - return TRUE; -} - -bool TStampaNonDom::set_print(int m) -{ - KEY tasto; - tasto = _msk->run(); - if (tasto == K_ENTER) - { - _contatore = 0; - _codsez = "**"; - _codsot = "**"; - _codcom = "****"; - _tipostampa = _msk->get(F_TIPOSTAMPA); - TString80 chiave = ""; - if (_tipostampa == "01") - chiave = "90->CODSEZ|90->CODSOT|90->COGNOME|90->NOME"; - else - chiave = "90->DOM_CODCOM|90->COGNOME|90->NOME"; - reset_files(); - add_file(LF_SOGGETTI); - filtra_sezioni(); - _catdon.destroy(); - const TString16 catpri = _msk->get(F_CAT1); - const TString16 catsec = _msk->get(F_CAT2); - const TString16 catter = _msk->get(F_CAT3); - const TString16 catqua = _msk->get(F_CAT4); - const TString16 catqui = _msk->get(F_CAT5); - const TString16 catses = _msk->get(F_CAT6); - if (catpri.not_empty()) - _catdon.add((const char*) catpri); - if (catsec.not_empty()) - _catdon.add((const char*) catsec); - if (catter.not_empty()) - _catdon.add((const char*) catter); - if (catqua.not_empty()) - _catdon.add((const char*) catqua); - if (catqui.not_empty()) - _catdon.add((const char*) catqui); - if (catses.not_empty()) - _catdon.add((const char*) catses); - _catnondon.destroy(); - const TString16 catnpri = _msk->get(F_CATN1); - const TString16 catnsec = _msk->get(F_CATN2); - const TString16 catnter = _msk->get(F_CATN3); - const TString16 catnqua = _msk->get(F_CATN4); - const TString16 catnqui = _msk->get(F_CATN5); - const TString16 catnses = _msk->get(F_CATN6); - if (catnpri.not_empty()) - _catnondon.add((const char*) catnpri); - if (catnsec.not_empty()) - _catnondon.add((const char*) catnsec); - if (catnter.not_empty()) - _catnondon.add((const char*) catnter); - if (catnqua.not_empty()) - _catnondon.add((const char*) catnqua); - if (catnqui.not_empty()) - _catnondon.add((const char*) catnqui); - if (catnses.not_empty()) - _catnondon.add((const char*) catnses); - current_cursor()->set_filterfunction (filter_func_nondom,TRUE); - ((TSorted_cursor*)current_cursor())->change_order(chiave); - reset_print(); - printer().footerlen(0); - crea_intestazione(); - return TRUE; - } - else - return FALSE; -} - -void TStampaNonDom::crea_intestazione() -{ - reset_header(); - TString sep(132); - sep = "STAMPA SOGGETTI NON DOMICILIATI NEL COMUNE DELLA SEZIONE"; - sep.center_just(); - set_header(2, "@0g%s", (const char*) sep); - TString16 data_stampa = _data_stampa.string(); - set_header(2,"@0g%10s", (const char*) data_stampa); - sep = ""; - sep << "Pag. @#"; - set_header(2, "@120g%s", (const char*) sep); - sep = ""; - sep.fill('-'); - set_header(4, (const char *) sep); - set_header(5,"@0gCodice@9gC.@12gCognome e nome@38gNato il@49gIndirizzo@100gTelefono abit.@116gTelefono lavoro"); - set_header(6,"@0gTessera@38gSe/So@49gCAP/Località/Comune/Prov.@116gTelefono altro"); - set_header(7,"@0g--------@9g--@12g-------------------------@38g----------@49g--------------------------------------------------@100g---------------@116g---------------"); - printer().footerlen(3); -} - -bool TStampaNonDom::user_create() -{ - _rel = new TRelation(LF_SOGGETTI); - _rel->add("LCP", "CODTAB==DOM_CODLOC",1,0,ALIAS_LCP); - _rel->add(LF_COMUNI, "COM==DOM_CODCOM"); - _rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT"); - add_cursor(new TSorted_cursor(_rel,"","",3)); - _msk = new TMask("at6600a"); - return TRUE; -} - -bool TStampaNonDom::user_destroy() -{ - delete _msk; - delete _rel; - return TRUE; -} - -int at6600(int argc, char* argv[]) -{ - TStampaNonDom a; - a.run(argc, argv, "Soggetti non domiciliati nel comune di sez."); - return 0; -} diff --git a/at/at6600a.h b/at/at6600a.h deleted file mode 100755 index 9a807179c..000000000 --- a/at/at6600a.h +++ /dev/null @@ -1,39 +0,0 @@ -// stampa elenco soggetti non domiciliati nel comune della sezione -// definizione campi per maschera di selezione - -#define F_SEZINI 101 -#define F_D_SEZINI 102 -#define F_SOTINI 103 -#define F_D_SOTINI 104 -#define F_SEZFIN 105 -#define F_D_SEZFIN 106 -#define F_SOTFIN 107 -#define F_D_SOTFIN 108 - -#define F_CAT1 201 -#define F_D_CAT1 202 -#define F_CAT2 203 -#define F_D_CAT2 204 -#define F_CAT3 205 -#define F_D_CAT3 206 -#define F_CAT4 207 -#define F_D_CAT4 208 -#define F_CAT5 209 -#define F_D_CAT5 210 -#define F_CAT6 211 -#define F_D_CAT6 212 - -#define F_CATN1 301 -#define F_D_CATN1 302 -#define F_CATN2 303 -#define F_D_CATN2 304 -#define F_CATN3 305 -#define F_D_CATN3 306 -#define F_CATN4 307 -#define F_D_CATN4 308 -#define F_CATN5 309 -#define F_D_CATN5 310 -#define F_CATN6 311 -#define F_D_CATN6 312 - -#define F_TIPOSTAMPA 401 diff --git a/at/at6600a.uml b/at/at6600a.uml deleted file mode 100755 index 492ad03e2..000000000 --- a/at/at6600a.uml +++ /dev/null @@ -1,395 +0,0 @@ -#include "at6600a.h" - -TOOLBAR "" 0 20 0 2 - -BUTTON DLG_OK 9 2 -BEGIN - PROMPT -12 -1 "" -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT -22 -1 "" -END - -END - -PAGE "Soggetti non domiciliati nel comune di sez." -1 -1 78 20 - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 0 "Scelta sezioni/sottogruppi" -END - -STRING F_SEZINI 2 -BEGIN - PROMPT 2 1 "Da " - FLAGS "U" - USE LF_SEZIONI - INPUT CODSEZ F_SEZINI - INPUT CODSOT F_SOTINI - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - OUTPUT F_SEZINI CODSEZ - OUTPUT F_D_SEZINI DENSEZ - OUTPUT F_SOTINI CODSOT - OUTPUT F_D_SOTINI DENSOT - CHECKTYPE SEARCH - HELP "Codice sezione da cui partire" -END - -STRING F_D_SEZINI 25 -BEGIN - PROMPT 11 1 "" - FLAGS "U" - USE LF_SEZIONI KEY 2 - INPUT DENSEZ F_D_SEZINI - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - COPY OUTPUT F_SEZINI - CHECKTYPE NORMAL - HELP "Sezione da cui partire" -END - -STRING F_SOTINI 2 -BEGIN - PROMPT 2 2 " " - COPY ALL F_SEZINI - CHECKTYPE SEARCH - HELP "Codice sottogruppo da cui partire" -END - -STRING F_D_SOTINI 25 -BEGIN - PROMPT 11 2 "" - FLAGS "U" - COPY USE F_D_SEZINI - INPUT DENSEZ F_D_SEZINI - INPUT DENSOT F_D_SOTINI - COPY DISPLAY F_D_SEZINI - COPY OUTPUT F_D_SEZINI - CHECKTYPE NORMAL - HELP "Sottogruppo da cui partire" -END - -STRING F_SEZFIN 2 -BEGIN - PROMPT 41 1 "A " - FLAGS "U" - USE LF_SEZIONI - INPUT CODSEZ F_SEZFIN - INPUT CODSOT F_SOTFIN - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - OUTPUT F_SEZFIN CODSEZ - OUTPUT F_D_SEZFIN DENSEZ - OUTPUT F_SOTFIN CODSOT - OUTPUT F_D_SOTFIN DENSOT - CHECKTYPE SEARCH - HELP "Codice sezione finale" -END - -STRING F_D_SEZFIN 25 -BEGIN - PROMPT 49 1 "" - FLAGS "U" - USE LF_SEZIONI KEY 2 - INPUT DENSEZ F_D_SEZFIN - DISPLAY "Sezione@25" DENSEZ - DISPLAY "Sottogruppo@25" DENSOT - DISPLAY "Cod.sez" CODSEZ - DISPLAY "Cod.sot." CODSOT - COPY OUTPUT F_SEZFIN - CHECKTYPE NORMAL - HELP "Sezione finale" -END - -STRING F_SOTFIN 2 -BEGIN - PROMPT 41 2 " " - COPY ALL F_SEZFIN - CHECKTYPE SEARCH - HELP "Codice sottogruppo finale" -END - -STRING F_D_SOTFIN 25 -BEGIN - PROMPT 49 2 "" - FLAGS "U" - COPY USE F_D_SEZFIN - INPUT DENSEZ F_D_SEZFIN - INPUT DENSOT F_D_SOTFIN - COPY DISPLAY F_D_SEZFIN - COPY OUTPUT F_D_SEZFIN - CHECKTYPE NORMAL - HELP "Sottogruppo finale" -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 4 "Categorie donatori" -END - -STRING F_CAT1 2 -BEGIN - PROMPT 2 5 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT1 - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CAT1 CODTAB - OUTPUT F_D_CAT1 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT1 30 -BEGIN - PROMPT 8 5 "" - FLAGS "D" -END - -STRING F_CAT2 2 -BEGIN - PROMPT 2 6 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT2 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT2 CODTAB - OUTPUT F_D_CAT2 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT2 30 -BEGIN - PROMPT 8 6 "" - FLAGS "D" -END - -STRING F_CAT3 2 -BEGIN - PROMPT 2 7 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT3 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT3 CODTAB - OUTPUT F_D_CAT3 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT3 30 -BEGIN - PROMPT 8 7 "" - FLAGS "D" -END - -STRING F_CAT4 2 -BEGIN - PROMPT 40 5 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT4 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT4 CODTAB - OUTPUT F_D_CAT4 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT4 30 -BEGIN - PROMPT 46 5 "" - FLAGS "D" -END - -STRING F_CAT5 2 -BEGIN - PROMPT 40 6 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT5 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT5 CODTAB - OUTPUT F_D_CAT5 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT5 30 -BEGIN - PROMPT 46 6 "" - FLAGS "D" -END - -STRING F_CAT6 2 -BEGIN - PROMPT 40 7 "" - FLAGS "U" - USE CTD - INPUT CODTAB F_CAT6 - COPY DISPLAY F_CAT1 - OUTPUT F_CAT6 CODTAB - OUTPUT F_D_CAT6 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CAT6 30 -BEGIN - PROMPT 46 7 "" - FLAGS "D" -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 9 "Categorie non donatori" -END - -STRING F_CATN1 2 -BEGIN - PROMPT 2 10 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN1 - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CATN1 CODTAB - OUTPUT F_D_CATN1 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN1 30 -BEGIN - PROMPT 8 10 "" - FLAGS "D" -END - -STRING F_CATN2 2 -BEGIN - PROMPT 2 11 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN2 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN2 CODTAB - OUTPUT F_D_CATN2 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN2 30 -BEGIN - PROMPT 8 11 "" - FLAGS "D" -END - -STRING F_CATN3 2 -BEGIN - PROMPT 2 12 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN3 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN3 CODTAB - OUTPUT F_D_CATN3 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN3 30 -BEGIN - PROMPT 8 12 "" - FLAGS "D" -END - -STRING F_CATN4 2 -BEGIN - PROMPT 40 10 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN4 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN4 CODTAB - OUTPUT F_D_CATN4 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN4 30 -BEGIN - PROMPT 46 10 "" - FLAGS "D" -END - -STRING F_CATN5 2 -BEGIN - PROMPT 40 11 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN5 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN5 CODTAB - OUTPUT F_D_CATN5 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN5 30 -BEGIN - PROMPT 46 11 "" - FLAGS "D" -END - -STRING F_CATN6 2 -BEGIN - PROMPT 40 12 "" - FLAGS "U" - USE CTN - INPUT CODTAB F_CATN6 - COPY DISPLAY F_CATN1 - OUTPUT F_CATN6 CODTAB - OUTPUT F_D_CATN6 S0 - CHECKTYPE NORMAL - WARNING "Codice non presente" - HELP "Categoria di appartenenza" -END - -STRING F_D_CATN6 30 -BEGIN - PROMPT 46 12 "" - FLAGS "D" -END - -RADIOBUTTON F_TIPOSTAMPA 50 -BEGIN - PROMPT 2 14 "Stampa suddivisa per " - ITEM "01|Sezione/Sottogruppo" - ITEM "02|Comune di domicilio" - FLAG "Z" -END - -ENDPAGE -ENDMASK