From c060240c84ec341665dba6874d88e7bde9117f22 Mon Sep 17 00:00:00 2001 From: cris Date: Thu, 31 Oct 2002 13:34:56 +0000 Subject: [PATCH] Patch level : at Files correlati : Ricompilazione Demo : [ ] Commento : riorganizzazione storica avis git-svn-id: svn://10.65.10.50/trunk@10590 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at5.cpp | 10 +- at/at5.h | 6 +- at/at5100.cpp | 300 ++++++++++++++++++++++++++- at/at5100a.uml | 550 ++++++++++++------------------------------------- at/at5400.cpp | 126 ----------- at/at5800.cpp | 78 ------- at/at5800a.h | 6 - at/at5800a.uml | 42 ---- 8 files changed, 433 insertions(+), 685 deletions(-) delete mode 100755 at/at5400.cpp delete mode 100755 at/at5800.cpp delete mode 100755 at/at5800a.h delete mode 100755 at/at5800a.uml diff --git a/at/at5.cpp b/at/at5.cpp index 1cee0c5c4..cc88478f6 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|7]" +#define usage "Error - usage : %s -[0|1|2|3|4]" int main(int argc, char** argv) { @@ -19,14 +19,10 @@ int main(int argc, char** argv) rt = at5200(argc, argv); break; case 2: rt = at5300(argc, argv); break; - case 3: - rt = at5400(argc, argv); break; + //case 3: + //rt = at5400(argc, argv); break; case 4: 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 900db710b..3106670af 100755 --- a/at/at5.h +++ b/at/at5.h @@ -1,13 +1,11 @@ #ifndef __AT5_H #define __AT5_H -int at5100(int argc, char* argv[]); // parametri +int at5100(int argc, char* argv[]); // stampa di controllo controlli sanitari int at5200(int argc, char* argv[]); // situazione sanitaria int at5300(int argc, char* argv[]); // turni per controlli -int at5400(int argc, char* argv[]); // riordina donazioni +//int at5400(int argc, char* argv[]); // stampa di controllo 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/at5100.cpp b/at/at5100.cpp index 89cd564d7..b0f86424e 100755 --- a/at/at5100.cpp +++ b/at/at5100.cpp @@ -1,15 +1,301 @@ -#include +#include +#include +#include +#include -class ATParametriSezione : public TConfig_application +#include "contsan.h" +#include "soggetti.h" +#include "sezioni.h" + +#include "at5.h" +#include "at5100a.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: - ATParametriSezione() : TConfig_application(CONFIG_STUDIO) {} - virtual ~ATParametriSezione() {} + void crea_intestazione(); + void header_stampa(const TDate data, const TString16 sezione, const TString16 sottog); + TMask& app_mask() { return *_msk; } + TControlloControlli() : _cognome_nome("",35) {} }; -int at5100 (int argc, char* argv[]) +HIDDEN inline TControlloControlli& app() { return (TControlloControlli&) main_app(); } + +void TControlloControlli::set_page(int file, int cnt) { - ATParametriSezione appc; - appc.run(argc, argv, "Parametri Sezione"); + 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("at5100a"); + return TRUE; +} + +bool TControlloControlli::user_destroy() +{ + delete _msk; + delete _rel; + return TRUE; +} + +int at5100(int argc, char* argv[]) +{ + TControlloControlli a; + a.run(argc, argv, "Stampa di controllo controlli sanitari"); return 0; } diff --git a/at/at5100a.uml b/at/at5100a.uml index 488bb6734..1b130551f 100755 --- a/at/at5100a.uml +++ b/at/at5100a.uml @@ -1,460 +1,180 @@ #include "at5100a.h" -/* toolbar */ -TOOLBAR "" 0 20 0 2 +PAGE "Stampa di controllo controlli sanitari" -1 -1 78 20 -BUTTON DLG_OK 10 2 +GROUPBOX DLG_NULL 77 4 BEGIN - PROMPT -12 -1 "" + PROMPT 1 1 "Scelta sezione/sottogruppo" END -BUTTON DLG_QUIT 10 2 +STRING F_SEZINI 2 BEGIN - PROMPT -22 -1 "" + 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 -ENDPAGE +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 -PAGE "Automatismi" -1 -1 78 20 +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 0 "Primo passaggio di categoria" + PROMPT 1 5 "Selezione dati per la stampa" END -NUMBER AT_NUMDON1 3 +DATA F_DATAINI BEGIN - PROMPT 2 1 "Donazioni necessarie " - HELP "Numero donazioni necessarie per il passaggio" - FIELD NumDon1 + PROMPT 2 6 "Controlli dal " END -STRING AT_CATINI1 2 +DATA F_DATAFIN BEGIN - PROMPT 2 2 "Categoria di partenza " - HELP "Categoria di partenza per il passaggio (possibile vuota)" - USE CTD - INPUT CODTAB[1,2] AT_CATINI1 - DISPLAY "Cat." CODTAB[1,2] - DISPLAY "Descrizione@50" S0 - OUTPUT AT_CATINI1 CODTAB[1,2] - OUTPUT AT_D_CATINI1 S0 - FIELD CatIni1 - CHECKTYPE NORMAL + PROMPT 30 6 "al " END -STRING AT_CATFIN1 2 +STRING F_TIPOCON 2 BEGIN - PROMPT 2 3 "Categoria di arrivo " - HELP "Categoria di arrivo per il passaggio (possibile vuota)" - USE CTD - INPUT CODTAB[1,2] AT_CATFIN1 - DISPLAY "Cat." CODTAB[1,2] - DISPLAY "Descrizione@50" S0 - OUTPUT AT_CATFIN1 CODTAB[1,2] - OUTPUT AT_D_CATFIN1 S0 - FIELD CatFin1 - CHECKTYPE NORMAL -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 5 "Secondo passaggio di categoria" -END - -NUMBER AT_NUMDON2 3 -BEGIN - PROMPT 2 6 "Donazioni necessarie " - HELP "Numero donazioni necessarie per il passaggio" - FIELD NumDon2 -END - -BOOLEAN AT_STTESS2 -BEGIN - PROMPT 30 6 "Passaggio con stampa tessera" - HELP "Eseguire il cambio di categoria al momento della stampa tessera" - FIELD StTess2 -END - -STRING AT_CATINI2 2 -BEGIN - PROMPT 2 7 "Categoria di partenza " - HELP "Categoria di partenza per il passaggio (possibile vuota)" - USE CTD - INPUT CODTAB[1,2] AT_CATINI2 - DISPLAY "Cat." CODTAB[1,2] - DISPLAY "Descrizione@50" S0 - OUTPUT AT_CATINI2 CODTAB[1,2] - OUTPUT AT_D_CATINI2 S0 - FIELD CatIni2 - CHECKTYPE NORMAL -END - -STRING AT_CATFIN2 2 -BEGIN - PROMPT 2 8 "Categoria di arrivo " - HELP "Categoria di arrivo per il passaggio (possibile vuota)" - USE CTD - INPUT CODTAB[1,2] AT_CATFIN2 - DISPLAY "Cat." CODTAB[1,2] - DISPLAY "Descrizione@50" S0 - OUTPUT AT_CATFIN2 CODTAB[1,2] - OUTPUT AT_D_CATFIN2 S0 - FIELD CatFin2 - CHECKTYPE NORMAL -END - -GROUPBOX DLG_NULL 77 5 -BEGIN - PROMPT 1 10 "Intervalli di donazione nelle idoneita' automatiche" -END - -NUMBER AT_ETADONNE 3 -BEGIN - PROMPT 2 11 "Eta' per la suddivisione delle donne in due fasce " - FIELD EtaDonne -END - -NUMBER AT_INTSI_F1 3 -BEGIN - PROMPT 2 12 "Intervallo SI per femmine 1ø fascia " - FIELD IntSI_F1 -END - -NUMBER AT_INTSI_F2 3 -BEGIN - PROMPT 2 13 "Intervallo SI per femmine 2ø fascia " - FIELD IntSI_F2 -END - - -NUMBER AT_INTSI_M 3 -BEGIN - PROMPT 45 12 "Intervallo SI per maschi " - FIELD IntSI_M -END - -NUMBER AT_INTAF_M 3 -BEGIN - PROMPT 45 13 "Intervallo AF per tutti " - FIELD IntAF_M -END - -BOOLEAN AT_DATAISC -BEGIN - PROMPT 2 16 "Data iscrizione (se vuota) uguale a data prima donazione" - HELP "Data iscrizione automaticamente uguale alla data prima donazione, se vuota" - FIELD DataIsc -END - -BOOLEAN AT_NOMESSAGE -BEGIN - PROMPT 2 17 "Disabilita messaggi in giornaliero donazioni" - HELP "Disabilita i messaggi di attenzione in giornaliero donazioni" - FIELD NoMessage -END - -BOOLEAN AT_AUTOID -BEGIN - PROMPT 2 18 "Idoneita' automatica" - HELP "Idoneita' automatica in giornaliero donazioni" - FIELD AutoId - MESSAGE TRUE ENABLE,AT_MOTIVOID - MESSAGE FALSE RESET,AT_MOTIVOID|DISABLE,AT_MOTIVOID -END - -STRING AT_MOTIVOID 4 -BEGIN - PROMPT 30 18 "Motivo " - FIELD MotivoId + PROMPT 2 7 "Tipo controllo " FLAGS "U" - USE MTC - INPUT CODTAB AT_MOTIVOID + USE TCS + INPUT CODTAB F_TIPOCON DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@50" S0 - OUTPUT AT_MOTIVOID CODTAB - OUTPUT AT_D_MOTIVOID S0 + DISPLAY "Descrizione@30" S0 + OUTPUT F_TIPOCON CODTAB + OUTPUT F_D_TIPOCON S0 CHECKTYPE NORMAL - WARNING "Codice motivo non presente" - HELP "Motivo del controllo sanitario" + WARNING "Codice non presente" END -STRING AT_D_MOTIVOID 25 +STRING F_D_TIPOCON 30 BEGIN - PROMPT 45 18 "" + PROMPT 26 7 "" FLAGS "D" END -BOOLEAN AT_CTRLPASS +RADIOBUTTON F_TIPOSTAMPA 25 BEGIN - PROMPT 2 19 "Accesso ai controlli sanitari con password" - HELP "Permette l'inserimento ai controlli sanitari solo con password" - FIELD CtrlPass + PROMPT 1 10 "Stampa per " + ITEM "D|Data controllo" + ITEM "S|Sezione/Sottogruppo" END -STRING AT_D_CATINI1 40 +RADIOBUTTON F_ORDINAMENTO 25 BEGIN - PROMPT 30 2 "" - FLAGS "D" + PROMPT 40 10 "Ordinamento per " + ITEM "C|Cognome e nome" + ITEM "D|Data controllo" END -STRING AT_D_CATFIN1 40 +BUTTON DLG_OK 9 2 BEGIN - PROMPT 30 3 "" - FLAGS "D" + PROMPT -12 -1 "" END -STRING AT_D_CATINI2 40 +BUTTON DLG_QUIT 9 2 BEGIN - PROMPT 30 7 "" - FLAGS "D" -END - -STRING AT_D_CATFIN2 40 -BEGIN - PROMPT 30 8 "" - FLAGS "D" + PROMPT -22 -1 "" END ENDPAGE - -PAGE "Etichette" -1 -1 78 20 - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 0 "Etichette soggetti" -END - -STRING AT_ETFORM 8 -BEGIN - PROMPT 2 1 "Formato " - FIELD EtFormato - USE LF_FORM - INPUT TIPOPROF AT_ETFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_ETFORM TIPOPROF - OUTPUT AT_D_ETFORM DESC - CHECKTYPE SEARCH -END - -STRING AT_D_ETFORM 50 -BEGIN - PROMPT 23 1 "" - FLAGS "D" -END - -NUMBER AT_ETLARG 3 -BEGIN - PROMPT 2 2 "Larghezza " - FIELD EtLarghezza -END - -NUMBER AT_ETCOL 1 -BEGIN - PROMPT 20 2 "Colonne " - FIELD EtColonne -END - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 4 "Etichette per notiziario" -END - -STRING AT_NETFORM 8 -BEGIN - PROMPT 2 5 "Formato " - FIELD EtNFormato - USE LF_FORM - INPUT TIPOPROF AT_NETFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_NETFORM TIPOPROF - OUTPUT AT_D_NETFORM DESC - CHECKTYPE SEARCH -END - -STRING AT_D_NETFORM 50 -BEGIN - PROMPT 23 5 "" - FLAGS "D" -END - -NUMBER AT_NETLARG 3 -BEGIN - PROMPT 2 6 "Larghezza " - FIELD EtNLarghezza -END - -NUMBER AT_NETCOL 1 -BEGIN - PROMPT 20 6 "Colonne " - FIELD EtNColonne -END - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 8 "Etichette sezioni" -END - -STRING AT_ETSFORM 8 -BEGIN - PROMPT 2 9 "Formato " - FIELD EtSFormato - USE LF_FORM - INPUT TIPOPROF AT_ETSFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_ETSFORM TIPOPROF - OUTPUT AT_D_ETSFORM DESC - CHECKTYPE SEARCH -END - -STRING AT_D_ETSFORM 50 -BEGIN - PROMPT 23 9 "" - FLAGS "D" -END - -NUMBER AT_ETSLARG 3 -BEGIN - PROMPT 2 10 "Larghezza " - FIELD EtSLarghezza -END - -NUMBER AT_ETSCOL 1 -BEGIN - PROMPT 20 10 "Colonne " - FIELD EtSColonne -END - -BOOLEAN AT_ETICTOT -BEGIN - PROMPT 2 13 "Stampa totale etichette stampate" - HELP "Stampa una riga di totale etichette stampate in fondo alla stampa" - FIELD EticTot -END - -ENDPAGE - -PAGE "Altre stampe" -1 -1 78 20 - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 0 "Scheda soggetti" -END - -STRING AT_SCHFORM 8 -BEGIN - PROMPT 2 1 "Formato " - FIELD SchFormato - USE LF_FORM - INPUT TIPOPROF AT_SCHFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_SCHFORM TIPOPROF - OUTPUT AT_D_SCHFORM DESC - CHECKTYPE SEARCH -END - -STRING AT_D_SCHFORM 50 -BEGIN - PROMPT 23 1 "" - FLAGS "D" -END - -NUMBER AT_SCHXPAG 1 -BEGIN - PROMPT 2 2 "Numero schede per pagina " - FIELD SchXPag -END - -GROUPBOX DLG_NULL 77 3 -BEGIN - PROMPT 1 4 "Elenco personalizzato" -END - -STRING AT_ELENCO 8 -BEGIN - PROMPT 2 5 "Formato " - FIELD ElencoFormato - USE LF_FORM - INPUT TIPOPROF AT_ELENCO - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_ELENCO TIPOPROF - OUTPUT AT_D_ELENCO DESC - CHECKTYPE SEARCH -END - -STRING AT_D_ELENCO 50 -BEGIN - PROMPT 23 5 "" - FLAGS "D" -END - -GROUPBOX DLG_NULL 77 4 -BEGIN - PROMPT 1 7 "Cartoline per donazione" -END - -STRING AT_CAFORM 8 -BEGIN - PROMPT 2 8 "Formato " - FIELD CaFormato - USE LF_FORM - INPUT TIPOPROF AT_CAFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_CAFORM TIPOPROF - OUTPUT AT_D_CAFORM DESC - CHECKTYPE SEARCH -END - -BOOLEAN AT_CAPARAM -BEGIN - PROMPT 2 9 "Richiesta parametri per stampa cartolina " - HELP "Chiede all'utente i dati da stampare sulla cartolina di convocazione" - FIELD CaParametri -END - -STRING AT_D_CAFORM 50 -BEGIN - PROMPT 23 8 "" - FLAGS "D" -END - -GROUPBOX DLG_NULL 77 3 -BEGIN - PROMPT 1 11 "Tessere" -END - -STRING AT_TEFORM 8 -BEGIN - PROMPT 2 12 "Formato " - FIELD TeFormato - USE LF_FORM - INPUT TIPOPROF AT_TEFORM - DISPLAY "Formato@8" TIPOPROF - DISPLAY "Descrizione@50" DESC - OUTPUT AT_TEFORM TIPOPROF - OUTPUT AT_D_TEFORM DESC - CHECKTYPE SEARCH -END - -STRING AT_D_TEFORM 50 -BEGIN - PROMPT 23 12 "" - FLAGS "D" -END - -BOOLEAN AT_STAMPA80 -BEGIN - PROMPT 2 15 "Stampa elenchi a 80 colonne dove previsto" - HELP "Stampa gli elenchi con il formato 80 colonne dove previsto" - FIELD Stampa80 -END - -ENDPAGE - ENDMASK diff --git a/at/at5400.cpp b/at/at5400.cpp deleted file mode 100755 index 3bc216e4d..000000000 --- a/at/at5400.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include -#include -#include -#include -#include -#include "atlib.h" - -#include "at5.h" - -#include "soggetti.h" -#include "donaz.h" -#include "contsan.h" -#include "idoneita.h" - -class TRiordinaSog : public TApplication -{ - TLocalisamfile* _soggetti; - TLocalisamfile* _donaz; - TLocalisamfile* _contsan; - TLocalisamfile* _idoneita; - TRecord_array* _sdonazioni; - TRecord_array* _scontrolli; - TRecord_array* _sidoneita; - -protected: - virtual bool create(); - virtual bool destroy(); -public: - TRiordinaSog() {} - virtual ~TRiordinaSog() {} -}; - -bool TRiordinaSog::create() -{ - TApplication::create(); - - if (argc() < 3) - return error_box("Specificare il codice del soggetto"); - long codsog = atol(argv(2)); - _soggetti = new TLocalisamfile(LF_SOGGETTI); - _donaz = new TLocalisamfile(LF_DONAZ); - _contsan = new TLocalisamfile(LF_CONTSAN); - _idoneita = new TLocalisamfile(LF_IDONEITA); - _sdonazioni = new TRecord_array(LF_DONAZ,DON_PROGDON); - _scontrolli = new TRecord_array(LF_CONTSAN,CON_PROGCON); - _sidoneita = new TRecord_array(LF_IDONEITA,IDO_PROGIDO); - TConfig config(CONFIG_STUDIO); - const int numdon1 = config.get_int("NumDon1"); - const int numdon2 = config.get_int("NumDon2"); - TString16 catini1 = config.get("CatIni1"); - TString16 catfin1 = config.get("CatFin1"); - TString16 catini2 = config.get("CatIni2"); - TString16 catfin2 = config.get("CatFin2"); - const bool sttess2 = config.get_bool("StTess2"); - const bool dataisc = config.get_bool("DataIsc"); - const int etadonne = config.get_int("EtaDonne"); - const int intsi_f1 = config.get_int("IntSI_F1"); - const int intsi_f2 = config.get_int("IntSI_F2"); - const int intsi_m = config.get_int("IntSI_M"); - const int intaf_m = config.get_int("IntAF_M"); - TRectype soggetto(LF_SOGGETTI); - _soggetti->put(SOG_CODICE, codsog); - if (_soggetti->read() == NOERR) - { - TRectype& sog = _soggetti->curr(); - TRectype* key = new TRectype(LF_DONAZ); - key->put(DON_CODICE, codsog); - int err = _sdonazioni->read(key); - if (err == NOERR) - { - calcola_donazioni_lib(sog, _sdonazioni); - _soggetti->rewrite(); - } - TTable ctd("CTD"); - TString16 catdon = sog.get(SOG_CATDON); - const int totdon = sog.get_int(SOG_TOTDON); - ctd.put("CODTAB",catdon); - if (ctd.read() == NOERR) - { - bool dimissione = ctd.get_bool("B0"); - if (dimissione) - { - sog.put(SOG_CATDON,ctd.get("S6")); - if (ctd.get("S6").not_empty()) - catdon = ctd.get("S6"); - } - if ((catdon == catini1 || catini1.empty()) && (totdon==numdon1) && catfin1.not_empty()) - sog.put(SOG_CATDON, catfin1); - if ((catdon == catini2 || catini2.empty()) && (totdon>=numdon2) && catfin2.not_empty() && (!sttess2 || dimissione)) - sog.put(SOG_CATDON, catfin2); - } - TDate dataiscsog = sog.get_date(SOG_DATAISC); - if (!dataiscsog.ok() && dataisc) - { - if (!sog.get_date(SOG_DATAPRISI) == NULLDATE) - sog.put(SOG_DATAISC,sog.get(SOG_DATAPRISI)); - else - { - const TRectype& riga = _sdonazioni->row(1); - sog.put(SOG_DATAISC,riga.get(DON_DATADON)); - } - } - _soggetti->rewrite(); - } - stop_run(); - return TRUE; -} - -bool TRiordinaSog::destroy() -{ - delete _sidoneita; - delete _scontrolli; - delete _sdonazioni; - delete _idoneita; - delete _contsan; - delete _donaz; - delete _soggetti; - return TApplication::destroy(); -} - -int at5400(int argc, char* argv[]) -{ - TRiordinaSog a; - a.run(argc, argv, "Riordina donazioni soggetto"); - return 0; -} diff --git a/at/at5800.cpp b/at/at5800.cpp deleted file mode 100755 index 3b2286ada..000000000 --- a/at/at5800.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#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() -{ - KEY key = K_ENTER; - while (key != K_QUIT) - { - key = _msk->run(); - if (key == K_ENTER) - { - TDate dataini = _msk->get_date(F_DATAINI); - TDate datafin = _msk->get_date(F_DATAFIN); - } - } -} - -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 deleted file mode 100755 index acd1d7efe..000000000 --- a/at/at5800a.h +++ /dev/null @@ -1,6 +0,0 @@ -// 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 deleted file mode 100755 index 8c1d50e6f..000000000 --- a/at/at5800a.uml +++ /dev/null @@ -1,42 +0,0 @@ -#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