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
This commit is contained in:
parent
3558de0dc4
commit
c060240c84
10
at/at5.cpp
10
at/at5.cpp
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#include "at5.h"
|
#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)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
@ -19,14 +19,10 @@ int main(int argc, char** argv)
|
|||||||
rt = at5200(argc, argv); break;
|
rt = at5200(argc, argv); break;
|
||||||
case 2:
|
case 2:
|
||||||
rt = at5300(argc, argv); break;
|
rt = at5300(argc, argv); break;
|
||||||
case 3:
|
//case 3:
|
||||||
rt = at5400(argc, argv); break;
|
//rt = at5400(argc, argv); break;
|
||||||
case 4:
|
case 4:
|
||||||
rt = at5500(argc, argv); break;
|
rt = at5500(argc, argv); break;
|
||||||
case 5:
|
|
||||||
rt = at5600(argc, argv); break;
|
|
||||||
case 7:
|
|
||||||
rt = at5800(argc, argv); break;
|
|
||||||
default:
|
default:
|
||||||
error_box(usage, argv[0]) ; rt = 1; break;
|
error_box(usage, argv[0]) ; rt = 1; break;
|
||||||
}
|
}
|
||||||
|
6
at/at5.h
6
at/at5.h
@ -1,13 +1,11 @@
|
|||||||
#ifndef __AT5_H
|
#ifndef __AT5_H
|
||||||
#define __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 at5200(int argc, char* argv[]); // situazione sanitaria
|
||||||
int at5300(int argc, char* argv[]); // turni per controlli
|
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 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
|
#endif // __AT5_H
|
||||||
|
|
||||||
|
298
at/at5100.cpp
298
at/at5100.cpp
@ -1,15 +1,301 @@
|
|||||||
#include <confapp.h>
|
#include <form.h>
|
||||||
|
#include <mask.h>
|
||||||
|
#include <printapp.h>
|
||||||
|
#include <utility.h>
|
||||||
|
|
||||||
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:
|
public:
|
||||||
ATParametriSezione() : TConfig_application(CONFIG_STUDIO) {}
|
void crea_intestazione();
|
||||||
virtual ~ATParametriSezione() {}
|
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("at5100a");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TControlloControlli::user_destroy()
|
||||||
|
{
|
||||||
|
delete _msk;
|
||||||
|
delete _rel;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
int at5100(int argc, char* argv[])
|
int at5100(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
ATParametriSezione appc;
|
TControlloControlli a;
|
||||||
appc.run(argc, argv, "Parametri Sezione");
|
a.run(argc, argv, "Stampa di controllo controlli sanitari");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
614
at/at5100a.uml
614
at/at5100a.uml
@ -1,460 +1,180 @@
|
|||||||
#include "at5100a.h"
|
#include "at5100a.h"
|
||||||
|
|
||||||
/* toolbar */
|
PAGE "Stampa di controllo controlli sanitari" -1 -1 78 20
|
||||||
TOOLBAR "" 0 20 0 2
|
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
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
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 10 2
|
BUTTON DLG_QUIT 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -1 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Automatismi" -1 -1 78 20
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 77 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 0 "Primo passaggio di categoria"
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER AT_NUMDON1 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 1 "Donazioni necessarie "
|
|
||||||
HELP "Numero donazioni necessarie per il passaggio"
|
|
||||||
FIELD NumDon1
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_CATINI1 2
|
|
||||||
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
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_CATFIN1 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
|
|
||||||
FLAGS "U"
|
|
||||||
USE MTC
|
|
||||||
INPUT CODTAB AT_MOTIVOID
|
|
||||||
DISPLAY "Codice" CODTAB
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
OUTPUT AT_MOTIVOID CODTAB
|
|
||||||
OUTPUT AT_D_MOTIVOID S0
|
|
||||||
CHECKTYPE NORMAL
|
|
||||||
WARNING "Codice motivo non presente"
|
|
||||||
HELP "Motivo del controllo sanitario"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_D_MOTIVOID 25
|
|
||||||
BEGIN
|
|
||||||
PROMPT 45 18 ""
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN AT_CTRLPASS
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 19 "Accesso ai controlli sanitari con password"
|
|
||||||
HELP "Permette l'inserimento ai controlli sanitari solo con password"
|
|
||||||
FIELD CtrlPass
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_D_CATINI1 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 2 ""
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_D_CATFIN1 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 3 ""
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_D_CATINI2 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 7 ""
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING AT_D_CATFIN2 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 8 ""
|
|
||||||
FLAGS "D"
|
|
||||||
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
|
ENDMASK
|
||||||
|
126
at/at5400.cpp
126
at/at5400.cpp
@ -1,126 +0,0 @@
|
|||||||
#include <applicat.h>
|
|
||||||
#include <recarray.h>
|
|
||||||
#include <relation.h>
|
|
||||||
#include <tabutil.h>
|
|
||||||
#include <utility.h>
|
|
||||||
#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;
|
|
||||||
}
|
|
@ -1,78 +0,0 @@
|
|||||||
#include <applicat.h>
|
|
||||||
#include <mask.h>
|
|
||||||
#include <relation.h>
|
|
||||||
#include <tabutil.h>
|
|
||||||
#include <progind.h>
|
|
||||||
#include <recarray.h>
|
|
||||||
|
|
||||||
#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;
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
// eliminazione convocazioni
|
|
||||||
// definizione campi per maschera di selezione
|
|
||||||
|
|
||||||
#define F_DATAINI 101
|
|
||||||
#define F_DATAFIN 102
|
|
||||||
#define F_NONELIMULTIMA 103
|
|
@ -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
|
|
Loading…
x
Reference in New Issue
Block a user