Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@20268 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f29c1b50d5
commit
5b35dc21d2
159
at/at4900.cpp
Executable file
159
at/at4900.cpp
Executable file
@ -0,0 +1,159 @@
|
||||
#include <mask.h>
|
||||
#include <printapp.h>
|
||||
|
||||
#include "at4.h"
|
||||
#include "atlib.h"
|
||||
|
||||
// nomi dei campi
|
||||
#include "soggetti.h"
|
||||
#include "contsan.h"
|
||||
#include "idoneita.h"
|
||||
|
||||
class TIntSI : public TPrintapp
|
||||
{
|
||||
TMask* _msk;
|
||||
TRelation* _rel;
|
||||
int _cur;
|
||||
TLocalisamfile* _contsan;
|
||||
TRecord_array* _scontrolli;
|
||||
TLocalisamfile* _idoneita;
|
||||
TRecord_array* _sidoneita;
|
||||
|
||||
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:
|
||||
TIntSI() {}
|
||||
};
|
||||
|
||||
HIDDEN inline TIntSI& app() { return (TIntSI&) main_app(); }
|
||||
|
||||
bool TIntSI::preprocess_page(int file, int counter)
|
||||
{
|
||||
TDate oggi(TODAY);
|
||||
bool rewrite = FALSE;
|
||||
TRectype& recsog = current_cursor()->curr();
|
||||
const int intsi = recsog.get_int(SOG_INTSI);
|
||||
if (intsi == 110 || intsi == 120 || intsi == 180 || intsi == 320 || intsi == 360)
|
||||
{
|
||||
if (intsi == 110 || intsi == 120)
|
||||
recsog.put(SOG_INTSI, 100);
|
||||
if (intsi == 180)
|
||||
recsog.put(SOG_INTSI, 160);
|
||||
if (intsi == 320 || intsi == 360)
|
||||
recsog.put(SOG_INTSI, 330);
|
||||
const long codice = recsog.get_long(SOG_CODICE);
|
||||
TRectype* keyc = new TRectype(LF_CONTSAN);
|
||||
keyc->put(CON_CODICE, codice);
|
||||
int err = _scontrolli->read(keyc);
|
||||
TRectype* keyi = new TRectype(LF_IDONEITA);
|
||||
keyi->put(IDO_CODICE, codice);
|
||||
int erri = _sidoneita->read(keyi);
|
||||
if ((err == NOERR || erri == NOERR) && (_scontrolli->rows() > 0 || _sidoneita->rows() > 0))
|
||||
{
|
||||
for (int c=1; c<=_scontrolli->rows(); c++)
|
||||
{
|
||||
TRectype& riga = _scontrolli->row(c, TRUE);
|
||||
int intsi = riga.get_int(CON_INTSI);
|
||||
if (intsi == 110 || intsi == 120)
|
||||
riga.put(CON_INTSI, 100);
|
||||
if (intsi == 180)
|
||||
riga.put(CON_INTSI, 160);
|
||||
if (intsi == 320)
|
||||
riga.put(CON_INTSI, 330);
|
||||
if (intsi == 360)
|
||||
riga.put(CON_INTSI, 330);
|
||||
}
|
||||
/*
|
||||
for (int r=1; r<=_sidoneita->rows(); r++)
|
||||
{
|
||||
TRectype& riga = _sidoneita->row(r, TRUE);
|
||||
const TString16 tipoido = riga.get(IDO_TIPOIDO);
|
||||
if (tipoido == "SI")
|
||||
{
|
||||
int intsi = riga.get_int(IDO_INTERVALLO);
|
||||
if (intsi == 110 || intsi == 120)
|
||||
riga.put(IDO_INTERVALLO, 100);
|
||||
}
|
||||
}
|
||||
*/
|
||||
_scontrolli->rewrite();
|
||||
//_sidoneita->rewrite();
|
||||
con_reord(recsog,_scontrolli, _sidoneita);
|
||||
rewrite = TRUE;
|
||||
}
|
||||
}
|
||||
if (rewrite)
|
||||
{
|
||||
recsog.put(SOG_UTENULTAGG, "PRASSI");
|
||||
recsog.put(SOG_DATAULTAGG, oggi);
|
||||
current_cursor()->file().rewrite();
|
||||
}
|
||||
return rewrite;
|
||||
}
|
||||
|
||||
void TIntSI::set_page(int file, int cnt)
|
||||
{
|
||||
set_row(1,"@0g@pn", FLD(LF_SOGGETTI,SOG_CODICE,"########"));
|
||||
//set_row(1,"@10g@S", FLD(LF_SOGGETTI,SOG_COGNOME));
|
||||
//set_row(1,"@36g@S", FLD(LF_SOGGETTI,SOG_NOME));
|
||||
}
|
||||
|
||||
bool TIntSI::set_print(int)
|
||||
{
|
||||
KEY tasto;
|
||||
tasto = _msk->run();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
TRectype da(LF_SOGGETTI);
|
||||
TRectype a(LF_SOGGETTI);
|
||||
da.zero();
|
||||
a.zero();
|
||||
TString16 codsez = "10";
|
||||
da.put(SOG_CODSEZ, codsez);
|
||||
a.put(SOG_CODSEZ, codsez);
|
||||
current_cursor()->setregion(da,a);
|
||||
//current_cursor()->setfilter(format("SESSO == '1'"));
|
||||
reset_files();
|
||||
add_file(LF_SOGGETTI);
|
||||
reset_print();
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool TIntSI::user_create()
|
||||
{
|
||||
_msk = new TMask("at0900a");
|
||||
_rel = new TRelation(LF_SOGGETTI);
|
||||
_contsan = new TLocalisamfile(LF_CONTSAN);
|
||||
_scontrolli = new TRecord_array(LF_CONTSAN,CON_PROGCON);
|
||||
_idoneita = new TLocalisamfile(LF_IDONEITA);
|
||||
_sidoneita = new TRecord_array(LF_IDONEITA,IDO_PROGIDO);
|
||||
_cur = add_cursor(new TCursor(_rel, "", 3));
|
||||
long items = _rel->lfile().items();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TIntSI::user_destroy()
|
||||
{
|
||||
delete _sidoneita;
|
||||
delete _idoneita;
|
||||
delete _scontrolli;
|
||||
delete _contsan;
|
||||
delete _rel;
|
||||
delete _msk;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int at4900(int argc, char* argv[])
|
||||
{
|
||||
TIntSI a;
|
||||
a.run(argc, argv, "Cambio intervalli donazioni SI");
|
||||
return 0;
|
||||
}
|
14
at/at4900a.uml
Executable file
14
at/at4900a.uml
Executable file
@ -0,0 +1,14 @@
|
||||
PAGE "Cambio intervalli donazioni SI" -1 -1 78 20
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cambio intervalli donazioni SI"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
214
at/at8300.cpp
Executable file
214
at/at8300.cpp
Executable file
@ -0,0 +1,214 @@
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <progind.h>
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "at8.h"
|
||||
|
||||
#include "atlib.h"
|
||||
|
||||
// nomi dei campi
|
||||
#include "soggetti.h"
|
||||
#include "donaz.h"
|
||||
#include "contsan.h"
|
||||
#include "idoneita.h"
|
||||
#include "rconvoc.h"
|
||||
|
||||
class TCTDon2AT : public TApplication
|
||||
{
|
||||
TMask* _msk;
|
||||
TRelation* _rel;
|
||||
|
||||
TLocalisamfile* _soggetti;
|
||||
TLocalisamfile* _donaz;
|
||||
TLocalisamfile* _contsan;
|
||||
TLocalisamfile* _idoneita;
|
||||
TRecord_array* _sdonazioni;
|
||||
TRecord_array* _scontrolli;
|
||||
TRecord_array* _sidoneita;
|
||||
// parametri di sezione
|
||||
int _intsi_f1, _intsi_f2, _intsi_m, _intaf_m, _etadonne;
|
||||
int _numdon1, _numdon2;
|
||||
TString16 _catini1, _catfin1, _catini2, _catfin2, _motivoid;
|
||||
bool _sttess2, _dataisc, _nomessage, _autoid;
|
||||
|
||||
|
||||
protected:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG m);
|
||||
virtual TMask& get_mask() { return *_msk; }
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
|
||||
int write(TSheet_field& s);
|
||||
|
||||
public:
|
||||
TCTDon2AT() {}
|
||||
|
||||
};
|
||||
|
||||
HIDDEN inline TCTDon2AT& app() { return (TCTDon2AT&) main_app(); }
|
||||
|
||||
bool TCTDon2AT::create()
|
||||
{
|
||||
TApplication::create();
|
||||
_msk = new TMask("at8300a");
|
||||
_rel = new TRelation(LF_SOGGETTI);
|
||||
//_rel->add("CTD", "CODTAB==CATDON",1,0,ALIAS_CTD);
|
||||
_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);
|
||||
_numdon1 = config.get_int("NumDon1");
|
||||
_numdon2 = config.get_int("NumDon2");
|
||||
_catini1 = config.get("CatIni1");
|
||||
_catfin1 = config.get("CatFin1");
|
||||
_catini2 = config.get("CatIni2");
|
||||
_catfin2 = config.get("CatFin2");
|
||||
_sttess2 = config.get_bool("StTess2");
|
||||
_dataisc = config.get_bool("DataIsc");
|
||||
_nomessage = config.get_bool("NoMessage");
|
||||
_etadonne = config.get_int("EtaDonne");
|
||||
_intsi_f1 = config.get_int("IntSI_F1");
|
||||
_intsi_f2 = config.get_int("IntSI_F2");
|
||||
_intsi_m = config.get_int("IntSI_M");
|
||||
_intaf_m = config.get_int("IntAF_M");
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TCTDon2AT::destroy()
|
||||
{
|
||||
delete _sidoneita;
|
||||
delete _scontrolli;
|
||||
delete _sdonazioni;
|
||||
delete _idoneita;
|
||||
delete _contsan;
|
||||
delete _donaz;
|
||||
delete _rel;
|
||||
delete _msk;
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
bool TCTDon2AT::menu(MENU_TAG m)
|
||||
{
|
||||
KEY tasto = _msk->run();
|
||||
if (tasto == K_ENTER)
|
||||
{
|
||||
_rel->lfile().setkey(1);
|
||||
bool modificato = FALSE;
|
||||
TDate oggi(TODAY);
|
||||
TRectype recsog = _rel->curr();
|
||||
TExternisamfile* f = new TExternisamfile("$appoggio");
|
||||
TProgind *pi;
|
||||
pi = new TProgind(f->eod(),"Acquisizione dati da CT", FALSE, TRUE, 10);
|
||||
pi->setstatus(1);
|
||||
for(f->first(); !f->eof(); f->next())
|
||||
{
|
||||
pi->addstatus(1);
|
||||
const long codsog = f->get_long("CODICE");
|
||||
recsog.zero();
|
||||
recsog.put(SOG_CODICE, codsog);
|
||||
if (recsog.read(_rel->lfile())==NOERR)
|
||||
{
|
||||
TRectype* key = new TRectype(LF_DONAZ);
|
||||
key->put(DON_CODICE, codsog);
|
||||
int err = _sdonazioni->read(key);
|
||||
if (err == NOERR)
|
||||
{
|
||||
calcola_donazioni_lib(recsog, _sdonazioni);
|
||||
_sdonazioni->rewrite();
|
||||
recsog.rewrite(_rel->lfile());
|
||||
|
||||
TRectype* keyc = new TRectype(LF_CONTSAN);
|
||||
keyc->put(CON_CODICE, codsog);
|
||||
int err = _scontrolli->read(keyc);
|
||||
|
||||
TRectype* keyi = new TRectype(LF_IDONEITA);
|
||||
keyi->put(IDO_CODICE, codsog);
|
||||
err = _sidoneita->read(keyi);
|
||||
|
||||
con_reord(recsog,_scontrolli,_sidoneita);
|
||||
|
||||
recsog.rewrite(_rel->lfile());
|
||||
}
|
||||
TTable ctd("CTD");
|
||||
TString16 catdon = recsog.get(SOG_CATDON);
|
||||
const int totdon = recsog.get_int(SOG_TOTDON);
|
||||
ctd.put("CODTAB",catdon);
|
||||
if (ctd.read() == NOERR)
|
||||
{
|
||||
bool dimissione = ctd.get_bool("B0");
|
||||
if (dimissione)
|
||||
{
|
||||
recsog.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())
|
||||
recsog.put(SOG_CATDON, _catfin1);
|
||||
const bool tstampata = recsog.get_bool(SOG_T_STAMPATA);
|
||||
if ((catdon == _catini2 || _catini2.empty()) && (totdon>=_numdon2) && _catfin2.not_empty() && (!_sttess2 || tstampata))
|
||||
recsog.put(SOG_CATDON, _catfin2);
|
||||
}
|
||||
TDate dataiscsog = recsog.get_date(SOG_DATAISC);
|
||||
if (!dataiscsog.ok() && _dataisc)
|
||||
{
|
||||
if (!recsog.get_date(SOG_DATAPRISI) == NULLDATE)
|
||||
recsog.put(SOG_DATAISC,recsog.get(SOG_DATAPRISI));
|
||||
else
|
||||
{
|
||||
const TRectype& riga = _sdonazioni->row(1);
|
||||
recsog.put(SOG_DATAISC,riga.get(DON_DATADON));
|
||||
}
|
||||
}
|
||||
const TDate dataprossi = recsog.get_date(SOG_DATAPROSSI);
|
||||
const TDate dataconv = recsog.get_date(SOG_DATACONV);
|
||||
const char stato = modstato_tcs(recsog.get(SOG_STATO));
|
||||
const TString16 statosi = recsog.get(SOG_STATOSI);
|
||||
if ((stato == 'S') || (statosi == SOSPENSIONE) || (dataprossi > dataconv) || !dataprossi.ok())
|
||||
{
|
||||
TLocalisamfile rconvoc(LF_RCONVOC);
|
||||
rconvoc.setkey(3);
|
||||
rconvoc.zero();
|
||||
rconvoc.put(RCV_CODICE, recsog.get(SOG_CODICE));
|
||||
rconvoc.put(RCV_DATACONV, recsog.get(SOG_DATACONV));
|
||||
if (rconvoc.read() == NOERR)
|
||||
{
|
||||
rconvoc.put(RCV_ANNULLATO, TRUE);
|
||||
int err = rconvoc.rewrite();
|
||||
}
|
||||
const TDate datanulla(NULLDATE);
|
||||
recsog.put(SOG_DATACONV, datanulla);
|
||||
recsog.put(SOG_DATAULTSOL, datanulla);
|
||||
const int numzero = 0;
|
||||
recsog.put(SOG_NUMCONV,numzero);
|
||||
}
|
||||
recsog.put(SOG_DATAULTAGG, oggi);
|
||||
recsog.put(SOG_UTENULTAGG, "CT");
|
||||
recsog.rewrite(_rel->lfile());
|
||||
}
|
||||
}
|
||||
delete pi;
|
||||
delete f;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int TCTDon2AT::write(TSheet_field& s)
|
||||
{
|
||||
return NOERR;
|
||||
}
|
||||
|
||||
|
||||
int at8300(int argc, char* argv[])
|
||||
{
|
||||
TCTDon2AT a;
|
||||
a.run(argc, argv, "Acquisizione dati da CT");
|
||||
return 0;
|
||||
}
|
13
at/at8300a.uml
Executable file
13
at/at8300a.uml
Executable file
@ -0,0 +1,13 @@
|
||||
PAGE "Acquisizione dati da CT" -1 -1 78 20
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -12 14 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 14 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
147
at/at9700.cpp
Executable file
147
at/at9700.cpp
Executable file
@ -0,0 +1,147 @@
|
||||
#include "at9.h"
|
||||
#include "at9600a.h"
|
||||
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <recset.h>
|
||||
#include <relation.h>
|
||||
|
||||
#include "benem.h"
|
||||
#include "soggetti.h"
|
||||
#include "sezioni.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Maschera
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TSort_benem_mask : public TAutomask
|
||||
{
|
||||
|
||||
public:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
TSort_benem_mask();
|
||||
~TSort_benem_mask();
|
||||
};
|
||||
|
||||
bool TSort_benem_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
TSort_benem_mask::TSort_benem_mask() : TAutomask("at9700a")
|
||||
{
|
||||
}
|
||||
|
||||
TSort_benem_mask::~TSort_benem_mask()
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Applicazione
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TSort_benem_app : public TSkeleton_application
|
||||
{
|
||||
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
|
||||
public:
|
||||
void riordina_benemerenze(const TMask& msk) const;
|
||||
|
||||
};
|
||||
|
||||
static int compare_benem(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
TRectype* r1 = (TRectype*)*o1;
|
||||
TRectype* r2 = (TRectype*)*o2;
|
||||
|
||||
const TString b1(r1->get(BEN_TIPOBEN));
|
||||
const TString b2(r2->get(BEN_TIPOBEN));
|
||||
|
||||
int b=0;
|
||||
if (b1>b2) b=+1;
|
||||
else
|
||||
if (b1<b2) b=-1;
|
||||
return b;
|
||||
}
|
||||
|
||||
void TSort_benem_app::riordina_benemerenze(const TMask& msk) const
|
||||
{
|
||||
//seleziona i soggetti delle sezioni/sottosezioni selezionate
|
||||
TString query;
|
||||
query << "USE SOGGETTI KEY 3\n";
|
||||
query << "FROM CODSEZ=#DACODSEZ CODSOT=#DACODSOT\n";
|
||||
query << "TO CODSEZ=#ACODSEZ CODSOT=#ACODSOT";
|
||||
|
||||
TISAM_recordset soggetti(query);
|
||||
|
||||
const TString4 dacodsez = msk.get(F_SEZINI);
|
||||
const TString4 dacodsot = msk.get(F_SOTINI);
|
||||
const TString4 acodsez = msk.get(F_SEZFIN);
|
||||
const TString4 acodsot = msk.get(F_SOTFIN);
|
||||
|
||||
soggetti.set_var("#DACODSEZ", dacodsez);
|
||||
soggetti.set_var("#ACODSEZ", acodsez);
|
||||
soggetti.set_var("#DACODSOT", dacodsot);
|
||||
soggetti.set_var("#ACODSOT", acodsot);
|
||||
|
||||
//giro sui soggetti selezionati
|
||||
const long items = soggetti.items();
|
||||
TProgind pi(items, "Riordinamento benemerenze...", true, true);
|
||||
|
||||
const TRectype& rec_sog = soggetti.cursor()->curr();
|
||||
for (bool ok = soggetti.move_first(); ok; ok = soggetti.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
//per ogni soggetto deve trovare le benemerenze, di norma ordinate alla cazzo
|
||||
const long codice = rec_sog.get_long(SOG_CODICE);
|
||||
|
||||
TString query_benem;
|
||||
query_benem << "USE BENEM\nFROM CODICE=#CODICE\nTO CODICE=#CODICE";
|
||||
TISAM_recordset benemerenze(query_benem);
|
||||
benemerenze.set_var("#CODICE", codice);
|
||||
const long ben_items = benemerenze.items();
|
||||
|
||||
if (ben_items > 0)
|
||||
{
|
||||
//aggiunge le benemerenze ad un record_array
|
||||
TRecord_array sogg_benem(LF_BENEM, BEN_PROGBEN);
|
||||
TRectype rec_ben(LF_BENEM);
|
||||
rec_ben.put(BEN_CODICE, codice);
|
||||
/*const TRectype& rec_ben = benemerenze.cursor()->curr();
|
||||
for (bool ok = benemerenze.move_first(); ok; ok = benemerenze.move_next())
|
||||
{
|
||||
sogg_benem.add_row(rec_ben);
|
||||
}*/
|
||||
|
||||
sogg_benem.read(rec_ben);
|
||||
//magicamente sorta il record_array!
|
||||
sogg_benem.sort(compare_benem);
|
||||
|
||||
for (int i = 1; i <= sogg_benem.rows(); i++)
|
||||
sogg_benem[i].put(BEN_PROGBEN, i);
|
||||
//ancora più magicamente riscrive le benemerenze in modo ordinato!
|
||||
sogg_benem.rewrite();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void TSort_benem_app::main_loop()
|
||||
{
|
||||
TSort_benem_mask m;
|
||||
while (m.run() == K_ENTER)
|
||||
riordina_benemerenze(m);
|
||||
}
|
||||
|
||||
int at9700(int argc, char* argv[])
|
||||
{
|
||||
TSort_benem_app app;
|
||||
app.run(argc, argv, TR("Riordinamento straordinario benemerenze"));
|
||||
return 0;
|
||||
}
|
11
at/at9700a.h
Executable file
11
at/at9700a.h
Executable file
@ -0,0 +1,11 @@
|
||||
// riordinamento straordinario benemerenze
|
||||
|
||||
#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
|
||||
|
136
at/at9700a.uml
Executable file
136
at/at9700a.uml
Executable file
@ -0,0 +1,136 @@
|
||||
#include "at9700a.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -11 ""
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -11 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Riordinamento straordinario benemerenze" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 4
|
||||
BEGIN
|
||||
PROMPT 1 0 "Scelta sezioni"
|
||||
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 "Cod.sez" CODSEZ
|
||||
DISPLAY "Sottogruppo@25" DENSOT
|
||||
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
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
842
at/at9800.cpp
Executable file
842
at/at9800.cpp
Executable file
@ -0,0 +1,842 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <reprint.h>
|
||||
#include <reputils.h>
|
||||
#include <tabmod.h>
|
||||
#include <textset.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "contsan.h"
|
||||
#include "donaz.h"
|
||||
#include "idoneita.h"
|
||||
#include "rconvoc.h"
|
||||
#include "soggetti.h"
|
||||
|
||||
#include "atlib.h"
|
||||
#include "at9800a.h"
|
||||
////////////////////////////
|
||||
// Maschera
|
||||
////////////////////////////
|
||||
class TImporta_ct_rn_mask : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
public:
|
||||
TImporta_ct_rn_mask();
|
||||
};
|
||||
|
||||
TImporta_ct_rn_mask::TImporta_ct_rn_mask() : TAutomask("at9800a")
|
||||
{
|
||||
}
|
||||
|
||||
bool TImporta_ct_rn_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
||||
{
|
||||
switch (f.dlg())
|
||||
{
|
||||
case F_NAME:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TArray_sheet as(-1, -1, 72, 20, TR("Selezione file"), "File@32");
|
||||
TFilename path = get(F_PATH);
|
||||
path.add("*.txt");
|
||||
list_files(path, as.rows_array());
|
||||
TFilename name;
|
||||
FOR_EACH_ARRAY_ROW(as.rows_array(), i, row)
|
||||
{
|
||||
name = *row;
|
||||
*row = name.name();
|
||||
}
|
||||
if (as.run() == K_ENTER)
|
||||
{
|
||||
f.set(as.row(as.selected()));
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
// Recordset
|
||||
////////////////////////////
|
||||
class TImporta_ct_rn_recordset : public TAS400_recordset
|
||||
{
|
||||
protected:
|
||||
long trova_riga(const TString& key);
|
||||
|
||||
public:
|
||||
TDate get_date(const char* field_name) const;
|
||||
TImporta_ct_rn_recordset(const TFilename& name);
|
||||
};
|
||||
|
||||
//in base al campo decide come ricavare la data; questo perchè quei geni dell'avis producono..
|
||||
//..un file con le date scritte in formato fritto misto!
|
||||
TDate TImporta_ct_rn_recordset::get_date(const char* field_name) const
|
||||
{
|
||||
/*l'unica data scritta in modo civile è la datadon: come non detto! hanno porcato anche questa!
|
||||
if (xvt_str_compare_ignoring_case(field_name, "DATADON") == 0)
|
||||
return get(field_name).as_date();*/
|
||||
|
||||
//le altre sono scritte in modo incivile e vanno girate
|
||||
const TString& str_date = get(field_name).as_string();
|
||||
TDate output_date(atoi(str_date.left(2)), atoi(str_date.mid(2,2)), atoi(str_date.mid(4,4)));
|
||||
return output_date;
|
||||
}
|
||||
|
||||
TImporta_ct_rn_recordset::TImporta_ct_rn_recordset(const TFilename& name)
|
||||
: TAS400_recordset(TString("AS400(180)\nSELECT * FROM ") << name)
|
||||
{
|
||||
create_field("COGNOME", -1, 20, _alfafld, true);
|
||||
create_field("NOME", -1, 20, _alfafld, true);
|
||||
create_field("DATANASC", -1, 8, _alfafld, true);
|
||||
create_field("SESSO", -1, 1, _alfafld, true);
|
||||
create_field("STATO", -1, 8, _alfafld, true);
|
||||
create_field("DATAULTEC", -1, 8, _alfafld, false);
|
||||
create_field("DATADON", -1, 8, _alfafld, true); //unica data scritta a rovescio (cioè corretta!)
|
||||
create_field("TIPOPRE", -1, 8, _alfafld, true);
|
||||
create_field("ANNOUNITA", -1, 4, _intfld, true);
|
||||
create_field("NROUNITA", -1, 6, _intfld, true);
|
||||
create_field("MOTIVOSOSP", -1, 8, _alfafld, false);
|
||||
create_field("SOSPESODAL", -1, 8, _alfafld, false);
|
||||
create_field("SOSPESOAL", -1, 8, _alfafld, false);
|
||||
create_field("LUOGO1", -1, 8, _alfafld, false);
|
||||
create_field("LUOGO2", -1, 8, _alfafld, false);
|
||||
create_field("LUOGO3", -1, 8, _alfafld, true);
|
||||
create_field("LUOGO4", -1, 8, _alfafld, true);
|
||||
create_field("IDONEO_SI", -1, 1, _alfafld, true);
|
||||
create_field("IDONEO_PL", -1, 1, _alfafld, true);
|
||||
create_field("IDONEO_PI", -1, 1, _alfafld, true);
|
||||
create_field("TIPO_ESAME", -1, 8, _alfafld, false);
|
||||
create_field("RISULTATO", -1, 20, _alfafld, false);
|
||||
}
|
||||
|
||||
///////////////////////////////////////
|
||||
// Decodificatore
|
||||
///////////////////////////////////////
|
||||
//classe per la trascodifica lampo dei codici CT in quelli AT..
|
||||
//..(secondo la tabella &C2A)
|
||||
class TDecode_c2a : public TCache
|
||||
{
|
||||
protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
|
||||
public:
|
||||
const TString& decode(const char* code, const char* prefix);
|
||||
};
|
||||
|
||||
TObject* TDecode_c2a::key2obj(const char* key)
|
||||
{
|
||||
TString* str = new TString;
|
||||
|
||||
TModule_table tabmod("AT548C2A");
|
||||
tabmod.put("CODTAB", key);
|
||||
if (tabmod.read() == NOERR)
|
||||
*str = tabmod.get("S6");
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
const TString& TDecode_c2a::decode(const char* code, const char* prefix)
|
||||
{
|
||||
TString16 key;
|
||||
key << prefix << code;
|
||||
key.trim();
|
||||
return *(const TString*)objptr(key);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////
|
||||
// Applicazione
|
||||
////////////////////////////
|
||||
class TImporta_ct_rn : public TSkeleton_application
|
||||
{
|
||||
TImporta_ct_rn_mask* _mask;
|
||||
TLog_report* _log;
|
||||
TDecode_c2a _c2a;
|
||||
TAssoc_array _nocontrol_sezioni;
|
||||
|
||||
private:
|
||||
virtual bool create();
|
||||
virtual void main_loop();
|
||||
|
||||
protected:
|
||||
void msg_no_sog_error(const TImporta_ct_rn_recordset& recset) const;
|
||||
void msg_esame_error(const TImporta_ct_rn_recordset& recset, const TString& tipo, const bool manca) const;
|
||||
void msg_stato_error(const TImporta_ct_rn_recordset& recset, const int tipo,
|
||||
const TString& stato_avis = "", const TString& stato_ct = "") const;
|
||||
void msg_aggiunge_qualcosa(const TRectype& curr_rec) const;
|
||||
const TString& decode(const char* code, const char* prefix);
|
||||
long trova_prossimo(TLocalisamfile& file, const long sog_codice) const;
|
||||
|
||||
public:
|
||||
const TString& decode_stato(const char* code) { return decode(code, "14"); }
|
||||
const TString& decode_prelievo(const char* code) { return decode(code, "19"); }
|
||||
const TString& decode_esame(const char* code) { return decode(code, "32"); }
|
||||
const TString& decode_luogo(const char* code) { return decode(code, "PU"); }
|
||||
void aggiunge_contsan(const TImporta_ct_rn_recordset& recset, const long sog_codice);
|
||||
void aggiunge_donazione(const TImporta_ct_rn_recordset& recset, const long sog_codice);
|
||||
|
||||
bool importa_dati(const TFilename& name);
|
||||
bool controlla_stato_ct_avis(const TImporta_ct_rn_recordset& recset, const long codsog);
|
||||
bool aggiorna_soggetto(const long codsog);
|
||||
};
|
||||
|
||||
|
||||
void TImporta_ct_rn::msg_no_sog_error(const TImporta_ct_rn_recordset& recset) const
|
||||
{
|
||||
TString error_msg;
|
||||
_log->log(2, "DONATORE NON PRESENTE NEGLI ARCHIVI !");
|
||||
error_msg << "Cognome: " << recset.get("COGNOME").as_string() << "\n";
|
||||
error_msg << "Nome: " << recset.get("NOME").as_string() << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Data nascita: " << recset.get_date("DATANASC") << "\n";
|
||||
error_msg << "Sesso: " << recset.get("SESSO").as_string() << "\n";
|
||||
error_msg << "Stato donatore: " << recset.get("STATO").as_string() << "\n";
|
||||
error_msg << "Data donazione: " << recset.get_date("DATADON") << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Tipo prelievo: " << recset.get("TIPOPRE").as_string() << "\n";
|
||||
error_msg << "Data ultimi esami controllo: " << recset.get_date("DATAULTEC") << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Sospeso dal: " << recset.get_date("SOSPESODAL") << " al: " << recset.get_date("SOSPESOAL") << "\n";
|
||||
error_msg << "Motivo sospensione: " << recset.get("MOTIVOSOSP").as_string() << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << " \n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
}
|
||||
|
||||
|
||||
void TImporta_ct_rn::msg_esame_error(const TImporta_ct_rn_recordset& recset, const TString& tipo, bool manca) const
|
||||
{
|
||||
TString error_msg;
|
||||
error_msg << tipo << " NON INSERIBILE !";
|
||||
_log->log(2, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Data: " << recset.get_date("DATADON") << "\n";
|
||||
error_msg << "Tipo: " << recset.get("TIPO_ESAME").as_string() << "\n";
|
||||
if (manca)
|
||||
error_msg << "Manca il codice " << tipo << " corrispondente" << "\n";
|
||||
else
|
||||
error_msg << tipo << " già presente !" << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Cognome: " << recset.get("COGNOME").as_string() << "\n";
|
||||
error_msg << "Nome: " << recset.get("NOME").as_string() << "\n";
|
||||
error_msg << "Data nascita: " << recset.get_date("DATANASC") << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << " \n";
|
||||
_log->log(0, error_msg);
|
||||
}
|
||||
|
||||
void TImporta_ct_rn::msg_stato_error(const TImporta_ct_rn_recordset& recset, const int tipo,
|
||||
const TString& stato_avis, const TString& stato_ct) const
|
||||
{
|
||||
TString error_msg;
|
||||
switch (tipo)
|
||||
{
|
||||
case 0:
|
||||
error_msg << "STATO DONATORE NON PRESENTE IN TABELLA" << "\n";
|
||||
error_msg << "Stato: " << recset.get("STATO").as_string() << "\n";
|
||||
break;
|
||||
case 1:
|
||||
error_msg << "STATO DONATORE AVIS DIVERSO DA CT - VERIFICARE" << "\n";
|
||||
error_msg << "- AVIS: " << stato_avis << "\n";
|
||||
error_msg << "- CT: " << stato_ct << "\n";
|
||||
break;
|
||||
case 2:
|
||||
error_msg << "SOGGETTO DICHIARATO IDONEO DAL CT SENZA TIPI DI DONAZIONE" << "\n";
|
||||
break;
|
||||
case 3:
|
||||
error_msg << "SOGGETTO DICHIARATO DECEDUTO DA CT - VERIFICARE" << "\n";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
_log->log(2, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << "Cognome: " << recset.get("COGNOME").as_string() << "\n";
|
||||
error_msg << "Nome: " << recset.get("NOME").as_string() << "\n";
|
||||
error_msg << "Data nascita: " << recset.get_date("DATANASC") << "\n";
|
||||
_log->log(0, error_msg);
|
||||
error_msg.cut(0);
|
||||
|
||||
error_msg << " \n";
|
||||
_log->log(0, error_msg);
|
||||
}
|
||||
|
||||
//metodo per scrivere sul log le avvenute registrazioni di donazioni e controlli
|
||||
void TImporta_ct_rn::msg_aggiunge_qualcosa(const TRectype& curr_rec) const
|
||||
{
|
||||
const bool is_donaz = curr_rec.num() == LF_DONAZ;
|
||||
const char* tipo = is_donaz ? "DONAZIONE" : "ESAME";
|
||||
TString msg;
|
||||
msg << "INSERIMENTO " << tipo << "\n";
|
||||
_log->log(2, msg);
|
||||
msg.cut(0);
|
||||
//data
|
||||
const TDate data = is_donaz ? curr_rec.get_date(DON_DATADON) : curr_rec.get_date(CON_DATACON);
|
||||
msg << "Data: " << data.string() << "\n";
|
||||
//tipo
|
||||
const TString& tipodon = is_donaz ? curr_rec.get(DON_TIPODON) : curr_rec.get(CON_TIPOCON);
|
||||
msg << "Tipo: " << tipodon << "\n";
|
||||
//luogo
|
||||
if (is_donaz)
|
||||
{
|
||||
const TString& cod_luogo = curr_rec.get(DON_LUOGODON);
|
||||
const TString& descr_luogo = cache().get("LDN", cod_luogo, "S0");
|
||||
msg << "Luogo: " << cod_luogo << " - " << descr_luogo << "\n";
|
||||
}
|
||||
_log->log(0, msg);
|
||||
msg.cut(0);
|
||||
//progressivo
|
||||
const int progressivo = is_donaz ? curr_rec.get_int(DON_PROGDON) : curr_rec.get_int(CON_PROGCON);
|
||||
msg << "Prog. don.: " << progressivo << "\n";
|
||||
//soggetto
|
||||
const long codsog = is_donaz ? curr_rec.get_long(DON_CODICE) : curr_rec.get_long(CON_CODICE);
|
||||
const TRectype& recsog = cache().get(LF_SOGGETTI, codsog);
|
||||
msg << "Cognome: " << recsog.get(SOG_COGNOME) << "\n";
|
||||
msg << "Nome: " << recsog.get(SOG_NOME) << "\n";
|
||||
msg << "Data nascita: " << recsog.get_date(SOG_DATANASC) << "\n";
|
||||
_log->log(0, msg);
|
||||
msg.cut(0);
|
||||
msg << " \n";
|
||||
_log->log(0, msg);
|
||||
}
|
||||
|
||||
//decodifica sulla tabella C2A (utilizza la classe apposita creata in precedenza)
|
||||
const TString& TImporta_ct_rn::decode(const char* code, const char* prefix)
|
||||
{
|
||||
return _c2a.decode(code, prefix);
|
||||
}
|
||||
|
||||
|
||||
static int compare_date(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
const TRectype& s1 = *((TRectype*)*o1);
|
||||
const TRectype& s2 = *((TRectype*)*o2);
|
||||
|
||||
const TDate d1(s1.get(IDO_DATAIDO));
|
||||
const TDate d2(s2.get(IDO_DATAIDO));
|
||||
|
||||
int d = d1 - d2;
|
||||
return d;
|
||||
}
|
||||
|
||||
//metodo per cercare l'ultimo record di un soggetto in un file tipo donaz e contsan
|
||||
long TImporta_ct_rn::trova_prossimo(TLocalisamfile& file, const long sog_codice) const
|
||||
{
|
||||
long next = 1;
|
||||
|
||||
file.put("CODICE", sog_codice + 1); //Guy mi perdoni se non uso la macro!
|
||||
int err = file.read(_isgteq);
|
||||
if (err == NOERR)
|
||||
err = file.read(_isprev);
|
||||
else
|
||||
{
|
||||
if (err == _iseof)
|
||||
err = file.read(_islast);
|
||||
}
|
||||
if (err == NOERR && file.get_long("CODICE") == sog_codice) //Mi riperdoni!
|
||||
{
|
||||
const int filenum = file.num(); //Qui si rischia il linciaggio...
|
||||
if (filenum == LF_CONTSAN)
|
||||
next += file.get_long(CON_PROGCON);
|
||||
if (filenum == LF_DONAZ)
|
||||
next += file.get_long(DON_PROGDON);
|
||||
}
|
||||
|
||||
return next;
|
||||
}
|
||||
|
||||
//confronto stato donatore avis con quello ct
|
||||
bool TImporta_ct_rn::controlla_stato_ct_avis(const TImporta_ct_rn_recordset& recset, const long codsog)
|
||||
{
|
||||
//stato_ct = stato preso da file da importare
|
||||
//stato_at = stato_ct decodificato per avis in base alla tabella di trascodifica
|
||||
//stato_attuale = stato sul record del soggetto nel file dei soggetti
|
||||
const TString& stato_ct = recset.get("STATO").as_string();
|
||||
if (stato_ct.full())
|
||||
{
|
||||
const TString& stato_at = decode_stato(stato_ct);
|
||||
//se non riesce a decodificare lo stato avverte ed esce
|
||||
if (stato_at.blank())
|
||||
msg_stato_error(recset, 0);
|
||||
else
|
||||
{
|
||||
TLocalisamfile soggetti(LF_SOGGETTI);
|
||||
soggetti.put(SOG_CODICE, codsog);
|
||||
int err = soggetti.read();
|
||||
if (err == NOERR) //e non possiamo aspettarci altro che NOERR, visto che il controllo lo ha già fatto prima
|
||||
{
|
||||
const TString& stato_attuale = soggetti.get(SOG_STATO);
|
||||
//se lo stato sul record del soggetto risulta != dallo stato sul file adesso decodificato..
|
||||
//..procede al casino infernale dell'allineamento stati
|
||||
//Questo casino può però farlo solo nel caso la sezione ammetta controlli;in caso contrario..
|
||||
//..deve semplicemente abbandonare la questione dando segnalazione dell'incongruenza tra gli..
|
||||
//..stati avis e ct (incongruenza che non può essere corretta causa la proprietà della sezione).
|
||||
if (stato_at != stato_attuale)
|
||||
{
|
||||
const TString& sog_sez = soggetti.get(SOG_CODSEZ);
|
||||
const bool sez_no_controlli = _nocontrol_sezioni.is_key(sog_sez);
|
||||
//controlla se la sezione ammette i controlli
|
||||
if (!sez_no_controlli)
|
||||
{
|
||||
//verifica se deve veramente elaborare il tutto o no
|
||||
//Per prima cosa verifica se lo stato comporta una idoneità/sospensione/donazionabilità
|
||||
//Deve controllare sulla tabella di trascodifica il campo S7
|
||||
TModule_table tabmod("AT548C2A");
|
||||
TString key;
|
||||
key << "14" << stato_ct;
|
||||
key.trim();
|
||||
tabmod.put("CODTAB", key);
|
||||
TString4 i_s_d; //non è una droga, ma idoneità_sospensione_donatoreabile
|
||||
if (tabmod.read() == NOERR)
|
||||
i_s_d = tabmod.get("S7");
|
||||
|
||||
//controlla se sono state passate via file da importare una o più idoneità
|
||||
const TString& ido_si = recset.get("IDONEO_SI").as_string();
|
||||
const TString& ido_pl = recset.get("IDONEO_PL").as_string();
|
||||
const TString& ido_pi = recset.get("IDONEO_PI").as_string();
|
||||
|
||||
//nessuno stato con idoneità -> salta
|
||||
if (i_s_d[0] == 'I' && ido_si[0] != 'S' && ido_pl[0] != 'S' && ido_pi[0] != 'S')
|
||||
msg_stato_error(recset, 2);
|
||||
else
|
||||
{
|
||||
//giro sui contsan del soggetto
|
||||
//per prima cosa cerca se già esiste un contsan in data letta dal recset
|
||||
TDate datacon = recset.get_date("DATADON");
|
||||
TLocalisamfile contsan(LF_CONTSAN);
|
||||
contsan.setkey(2);
|
||||
contsan.put(CON_DATACON, datacon);
|
||||
contsan.put(CON_CODICE, codsog);
|
||||
int err = contsan.read();
|
||||
//se esiste deve spostare di un giorno in avanti la data del controllo da inserire
|
||||
if (err == NOERR)
|
||||
++datacon;
|
||||
const long next_contsan = trova_prossimo(contsan, codsog);
|
||||
|
||||
//dopo essersi posizionato correttamente, agiunge il contsan
|
||||
contsan.zero();
|
||||
contsan.put(CON_CODICE, codsog);
|
||||
contsan.put(CON_PROGCON, next_contsan);
|
||||
contsan.put(CON_DATACON, datacon);
|
||||
contsan.put(CON_TIPOCON, stato_at);
|
||||
contsan.put(CON_RESPONSAB, "AGGIORNAMENTO DA CENTRO TRASF.");
|
||||
|
||||
//campi speciali in base a parametri allucinanti
|
||||
//se il soggetto è dichiarato idoneo...
|
||||
if (i_s_d[0] == 'I')
|
||||
{
|
||||
int ido_num = 0; //questa è da seguire perchè esempio di mentalità contorta!
|
||||
TString8 nome_campo_ido;
|
||||
|
||||
//idoneità SI
|
||||
if (ido_si[0] == 'S')
|
||||
{
|
||||
ido_num++;
|
||||
nome_campo_ido.format("IDON%d", ido_num);
|
||||
contsan.put(nome_campo_ido, "SI");
|
||||
if (soggetti.get_int(SOG_INTSI) == 0)
|
||||
{
|
||||
if (soggetti.get_int(SOG_SESSO) == 1)
|
||||
contsan.put(CON_INTSI, 94);
|
||||
else
|
||||
contsan.put(CON_INTSI, 180);
|
||||
}
|
||||
}
|
||||
//idoneità PL-AF
|
||||
if (ido_pl[0] == 'S')
|
||||
{
|
||||
ido_num++;
|
||||
nome_campo_ido.format("IDON%d", ido_num);
|
||||
contsan.put(nome_campo_ido, "PL");
|
||||
const int intaf = soggetti.get_int(SOG_INTAF);
|
||||
if (intaf == 0)
|
||||
contsan.put(CON_INTAF, 30);
|
||||
else
|
||||
contsan.put(CON_INTAF, intaf);
|
||||
}
|
||||
|
||||
//idoneità PI
|
||||
if (ido_pi[0] == 'S')
|
||||
{
|
||||
ido_num++;
|
||||
nome_campo_ido.format("IDON%d", ido_num);
|
||||
contsan.put(nome_campo_ido, "PI");
|
||||
if (contsan.get_int(CON_INTAF) == 0)
|
||||
{
|
||||
const int intaf = soggetti.get_int(SOG_INTAF);
|
||||
if (intaf == 0)
|
||||
contsan.put(CON_INTAF, 30);
|
||||
else
|
||||
contsan.put(CON_INTAF, intaf);
|
||||
}
|
||||
}
|
||||
} //if (i_s_d[0] == 'I' &&...
|
||||
//e alla fine della storia scrive il record!
|
||||
err = contsan.write();
|
||||
|
||||
//comunque sia, effettua il controllo della morte del soggetto
|
||||
//Ebbene si, anche se lo ha aggiornato, non si sa mai che risorga...
|
||||
const bool sog_kaputt = tabmod.get_bool("B1");
|
||||
if (sog_kaputt)
|
||||
msg_stato_error(recset, 3);
|
||||
}
|
||||
}
|
||||
else //if (!sez_no_controlli)...
|
||||
{
|
||||
msg_stato_error(recset, 1, stato_at, stato_attuale);
|
||||
} ////if (!sez_no_controlli)...
|
||||
} //if (stato_at != stato_attuale)...
|
||||
} //if (err == NOERR)...
|
||||
} //if (stato_at.blank())..
|
||||
} //if (stato_ct.full())...
|
||||
return true;
|
||||
}
|
||||
|
||||
//aggiorna i files di atwin (donazioni,idoneità,controlli,soggetti) del..
|
||||
//..soggetto di cui ha importato donazione o contsan
|
||||
bool TImporta_ct_rn::aggiorna_soggetto(const long codsog)
|
||||
{
|
||||
TLocalisamfile soggetti(LF_SOGGETTI);
|
||||
TRectype& recsog = soggetti.curr();
|
||||
recsog.put(SOG_CODICE, codsog);
|
||||
int err = soggetti.read();
|
||||
//se non trova il soggetto c'è qualcosa che non quadra ed esce (impossibile)
|
||||
if (err != NOERR)
|
||||
return false;
|
||||
|
||||
//codice del soggetto in formato alfanumerico per i TRecord_array
|
||||
const TString8 sog_codice = recsog.get(SOG_CODICE);
|
||||
|
||||
//riordino delle donazioni
|
||||
TRecord_array sdonazioni(sog_codice, LF_DONAZ);
|
||||
calcola_donazioni_lib(recsog, &sdonazioni);
|
||||
sdonazioni.rewrite();
|
||||
|
||||
//riordino delle idoneità
|
||||
TRecord_array sidoneita(sog_codice, LF_IDONEITA);
|
||||
sidoneita.sort(compare_date);
|
||||
sidoneita.rewrite();
|
||||
|
||||
//riordino dei controlli
|
||||
TRecord_array scontrolli(sog_codice, LF_CONTSAN);
|
||||
if (scontrolli.rows() > 0 || sidoneita.rows() > 0)
|
||||
con_reord(recsog, &scontrolli, &sidoneita);
|
||||
|
||||
//riordino del soggetto
|
||||
TConfig config(CONFIG_STUDIO);
|
||||
const bool dataisc = config.get_bool("DataIsc");
|
||||
|
||||
TDate dataiscsog = recsog.get_date(SOG_DATAISC);
|
||||
if (!dataiscsog.ok() && dataisc)
|
||||
{
|
||||
if (!recsog.get_date(SOG_DATAPRISI) == NULLDATE)
|
||||
recsog.put(SOG_DATAISC, recsog.get(SOG_DATAPRISI));
|
||||
else
|
||||
{
|
||||
const TRectype& riga = sdonazioni.row(1);
|
||||
recsog.put(SOG_DATAISC, riga.get(DON_DATADON));
|
||||
}
|
||||
} //if (!dataiscsog.ok()...
|
||||
|
||||
//riordino convocazioni
|
||||
const TDate dataprossi = recsog.get_date(SOG_DATAPROSSI);
|
||||
const TDate dataconv = recsog.get_date(SOG_DATACONV);
|
||||
const char stato = modstato_tcs(recsog.get(SOG_STATO));
|
||||
const TString& statosi = recsog.get(SOG_STATOSI);
|
||||
if ((stato == 'S') || (statosi == SOSPENSIONE) || (dataprossi > dataconv) || !dataprossi.ok())
|
||||
{
|
||||
TLocalisamfile rconvoc(LF_RCONVOC);
|
||||
rconvoc.setkey(3);
|
||||
rconvoc.zero();
|
||||
rconvoc.put(RCV_CODICE, recsog.get(SOG_CODICE));
|
||||
rconvoc.put(RCV_DATACONV, recsog.get(SOG_DATACONV));
|
||||
if (rconvoc.read() == NOERR)
|
||||
{
|
||||
rconvoc.put(RCV_ANNULLATO, TRUE);
|
||||
rconvoc.write();
|
||||
}
|
||||
|
||||
recsog.zero(SOG_DATACONV);
|
||||
recsog.zero(SOG_DATAULTSOL);
|
||||
recsog.zero(SOG_NUMCONV);
|
||||
|
||||
} //if(stato=='S'...
|
||||
recsog.put(SOG_DATAULTAGG, TDate(TODAY));
|
||||
recsog.put(SOG_UTENULTAGG, "CONVE");
|
||||
|
||||
//e alla fine riscrive il file dei soggetti
|
||||
soggetti.rewrite();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void TImporta_ct_rn::aggiunge_contsan(const TImporta_ct_rn_recordset& recset, const long sog_codice)
|
||||
{
|
||||
//cerca, per il soggetto in questione, quale è l'ultimo controllo sanitario e aggiunge quello nuovo
|
||||
TLocalisamfile contsan(LF_CONTSAN);
|
||||
const long next_contsan = trova_prossimo(contsan, sog_codice);
|
||||
|
||||
//dopo essersi posizionato correttamente, agiunge il contsan
|
||||
contsan.zero();
|
||||
contsan.put(CON_CODICE, sog_codice);
|
||||
contsan.put(CON_PROGCON, next_contsan);
|
||||
const TDate& dataesame = recset.get_date("DATADON");
|
||||
contsan.put(CON_DATACON, dataesame);
|
||||
const TString& tipopre = decode_prelievo(recset.get("TIPOPRE").as_string());
|
||||
contsan.put(CON_TIPOCON, tipopre);
|
||||
contsan.put(CON_RESPONSAB, "AGGIORNAMENTO DA CENTRO TRASF.");
|
||||
|
||||
int err = contsan.write();
|
||||
//se riesce a scrivere il nuovo contsan, aggiorna il log ed il soggetto
|
||||
if (err == NOERR)
|
||||
msg_aggiunge_qualcosa(contsan.curr());
|
||||
}
|
||||
|
||||
|
||||
void TImporta_ct_rn::aggiunge_donazione(const TImporta_ct_rn_recordset& recset, const long sog_codice)
|
||||
{
|
||||
//cerca, per il soggetto in questione, quale è l'ultima donazione e aggiunge quella nuova
|
||||
TLocalisamfile donaz(LF_DONAZ);
|
||||
const long next_donaz = trova_prossimo(donaz, sog_codice);
|
||||
|
||||
//dopo essersi posizionato correttamente, agiunge la donazione
|
||||
donaz.zero();
|
||||
donaz.put(DON_CODICE, sog_codice);
|
||||
donaz.put(DON_PROGDON, next_donaz);
|
||||
const TDate& dataesame = recset.get_date("DATADON");
|
||||
donaz.put(DON_DATADON, dataesame);
|
||||
const TString& tipopre = decode_prelievo(recset.get("TIPOPRE").as_string());
|
||||
donaz.put(DON_TIPODON, tipopre);
|
||||
const int unita = recset.get("NROUNITA").as_int();
|
||||
donaz.put(DON_ETICHETTA, unita);
|
||||
//controllo soggetto-sezione-sottosezione
|
||||
TLocalisamfile soggetti(LF_SOGGETTI);
|
||||
soggetti.put(SOG_CODICE, sog_codice);
|
||||
int err = soggetti.read();
|
||||
if (err == NOERR) //dovrebbe esserlo sempre, perchè il controllo è stato fatto all'inizio di elabora
|
||||
{
|
||||
const TString& codsez = soggetti.get(SOG_CODSEZ);
|
||||
donaz.put(DON_CODSEZ, codsez);
|
||||
const TString& codsot = soggetti.get(SOG_CODSOT);
|
||||
donaz.put(DON_CODSOT, codsot);
|
||||
}
|
||||
//caso della prima donazione (donatore vergine e martire)
|
||||
if (next_donaz == 1 && soggetti.get_int(SOG_DONPRECSI) == 0 && soggetti.get_int(SOG_DONPRECAF) == 0)
|
||||
donaz.put(DON_PRIMADON, 'X');
|
||||
|
||||
//controllo del luogo donazione
|
||||
const TString& luogodon2 = decode_luogo(recset.get("LUOGO2").as_string());
|
||||
if (luogodon2.full())
|
||||
donaz.put(DON_LUOGODON, luogodon2);
|
||||
else
|
||||
{
|
||||
const TString& luogodon4 = decode_luogo(recset.get("LUOGO4").as_string());
|
||||
if (luogodon4.full())
|
||||
donaz.put(DON_LUOGODON, luogodon4);
|
||||
else
|
||||
donaz.put(DON_LUOGODON, "1A");
|
||||
}
|
||||
|
||||
err = donaz.write();
|
||||
//se riesce a scrivere la nuova donazione, aggiorna il log ed il soggetto
|
||||
if (err == NOERR)
|
||||
msg_aggiunge_qualcosa(donaz.curr());
|
||||
}
|
||||
|
||||
|
||||
bool TImporta_ct_rn::importa_dati(const TFilename& name)
|
||||
{
|
||||
//lista sezioni senza controlli (viene riempita una volta per tutte all'inizio)
|
||||
//è qui e non nella create perchè dopo una esecuzione del programma si potrebbe modificare..
|
||||
//..la lista delle sezioni (non capita da 15 anni, però non si sa mai...)
|
||||
TSheet_field& sf_nocontrol_sez = _mask->sfield(F_SEZIONI);
|
||||
const int righe_sheet = sf_nocontrol_sez.items();
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf_nocontrol_sez, i, row)
|
||||
{
|
||||
TString4 sh_sezione = row->get(0);
|
||||
_nocontrol_sezioni.add(sh_sezione, sh_sezione);
|
||||
}
|
||||
|
||||
//recordset di importazione
|
||||
TImporta_ct_rn_recordset recset(name);
|
||||
TLocalisamfile soggetti(LF_SOGGETTI);
|
||||
soggetti.setkey(2);
|
||||
|
||||
TProgind pi(recset.items(), TR("Importazione dati da file..."), true, true);
|
||||
|
||||
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
//ciclo di importazione e controllo dati
|
||||
//va ricavato dalla procedura foxprow dacentro.prg
|
||||
|
||||
//CONTROLLO ESISTENZA DEL SOGGETTO
|
||||
//--------------------------------
|
||||
TString80 sog_cognome = recset.get("COGNOME").as_string();
|
||||
sog_cognome.trim();
|
||||
TString80 sog_nome = recset.get("NOME").as_string();
|
||||
sog_nome.trim();
|
||||
TDate sog_datanasc = recset.get_date("DATANASC");
|
||||
|
||||
//cerca il soggetto nel file dei soggetti
|
||||
soggetti.put(SOG_COGNOME, sog_cognome);
|
||||
soggetti.put(SOG_NOME, sog_nome);
|
||||
soggetti.put(SOG_DATANASC, sog_datanasc);
|
||||
|
||||
int err = soggetti.read();
|
||||
//se trova il soggetto in anagrafica parte con l'elaborazione...
|
||||
if (err == NOERR)
|
||||
{
|
||||
const long sog_codice = soggetti.get_long(SOG_CODICE);
|
||||
|
||||
//controllo il tipo di prelievo nella tabella di modulo avis C2A
|
||||
//il tipoprelievo è nella subtabella 19
|
||||
const TString& at_tipopre = decode_prelievo(recset.get("TIPOPRE").as_string());
|
||||
|
||||
//ESAMI E CONTROLLI SANITARI
|
||||
//--------------------------
|
||||
//se il tipoprelievo è in realtà un esame..
|
||||
if (at_tipopre == "****")
|
||||
{
|
||||
//controlla se la sez del soggetto rifiuta i controlli (lista sezioni sullo sheet)
|
||||
const TString& sog_sez = soggetti.get(SOG_CODSEZ);
|
||||
const bool sez_no_controlli = _nocontrol_sezioni.is_key(sog_sez);
|
||||
//se la sezione ammette i controlli
|
||||
if (!sez_no_controlli)
|
||||
{
|
||||
const TString& at_tipoesame = decode_esame(recset.get("TIPO_ESAME").as_string());
|
||||
//se non c'è una decodifica dell'esame avverte sul log
|
||||
if (at_tipoesame.blank())
|
||||
msg_esame_error(recset, "CONTROLLO", true);
|
||||
else
|
||||
//controlla se l'esame (detto controllo sanitario in gergo vampiresco) è già stato..
|
||||
//..inserito oppure lo aggiunge al file dei controlli sanitari
|
||||
{
|
||||
const TDate& datadon = recset.get_date("DATADON");
|
||||
|
||||
TLocalisamfile contsan(LF_CONTSAN);
|
||||
contsan.setkey(2);
|
||||
contsan.put(CON_DATACON, datadon);
|
||||
contsan.put(CON_CODICE, sog_codice);
|
||||
err = contsan.read();
|
||||
//se trova il controllo nella lista segnala che esiste già..
|
||||
if (err == NOERR)
|
||||
msg_esame_error(recset, "CONTROLLO", false);
|
||||
else //sennò aggiunge il controllo sanitario..olè!
|
||||
{
|
||||
aggiunge_contsan(recset, sog_codice);
|
||||
}
|
||||
}
|
||||
} //if(!sez_no_controlli...
|
||||
} //if(at_tipopre=="**..
|
||||
|
||||
//DONAZIONI
|
||||
//---------
|
||||
else
|
||||
{
|
||||
//se non c'è una decodifica della donazione avverte sul log
|
||||
if (at_tipopre.blank())
|
||||
msg_esame_error(recset, "DONAZIONE", true);
|
||||
else
|
||||
{
|
||||
const TDate& datadon = recset.get_date("DATADON");
|
||||
const long sog_codice = soggetti.get_long(SOG_CODICE);
|
||||
|
||||
TLocalisamfile donaz(LF_DONAZ);
|
||||
donaz.setkey(2);
|
||||
donaz.put(DON_DATADON, datadon);
|
||||
donaz.put(DON_CODICE, sog_codice);
|
||||
err = donaz.read();
|
||||
|
||||
//se trova la donazione nella lista segnala che esiste già..
|
||||
if (err == NOERR)
|
||||
msg_esame_error(recset, "DONAZIONE", false);
|
||||
else //sennò aggiunge la donazione..olè!
|
||||
{
|
||||
aggiunge_donazione(recset, sog_codice);
|
||||
}
|
||||
} //else di if (at_tipopre.blank())
|
||||
} //else di if(at_tipopre=="**
|
||||
|
||||
//indipendentemente da ogni cosa controlla contsan avis/ct per lo stato donatore
|
||||
controlla_stato_ct_avis(recset, sog_codice);
|
||||
//aggiorna tutti i files legati al soggetto
|
||||
aggiorna_soggetto(sog_codice);
|
||||
|
||||
}
|
||||
else //if(err==NOERR)...se non trova il soggetto lo deve aggiungere? Per adesso si incazza e avverte l'operatore
|
||||
msg_no_sog_error(recset);
|
||||
|
||||
} //for (bool ok = recset.move_first...
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TImporta_ct_rn::main_loop()
|
||||
{
|
||||
_mask = new TImporta_ct_rn_mask;
|
||||
|
||||
if (_mask->run() == K_ENTER)
|
||||
{
|
||||
//ricava il nome del file da importare
|
||||
TFilename name = _mask->get(F_PATH);
|
||||
name.add(_mask->get(F_NAME));
|
||||
//crea il log di importazione
|
||||
_log = new TLog_report("SEGNALAZIONI IMPORTAZIONE");
|
||||
|
||||
//importazione dati ed elaborazione soggetti
|
||||
if (importa_dati(name))
|
||||
{
|
||||
const int items = _log->recordset()->items();
|
||||
if (items > 0)
|
||||
_log->preview();
|
||||
message_box(TR("Importazione file completata"));
|
||||
}
|
||||
|
||||
delete _log;
|
||||
_log = NULL;
|
||||
}
|
||||
|
||||
delete _mask;
|
||||
_mask = NULL;
|
||||
}
|
||||
|
||||
bool TImporta_ct_rn::create()
|
||||
{
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
|
||||
int at9800(int argc, char* argv[])
|
||||
{
|
||||
TImporta_ct_rn app;
|
||||
app.run(argc, argv, "Importazione da CT Rimini");
|
||||
return 0;
|
||||
}
|
8
at/at9800a.h
Executable file
8
at/at9800a.h
Executable file
@ -0,0 +1,8 @@
|
||||
//campi maschera at9800a.uml
|
||||
|
||||
#define F_PATH 201
|
||||
#define F_NAME 202
|
||||
#define F_SEZIONI 203
|
||||
|
||||
#define SF_CODSEZ 101
|
||||
#define SF_DESCR 102
|
98
at/at9800a.uml
Executable file
98
at/at9800a.uml
Executable file
@ -0,0 +1,98 @@
|
||||
#include "at9800a.h"
|
||||
|
||||
PAGE "Importazione da CT - Rimini" -1 -1 80 13
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bfile da importare"
|
||||
END
|
||||
|
||||
STRING F_PATH 256 60
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cartella "
|
||||
DSELECT
|
||||
FLAGS "M"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_NAME 12
|
||||
BEGIN
|
||||
PROMPT 2 3 "File (*.txt)"
|
||||
FLAGS "B"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 5 "@bSezioni che non importano i controlli"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SEZIONI -1 5
|
||||
BEGIN
|
||||
PROMPT 2 6 "@bSezioni"
|
||||
ITEM "Codice"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
STRING DLG_PROFILE 256 60
|
||||
BEGIN
|
||||
PROMPT 2 -1 "Profilo "
|
||||
PSELECT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <stdbar.h>
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
//maschera di riga
|
||||
PAGE "Sezione" -1 -1 78 8
|
||||
|
||||
STRING SF_CODSEZ 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice "
|
||||
USE LF_SEZIONI
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODSEZ SF_CODSEZ
|
||||
DISPLAY "Codice" CODSEZ
|
||||
DISPLAY "Descrizione@25" DENSEZ
|
||||
OUTPUT SF_CODSEZ CODSEZ
|
||||
OUTPUT SF_DESCR DENSEZ
|
||||
FLAGS "UZ"
|
||||
END
|
||||
|
||||
STRING SF_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 1 3 "Descrizione "
|
||||
USE LF_SEZIONI KEY 2
|
||||
INPUT S0 SF_DESCR
|
||||
DISPLAY "Descrizione@50" DENSEZ
|
||||
DISPLAY "Codice" CODSEZ
|
||||
COPY OUTPUT SF_CODSEZ
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
47
at/atstctd.rep
Executable file
47
at/atstctd.rep
Executable file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstctd" name="atstctd" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella categorie donatori">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="68" y="3" type="Testo" width="12" text="Dimissione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="CTD.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
<field x="69" type="Stringa" align="right" width="2">
|
||||
<source>B0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE CTD
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstctd.uml
Executable file
36
at/atstctd.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella categorie donatori" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE CTD
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstctn.rep
Executable file
41
at/atstctn.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstctn" name="atstctn" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella categorie NON donatori">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="CTN.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE CTN
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstctn.uml
Executable file
36
at/atstctn.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella categorie NON donatori" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE CTN
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstgaz.rep
Executable file
41
at/atstgaz.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstgaz" name="atstgaz" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella gruppi aziendali">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="GAZ.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE GAZ
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstgaz.uml
Executable file
36
at/atstgaz.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella gruppi aziendali" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE GAZ
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
60
at/atstlcp.rep
Executable file
60
at/atstlcp.rep
Executable file
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstlcp" name="atstlcp" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella localit&#E0; postali">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="25" text="Denominazione localit&#E0;">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="67" y="3" type="Testo" align="right" width="5" text="CAP">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="4" type="Testo" width="8" text="Comune">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="67" y="4" type="Testo" width="10" text="Provincia">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="5.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="LCP.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
<field x="67" type="Numero" align="right" width="5">
|
||||
<source>S6</source>
|
||||
</field>
|
||||
<field x="16" y="1" type="Stringa" width="50">
|
||||
<source>COMUNI.DENCOM</source>
|
||||
</field>
|
||||
<field x="67" y="1" type="Stringa" width="5" pattern="1">
|
||||
<source>COMUNI.PROVCOM</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE LCP
|
||||
JOIN COMUNI INTO COM=S7
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstlcp.uml
Executable file
36
at/atstlcp.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella localita' postali" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE LCP
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstldl.rep
Executable file
41
at/atstldl.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstldl" name="atstldl" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella luoghi di lavoro">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="LDL.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE LDL
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstldl.uml
Executable file
36
at/atstldl.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella luoghi di lavoro" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE LDL
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstldn.rep
Executable file
41
at/atstldn.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstldn" name="atstldn" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella punti di prelievo">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="LDN.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE LDN
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstldn.uml
Executable file
36
at/atstldn.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella punti di prelievo" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE LDN
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstmtc.rep
Executable file
41
at/atstmtc.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstmtc" name="atstmtc" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella motivi per controlli">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="MTC.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE MTC
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstmtc.uml
Executable file
36
at/atstmtc.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella motivi per controlli" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE MTC
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstprf.rep
Executable file
41
at/atstprf.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstprf" name="atstprf" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella professioni">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="PRF.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE PRF
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstprf.uml
Executable file
36
at/atstprf.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella professioni" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE PRF
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
41
at/atstscs.rep
Executable file
41
at/atstscs.rep
Executable file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atstscs" name="atstscs" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella singoli controlli sanitari">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="4.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="SCS.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="50">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE SCS
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atstscs.uml
Executable file
36
at/atstscs.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella singoli controlli sanitari" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE SCS
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
66
at/atsttcs.rep
Executable file
66
at/atsttcs.rep
Executable file
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="atsttcs" name="atsttcs" lpi="6">
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field x="1" type="Testo" valign="center" align="center" width="93" height="2" text="Tabella tipi\esiti dei controlli sanitari">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="3" type="Testo" width="10" text="Codice">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="16" y="3" type="Testo" width="12" text="Descrizione">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="62" y="3" type="Testo" width="4" text="Cat.
|
||||
">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="68" y="3" type="Testo" width="4" text="Mod.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="74" y="3" type="Testo" width="6" text="Stato">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="62" y="4" type="Testo" width="5" text="coll.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="68" y="4" type="Testo" width="5" text="stato">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="5.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="TCS.CODTAB" width="13">
|
||||
<source>CODTAB</source>
|
||||
</field>
|
||||
<field x="16" type="Stringa" width="45">
|
||||
<source>S0</source>
|
||||
</field>
|
||||
<field x="62.5" type="Stringa" align="right" width="3">
|
||||
<source>S7</source>
|
||||
</field>
|
||||
<field x="68.5" type="Stringa" align="right" width="2">
|
||||
<source>S6</source>
|
||||
</field>
|
||||
<field x="74" type="Stringa" width="20">
|
||||
<source>S3</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
</section>
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE TCS
|
||||
FROM CODTAB=#FROM
|
||||
TO CODTAB=#TO</sql>
|
||||
</report>
|
36
at/atsttcs.uml
Executable file
36
at/atsttcs.uml
Executable file
@ -0,0 +1,36 @@
|
||||
#include "ba3200.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <printbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa tabella tipi\esiti dei controlli sanitari" 0 2 0 0
|
||||
|
||||
STRING F_INIZIO1 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Da codice "
|
||||
FLAGS "UZ"
|
||||
FIELD FROM
|
||||
USE TCS
|
||||
INPUT CODTAB F_INIZIO1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_INIZIO1 CODTAB
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_FINE1 3
|
||||
BEGIN
|
||||
PROMPT 20 1 "A codice "
|
||||
FLAGS "UZ"
|
||||
FIELD TO
|
||||
COPY USE F_INIZIO1
|
||||
INPUT CODTAB F_FINE1
|
||||
COPY DISPLAY F_INIZIO1
|
||||
OUTPUT F_FINE1 CODTAB
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
21
at/attab.txt
Executable file
21
at/attab.txt
Executable file
@ -0,0 +1,21 @@
|
||||
[Header]
|
||||
Version=199519
|
||||
File=5
|
||||
Fields=COD,3|CODTAB,25|S0,70|S1,70|S2,70|S3,70|S4,25|S5,25|S6,5|S7,5
|
||||
Fields=S8,5|S9,5|S10,5|S11,5|I0,7|I1,7|I2,7|I3,7|I4,7|I5,7
|
||||
Fields=I6,7|I7,7|I8,7|I9,7|I10,7|I11,7|I12,7|I13,7|I14,7|R0,18
|
||||
Fields=R1,18|R2,18|R3,18|R4,18|R5,18|R6,18|R7,18|R8,18|R9,18|R10,18
|
||||
Fields=R11,18|R12,18|R13,18|R14,18|R15,18|R16,18|R17,18|R18,18|R19,18|R20,18
|
||||
Fields=R21,18|R22,18|R23,18|R24,18|R25,18|R26,18|R27,18|R28,18|R29,18|R30,18
|
||||
Fields=R31,18|R32,18|R33,18|R34,18|D0,10|D1,10|D2,10|D3,10|D4,10|B0,1
|
||||
Fields=B1,1|B2,1|B3,1|B4,1|B5,1|B6,1|B7,1|B8,1|B9,1|B10,1
|
||||
Fields=B11,1|B12,1|B13,1|B14,1|B15,1|FPC,1
|
||||
|
||||
[Data]
|
||||
IDO|PI|Piastrinoaferesi||||||AF|||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
IDO|PL|Plasmaferesi||||||AF|||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
IDO|SI|Sangue intero||||||SI|||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
TDN|PI|Piastrinoaferesi||||||AF|PI||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
TDN|PL|Plasmaferesi||||||AF|PL||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
TDN|PP|Plasma-piastrinoaferesi||||||AF|PL|PI|||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
||||
TDN|SI|Sangue intero||||||SI|SI||||||||||||||||||||0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000|0.00000||||||||||||||| | | | | | | | | | | | | | | | |
|
66
at/attabmod.txt
Executable file
66
at/attabmod.txt
Executable file
@ -0,0 +1,66 @@
|
||||
[Header]
|
||||
Version=199519
|
||||
File=163
|
||||
Fields=MOD,2|CUST,6|COD,3|CODTAB,20|S0,70|S1,50|S2,50|S3,50|S4,20|S5,20
|
||||
Fields=S6,5|S7,5|I0,8|I1,8|I2,8|R0,18|R1,18|R2,18|D0,10|D1,10
|
||||
Fields=D2,10|B0,1|B1,1|B2,1|B3,1|B4,1|B5,1|B6,1|B7,1|B8,1
|
||||
Fields=B9,1|B10,1|FPC,1
|
||||
|
||||
[Data]
|
||||
AT|548|C2A|1401|IDONEO||||||PI I||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1402|SOSP. TEMPORANEAMENTE||||||SO S||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1403|Sospeso Def. (dimesso)||||||DE D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1404|DIMESSO||||||DE D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1405|Deceduto||||||DE*D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1406|PAZIENTE||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1407|AUTOCONVOCAZIONE||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1411|Autoconvocazione||||||*||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1412|ASPIRANTE||||||*||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1413|Tolto asterisco||||||*||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1416|SOSPESO DEF. ASP (DIMESSO)||||||DE D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1417|SOSPESO TEMP. ASP||||||SO S||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1901|Prelievi di sangue intero||||||SI||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1902|Plasmaferesi||||||PL||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1903|Piastrinoaferesi||||||PI||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1904|PlasmaPiastrinoaferesi||||||PP||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1905|Aferesi terapeutica||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1906|Autodonazione||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1907|Esami di controllo||||||****|||||0.000|0.000|0.000||||X| | | | | | | | | | |
|
||||
AT|548|C2A|1908|Salasso Terapeutico||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1909|Plasma Autoaferesi||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1910|Piastrino Autoaferesi||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1914|Non idonei||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1915|Aferesi Staminali||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1916|Recupero Intraoperatorio||||||||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1920|Piastrinoaferesi filtrata||||||PH||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1921|Eritroplasmaferesi||||||EA||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|1922|Eritropiastrinoaferesi||||||ER||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3250|Elettrocardiogramma||||||EL||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3251|Rx Torace||||||RX||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3271|Esito esami 1||||||AE||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3272|Esito esami 2||||||2||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3273|Esito esami 3||||||R1||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3274|Esito esami 4||||||4||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3275|Esito esami 5||||||5||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|3276|Esito esami 6||||||6||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|32111|Esami di controllo||||||R1||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|32112|Visita||||||V1||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU01|RIMINI||||||1D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU02|BELLARIA-IGEA MARINA||||||2A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU03|CATTOLICA||||||3A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU04|CORIANO||||||4A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU05|MISANO ADRIATICO||||||5A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU06|MORCIANO DI ROMAGNA||||||6A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU07|NOVAFELTRIA||||||SCO||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU08|RICCIONE||||||8A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU09|SAN GIOVANNI IN MARIGNANO||||||9A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU10|SANTARCANGELO DI ROMAGNA||||||10A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU11|VERUCCHIO||||||11A||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU12|FUORI PROVINCIA||||||SCO||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU13|AVIS SCUOLE||||||1D||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU14|CASERMA RN||||||1C||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU15|MISANO SCUOLE||||||5B||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU16|MORCIANO SCUOLE||||||6B||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU17|RICCIONE SCUOLE||||||8B||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU18|SANTARCANGELO SCUOLE||||||10B||||||||||| | | | | | | | | | | |
|
||||
AT|548|C2A|PU19|SCONOSCIUTO||||||SCO||||||||||| | | | | | | | | | | |
|
8
at/attbbnz.h
Executable file
8
at/attbbnz.h
Executable file
@ -0,0 +1,8 @@
|
||||
#define F_TABBNZ_CODTAB 100
|
||||
#define F_TABBNZ_DESCR 101
|
||||
#define F_TABBNZ_NDON 102
|
||||
#define F_TABBNZ_STATUTO 103
|
||||
#define F_TABBNZ_M_NDON 104
|
||||
#define F_TABBNZ_M_ANNI 105
|
||||
#define F_TABBNZ_CATDON 106
|
||||
#define DLG_DEL 108
|
84
at/attbbnz.uml
Executable file
84
at/attbbnz.uml
Executable file
@ -0,0 +1,84 @@
|
||||
#include "attbbnz.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Benemerenze" -1 -1 78 7
|
||||
|
||||
STRING F_TABBNZ_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della benemerenza"
|
||||
USE BNZ
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABBNZ_CODTAB
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABBNZ_CODTAB CODTAB
|
||||
OUTPUT F_TABBNZ_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABBNZ_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione della benemerenza"
|
||||
USE BNZ KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABBNZ_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice " CODTAB
|
||||
COPY OUTPUT F_TABBNZ_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
NUMBER F_TABBNZ_NDON 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Num. donazioni "
|
||||
FIELD I0
|
||||
HELP "Inserire il numero di donazioni necessarie per ottenere la benemerenza"
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
BOOLEAN F_TABBNZ_STATUTO
|
||||
BEGIN
|
||||
PROMPT 30 5 "Da statuto "
|
||||
FIELD B0
|
||||
HELP "La benemerenza Š prevista nello statuto AVIS?"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 4
|
||||
BEGIN
|
||||
PROMPT 1 7 "Nuovi criteri per benemerenza"
|
||||
END
|
||||
|
||||
NUMBER F_TABBNZ_M_NDON 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Numero donazioni "
|
||||
FIELD I1
|
||||
HELP "Inserire il numero di donazioni necessarie per ottenere la benemerenza"
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER F_TABBNZ_M_ANNI 2
|
||||
BEGIN
|
||||
PROMPT 2 9 "Anni di iscrizione "
|
||||
FIELD I2
|
||||
HELP "Inserire il numero di anni di iscrizione necessari"
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
BOOLEAN F_TABBNZ_CATDON
|
||||
BEGIN
|
||||
PROMPT 50 9 "Attribuisci solo ai dimessi"
|
||||
FIELD B0
|
||||
HELP "Inserire se la benemerenza va attribuita solo ai dimessi"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
6
at/attbctd.h
Executable file
6
at/attbctd.h
Executable file
@ -0,0 +1,6 @@
|
||||
#define F_TABCTD_CODTAB 100
|
||||
#define F_TABCTD_DESCR 101
|
||||
#define F_TABCTD_DIMESSI 102
|
||||
#define F_TABCTD_CATCOLL 103
|
||||
#define F_DESCR_CATCOLL 104
|
||||
#define DLG_DEL 105
|
68
at/attbctd.uml
Executable file
68
at/attbctd.uml
Executable file
@ -0,0 +1,68 @@
|
||||
#include "attbctd.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Categorie donatori" -1 -1 78 7
|
||||
|
||||
STRING F_TABCTD_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della categoria"
|
||||
USE CTD
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABCTD_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABCTD_CODTAB CODTAB
|
||||
OUTPUT F_TABCTD_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABCTD_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione della categoria"
|
||||
USE CTD KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABCTD_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABCTD_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
BOOLEAN F_TABCTD_DIMESSI
|
||||
BEGIN
|
||||
PROMPT 2 5 "Categoria di dimissione"
|
||||
FIELD B0
|
||||
HELP "Indicare se la categoria è di dimissione"
|
||||
END
|
||||
|
||||
STRING F_TABCTD_CATCOLL 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "Cat. collegata "
|
||||
FIELD S6
|
||||
FLAGS "U"
|
||||
USE CTD SELECT B0!=#F_TABCTD_DIMESSI
|
||||
INPUT CODTAB F_TABCTD_CATCOLL
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABCTD_CATCOLL CODTAB
|
||||
OUTPUT F_DESCR_CATCOLL S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_DESCR_CATCOLL 30
|
||||
BEGIN
|
||||
PROMPT 23 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/attbctn.h
Executable file
3
at/attbctn.h
Executable file
@ -0,0 +1,3 @@
|
||||
#define F_TABCTN_CODTAB 100
|
||||
#define F_TABCTN_DESCR 101
|
||||
#define DLG_DEL 105
|
40
at/attbctn.uml
Executable file
40
at/attbctn.uml
Executable file
@ -0,0 +1,40 @@
|
||||
#include "attbctn.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Categorie non donatori" -1 -1 78 7
|
||||
|
||||
STRING F_TABCTN_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della categoria"
|
||||
USE CTN
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABCTN_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABCTN_CODTAB CODTAB
|
||||
OUTPUT F_TABCTN_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABCTN_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione della categoria"
|
||||
USE CTN KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABCTN_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABCTN_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/attbgaz.h
Executable file
3
at/attbgaz.h
Executable file
@ -0,0 +1,3 @@
|
||||
#define F_TABGAZ_CODTAB 100
|
||||
#define F_TABGAZ_DESCR 101
|
||||
#define DLG_DEL 105
|
40
at/attbgaz.uml
Executable file
40
at/attbgaz.uml
Executable file
@ -0,0 +1,40 @@
|
||||
#include "attbgaz.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Gruppi Aziendali" -1 -1 78 7
|
||||
|
||||
STRING F_TABGAZ_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice del gruppo aziendale"
|
||||
USE GAZ
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABGAZ_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABGAZ_CODTAB CODTAB
|
||||
OUTPUT F_TABGAZ_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABGAZ_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Denominazione "
|
||||
FIELD S0
|
||||
HELP "Inserire la denominazione del gruppo aziendale"
|
||||
USE GAZ KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABGAZ_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABGAZ_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
4
at/attbido.h
Executable file
4
at/attbido.h
Executable file
@ -0,0 +1,4 @@
|
||||
#define F_TABIDO_CODTAB 100
|
||||
#define F_TABIDO_DESCR 101
|
||||
#define F_TABIDO_PROCDON 102
|
||||
#define DLG_DEL 105
|
48
at/attbido.uml
Executable file
48
at/attbido.uml
Executable file
@ -0,0 +1,48 @@
|
||||
#include "attbido.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Idoneita' alla donazione" -1 -1 78 7
|
||||
|
||||
STRING F_TABIDO_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della idoneità"
|
||||
USE IDO
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABIDO_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABIDO_CODTAB CODTAB
|
||||
OUTPUT F_TABIDO_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABIDO_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione della idoneita'"
|
||||
USE IDO KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABIDO_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABIDO_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
LISTBOX F_TABIDO_PROCDON 17
|
||||
BEGIN
|
||||
PROMPT 2 5 "Procedura di don. "
|
||||
FIELD S6
|
||||
#include "procdon.h"
|
||||
HELP "Indicare la procedura di donazione collegata alla idoneita'"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
7
at/attblcp.h
Executable file
7
at/attblcp.h
Executable file
@ -0,0 +1,7 @@
|
||||
#define F_TABLCP_CODTAB 100
|
||||
#define F_TABLCP_LOCALITA 101
|
||||
#define F_TABLCP_CAP 102
|
||||
#define F_TABLCP_COM 103
|
||||
#define F_DENCOM 104
|
||||
#define F_PROVCOM 105
|
||||
#define DLG_DEL 106
|
83
at/attblcp.uml
Executable file
83
at/attblcp.uml
Executable file
@ -0,0 +1,83 @@
|
||||
#include "attblcp.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Localita' postali" -1 -1 78 7
|
||||
|
||||
STRING F_TABLCP_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della localita'"
|
||||
USE LCP
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABLCP_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Denominazione@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
OUTPUT F_TABLCP_CODTAB CODTAB
|
||||
OUTPUT F_TABLCP_LOCALITA S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABLCP_LOCALITA 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Localita' "
|
||||
FIELD S0
|
||||
HELP "Inserire la denominazione della localita'"
|
||||
USE LCP KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABLCP_LOCALITA
|
||||
DISPLAY "Denominazione@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABLCP_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
STRING F_TABLCP_CAP 5
|
||||
BEGIN
|
||||
PROMPT 2 5 "CAP "
|
||||
FIELD S6
|
||||
HELP "Inserire il CAP della località"
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABLCP_COM 4
|
||||
BEGIN
|
||||
PROMPT 2 7 "Comune "
|
||||
FIELD S7
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO ""
|
||||
INPUT COM F_TABLCP_COM
|
||||
#include <comdcod.h>
|
||||
OUTPUT F_TABLCP_COM COM
|
||||
OUTPUT F_DENCOM DENCOM
|
||||
OUTPUT F_PROVCOM PROVCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
END
|
||||
|
||||
STRING F_DENCOM 50
|
||||
BEGIN
|
||||
PROMPT 19 7 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOM
|
||||
#include <comdden.h>
|
||||
COPY OUTPUT F_TABLCP_COM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_PROVCOM 5
|
||||
BEGIN
|
||||
PROMPT 73 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/attbldl.h
Executable file
3
at/attbldl.h
Executable file
@ -0,0 +1,3 @@
|
||||
#define F_TABLDL_CODTAB 100
|
||||
#define F_TABLDL_DESCR 101
|
||||
#define DLG_DEL 105
|
40
at/attbldl.uml
Executable file
40
at/attbldl.uml
Executable file
@ -0,0 +1,40 @@
|
||||
#include "attbldl.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Luoghi di lavoro" -1 -1 78 7
|
||||
|
||||
STRING F_TABLDL_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice del luogo di lavoro"
|
||||
USE LDL
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABLDL_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABLDL_CODTAB CODTAB
|
||||
OUTPUT F_TABLDL_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABLDL_DESCR 40
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione del luogo di lavoro"
|
||||
USE LDL KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABLDL_DESCR
|
||||
DISPLAY "Descrizione@40" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABLDL_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
14
at/attbldn.h
Executable file
14
at/attbldn.h
Executable file
@ -0,0 +1,14 @@
|
||||
#define F_TABLDN_CODTAB 100
|
||||
#define F_TABLDN_DESCR 101
|
||||
#define F_TABLDN_INDIR 102
|
||||
#define F_TABLDN_LOC 103
|
||||
#define F_TABLDN_COM 104
|
||||
#define F_TABLDN_DENCOM 105
|
||||
#define F_TABLDN_DENLOC 106
|
||||
#define F_TABLDN_PROVCOM 107
|
||||
#define F_TABLDN_CAPCOM 108
|
||||
#define F_TABLDN_TELEFONO 109
|
||||
#define F_TABLDN_ORARIO 110
|
||||
#define F_TABLDN_NOTE1 111
|
||||
#define F_TABLDN_NOTE2 112
|
||||
#define DLG_DEL 115
|
141
at/attbldn.uml
Executable file
141
at/attbldn.uml
Executable file
@ -0,0 +1,141 @@
|
||||
#include "attbldn.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Punti di prelievo" -1 -1 78 7
|
||||
|
||||
STRING F_TABLDN_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
USE LDN
|
||||
INPUT CODTAB F_TABLDN_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_TABLDN_CODTAB CODTAB
|
||||
OUTPUT F_TABLDN_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Codice del punto di prelievo"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Punto "
|
||||
FIELD S0
|
||||
KEY 2
|
||||
USE LDN KEY 2
|
||||
INPUT S0 F_TABLDN_DESCR
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABLDN_CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Denominazione del punto di prelievo"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_INDIR 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Indirizzo "
|
||||
FIELD S1
|
||||
END
|
||||
|
||||
STRING F_TABLDN_COM 4
|
||||
BEGIN
|
||||
PROMPT 2 5 "Comune "
|
||||
FIELD S6
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO ""
|
||||
INPUT COM F_TABLDN_COM
|
||||
#include <comdcod.h>
|
||||
OUTPUT F_TABLDN_COM COM
|
||||
OUTPUT F_TABLDN_DENCOM DENCOM
|
||||
OUTPUT F_TABLDN_PROVCOM PROVCOM
|
||||
OUTPUT F_TABLDN_CAPCOM CAPCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_DENCOM 48
|
||||
BEGIN
|
||||
PROMPT 21 5 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_TABLDN_DENCOM
|
||||
#include <comdden.h>
|
||||
COPY OUTPUT F_TABLDN_COM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_TABLDN_LOC 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Localita' "
|
||||
FIELD S7
|
||||
FLAGS "U"
|
||||
USE LCP SELECT S7=#F_TABLDN_COM
|
||||
INPUT CODTAB F_TABLDN_LOC
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Localita'@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
OUTPUT F_TABLDN_LOC CODTAB
|
||||
OUTPUT F_TABLDN_DENLOC S0
|
||||
OUTPUT F_TABLDN_CAPCOM S6
|
||||
OUTPUT F_TABLDN_COM S7
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Codice localita' postale se diversa dal comune"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_DENLOC 30
|
||||
BEGIN
|
||||
PROMPT 21 6 ""
|
||||
USE LCP KEY 2 SELECT S7=#F_TABLDN_COM
|
||||
INPUT S0 F_TABLDN_DENLOC
|
||||
DISPLAY "Localita'@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABLDN_LOC
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Localita' postale se diversa dal comune"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_PROVCOM 5
|
||||
BEGIN
|
||||
PROMPT 73 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_CAPCOM 5
|
||||
BEGIN
|
||||
PROMPT 69 6 "CAP "
|
||||
FIELD S8
|
||||
//FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABLDN_TELEFONO 20
|
||||
BEGIN
|
||||
PROMPT 2 8 "Telefono "
|
||||
FIELD S4
|
||||
END
|
||||
|
||||
STRING F_TABLDN_ORARIO 50
|
||||
BEGIN
|
||||
PROMPT 2 9 "Orario "
|
||||
FIELD S2
|
||||
END
|
||||
|
||||
STRING F_TABLDN_NOTE1 35
|
||||
BEGIN
|
||||
PROMPT 2 10 "Note "
|
||||
FIELD S3[1,35]
|
||||
END
|
||||
|
||||
STRING F_TABLDN_NOTE2 35
|
||||
BEGIN
|
||||
PROMPT 2 11 " "
|
||||
FIELD S3[36,70]
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
14
at/attbmed.h
Executable file
14
at/attbmed.h
Executable file
@ -0,0 +1,14 @@
|
||||
// definizione campi della maschera tabella medici
|
||||
|
||||
#define F_CODMED 101
|
||||
#define F_COGNOME 102
|
||||
#define F_NOME 103
|
||||
#define F_INDIRIZZO 104
|
||||
#define F_COM 105
|
||||
#define F_DENCOM 106
|
||||
#define F_LOCALITA 107
|
||||
#define F_DENLOC 108
|
||||
#define F_CAPCOM 109
|
||||
#define F_PROVCOM 110
|
||||
#define F_TELAMB 111
|
||||
#define F_TELABI 112
|
156
at/attbmed.uml
Executable file
156
at/attbmed.uml
Executable file
@ -0,0 +1,156 @@
|
||||
#include "attbmed.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Medici" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 5
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CODMED 6
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. medico "
|
||||
FIELD CODMED
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_MEDICI
|
||||
INPUT CODMED F_CODMED
|
||||
DISPLAY "Codice " CODMED
|
||||
DISPLAY "Cognome@25" COGNOME
|
||||
DISPLAY "Nome@25" NOME
|
||||
OUTPUT F_CODMED CODMED
|
||||
OUTPUT F_COGNOME COGNOME
|
||||
OUTPUT F_NOME NOME
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_COGNOME 25
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cognome "
|
||||
FIELD COGNOME
|
||||
KEY 2
|
||||
USE LF_MEDICI KEY 2
|
||||
INPUT COGNOME F_COGNOME
|
||||
INPUT NOME F_NOME
|
||||
DISPLAY "Cognome@25" COGNOME
|
||||
DISPLAY "Nome@25" NOME
|
||||
DISPLAY "Codice " CODMED
|
||||
COPY OUTPUT F_CODMED
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire il cognome del medico"
|
||||
END
|
||||
|
||||
STRING F_NOME 25
|
||||
BEGIN
|
||||
PROMPT 2 4 "Nome "
|
||||
FIELD NOME
|
||||
KEY 2
|
||||
COPY ALL F_COGNOME
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "Indirizzo"
|
||||
END
|
||||
|
||||
STRING F_INDIRIZZO 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Indirizzo "
|
||||
FIELD INDIRIZZO
|
||||
END
|
||||
|
||||
STRING F_COM 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "Comune "
|
||||
FIELD COM
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO ""
|
||||
INPUT COM F_COM
|
||||
#include <comdcod.h>
|
||||
OUTPUT F_COM COM
|
||||
OUTPUT F_DENCOM DENCOM
|
||||
OUTPUT F_PROVCOM PROVCOM
|
||||
OUTPUT F_CAPCOM CAPCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
END
|
||||
|
||||
STRING F_DENCOM 48
|
||||
BEGIN
|
||||
PROMPT 19 8 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOM
|
||||
#include <comdden.h>
|
||||
COPY OUTPUT F_COM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_LOCALITA 4
|
||||
BEGIN
|
||||
PROMPT 2 9 "Località "
|
||||
FIELD LOCALITA
|
||||
FLAGS "U"
|
||||
USE LCP SELECT S7=#F_COM
|
||||
INPUT CODTAB F_LOCALITA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Località@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
OUTPUT F_LOCALITA CODTAB
|
||||
OUTPUT F_DENLOC S0
|
||||
OUTPUT F_CAPCOM S6
|
||||
OUTPUT F_COM S7
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Codice localit… postale se diversa dal comune"
|
||||
END
|
||||
|
||||
STRING F_DENLOC 30
|
||||
BEGIN
|
||||
PROMPT 19 9 ""
|
||||
USE LCP KEY 2 SELECT S7=#F_COM
|
||||
INPUT S0 F_DENLOC
|
||||
DISPLAY "Località@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_LOCALITA
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Localit… postale se diversa dal comune"
|
||||
END
|
||||
|
||||
STRING F_PROVCOM 5
|
||||
BEGIN
|
||||
PROMPT 71 8 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CAPCOM 5
|
||||
BEGIN
|
||||
PROMPT 67 9 "CAP "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 3
|
||||
BEGIN
|
||||
PROMPT 1 11 "Telefoni"
|
||||
END
|
||||
|
||||
STRING F_TELAMB 15
|
||||
BEGIN
|
||||
PROMPT 2 12 "Ambulatorio "
|
||||
FIELD TELAMB
|
||||
END
|
||||
|
||||
STRING F_TELABI 15
|
||||
BEGIN
|
||||
PROMPT 40 12 "Abitazione "
|
||||
FIELD TELABI
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
4
at/attbmtc.h
Executable file
4
at/attbmtc.h
Executable file
@ -0,0 +1,4 @@
|
||||
#define F_TABMTC_CODTAB 100
|
||||
#define F_TABMTC_DESCR 101
|
||||
#define F_TABMTC_SEGNALA 102
|
||||
#define DLG_DEL 105
|
47
at/attbmtc.uml
Executable file
47
at/attbmtc.uml
Executable file
@ -0,0 +1,47 @@
|
||||
#include "attbmtc.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Motivi per controlli sanitari" -1 -1 78 7
|
||||
|
||||
STRING F_TABMTC_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice del motivo"
|
||||
USE MTC
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABMTC_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@25" S0
|
||||
OUTPUT F_TABMTC_CODTAB CODTAB
|
||||
OUTPUT F_TABMTC_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABMTC_DESCR 25
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione del motivo"
|
||||
USE MTC KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABMTC_DESCR
|
||||
DISPLAY "Descrizione@25" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABMTC_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
BOOLEAN F_TABMTC_SEGNALA
|
||||
BEGIN
|
||||
PROMPT 2 5 "Segnala la sospensione per questo motivo"
|
||||
FIELD B0
|
||||
HELP "Indicare se occorre segnalare che il soggetto e' sospeso per questo motivo"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
18
at/attbpr1.h
Executable file
18
at/attbpr1.h
Executable file
@ -0,0 +1,18 @@
|
||||
// tabella di conversione CT Rimini- AVIS per stato trasfusionale
|
||||
#define F_TABPR1_CODTAB 100
|
||||
#define F_TABPR1_DESCR 101
|
||||
#define F_TABPR1_OPERAZIONE 102
|
||||
#define F_TABPR1_TIPOCON 104
|
||||
#define F_TABPR1_CATDON 105
|
||||
#define F_TABPR1_IDON1 106
|
||||
#define F_TABPR1_IDON2 107
|
||||
#define F_TABPR1_IDON3 108
|
||||
#define F_TABPR1_IDON4 109
|
||||
#define F_TABPR1_MOTIVO 110
|
||||
#define F_TABPR1_DESC_CATDON 201
|
||||
#define F_TABPR1_DESC_TIPOCON 202
|
||||
#define F_TABPR1_DESC_IDON1 203
|
||||
#define F_TABPR1_DESC_IDON2 204
|
||||
#define F_TABPR1_DESC_IDON3 205
|
||||
#define F_TABPR1_DESC_IDON4 206
|
||||
#define F_TABPR1_DESC_MOTIVO 207
|
202
at/attbpr1.uml
Executable file
202
at/attbpr1.uml
Executable file
@ -0,0 +1,202 @@
|
||||
#include "attbpr1.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella conversione stato trasfusionale CETRAPLUS" -1 -1 78 18
|
||||
|
||||
STRING F_TABPR1_CODTAB 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
USE PR1
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABPR1_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABPR1_CODTAB CODTAB
|
||||
OUTPUT F_TABPR1_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
HELP "Inserire il codice dello stato trasfusionale"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
USE PR1 KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABPR1_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABPR1_CODTAB
|
||||
KEY 2
|
||||
HELP "Inserire la descrizione dello stato trasfusionale"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TABPR1_OPERAZIONE 35
|
||||
BEGIN
|
||||
PROMPT 2 5 "Operazione "
|
||||
FIELD I0
|
||||
ITEM "0|Sostituire senza segnalazione"
|
||||
ITEM "1|Sostituire con segnalazione"
|
||||
ITEM "2|Segnalare"
|
||||
ITEM "3|Ignorare"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_CATDON 2
|
||||
BEGIN
|
||||
PROMPT 2 11 "Categoria "
|
||||
FIELD S6
|
||||
FLAGS "U"
|
||||
USE CTD
|
||||
INPUT CODTAB F_TABPR1_CATDON
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABPR1_CATDON CODTAB
|
||||
OUTPUT F_TABPR1_DESC_CATDON S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_CATDON 30
|
||||
BEGIN
|
||||
PROMPT 23 11 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_TIPOCON 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Tipo controllo "
|
||||
FIELD S7
|
||||
FLAGS "U"
|
||||
USE TCS
|
||||
INPUT CODTAB F_TABPR1_TIPOCON
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABPR1_TIPOCON CODTAB
|
||||
OUTPUT F_TABPR1_DESC_TIPOCON S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_TIPOCON 30
|
||||
BEGIN
|
||||
PROMPT 23 12 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_IDON1 2
|
||||
BEGIN
|
||||
PROMPT 2 13 "Tipi donazione "
|
||||
FIELD S8
|
||||
FLAGS "U"
|
||||
USE IDO
|
||||
INPUT CODTAB F_TABPR1_IDON1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABPR1_IDON1 CODTAB
|
||||
OUTPUT F_TABPR1_DESC_IDON1 S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice idoneita' non presente"
|
||||
HELP "Idoneita' alla donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_IDON2 2
|
||||
BEGIN
|
||||
PROMPT 17 14 ""
|
||||
FIELD S9
|
||||
FLAGS "U"
|
||||
USE IDO
|
||||
INPUT CODTAB F_TABPR1_IDON2
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABPR1_IDON2 CODTAB
|
||||
OUTPUT F_TABPR1_DESC_IDON2 S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice idoneita' non presente"
|
||||
HELP "Idoneita' alla donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_IDON3 2
|
||||
BEGIN
|
||||
PROMPT 17 15 ""
|
||||
FIELD S10
|
||||
FLAGS "U"
|
||||
USE IDO
|
||||
INPUT CODTAB F_TABPR1_IDON3
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABPR1_IDON3 CODTAB
|
||||
OUTPUT F_TABPR1_DESC_IDON3 S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice idoneita' non presente"
|
||||
HELP "Idoneita' alla donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_IDON4 2
|
||||
BEGIN
|
||||
PROMPT 17 16 ""
|
||||
FIELD S11
|
||||
FLAGS "U"
|
||||
USE IDO
|
||||
INPUT CODTAB F_TABPR1_IDON4
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABPR1_IDON4 CODTAB
|
||||
OUTPUT F_TABPR1_DESC_IDON4 S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice idoneita' non presente"
|
||||
HELP "Idoneita' alla donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_MOTIVO 4
|
||||
BEGIN
|
||||
PROMPT 2 17 "Motivo "
|
||||
FIELD S1
|
||||
FLAGS "U"
|
||||
USE MTC
|
||||
INPUT CODTAB F_TABPR1_MOTIVO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_TABPR1_MOTIVO CODTAB
|
||||
OUTPUT F_TABPR1_DESC_MOTIVO S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice motivo non presente"
|
||||
HELP "Motivo del controllo sanitario"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_IDON1 25
|
||||
BEGIN
|
||||
PROMPT 23 13 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_IDON2 25
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_IDON3 25
|
||||
BEGIN
|
||||
PROMPT 23 15 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_IDON4 25
|
||||
BEGIN
|
||||
PROMPT 23 16 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABPR1_DESC_MOTIVO 25
|
||||
BEGIN
|
||||
PROMPT 23 17 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
5
at/attbpr2.h
Executable file
5
at/attbpr2.h
Executable file
@ -0,0 +1,5 @@
|
||||
// tabella di conversione CT Parma- AVIS per tipo donazione
|
||||
#define F_TABPR2_CODTAB 100
|
||||
#define F_TABPR2_DESCR 101
|
||||
#define F_TABPR2_TIPODON 102
|
||||
#define F_TABPR2_DESC_TIPODON 201
|
61
at/attbpr2.uml
Executable file
61
at/attbpr2.uml
Executable file
@ -0,0 +1,61 @@
|
||||
#include "attbpr2.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella conversione tipi donazione" -1 -1 78 18
|
||||
|
||||
STRING F_TABPR2_CODTAB 3
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
USE PR2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABPR2_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABPR2_CODTAB CODTAB
|
||||
OUTPUT F_TABPR2_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
HELP "Inserire il codice del tipo donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR2_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
USE PR2 KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABPR2_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABPR2_CODTAB
|
||||
KEY 2
|
||||
HELP "Inserire la descrizione del tipo donazione"
|
||||
END
|
||||
|
||||
STRING F_TABPR2_TIPODON 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Tipo donazione "
|
||||
FIELD S6
|
||||
FLAGS "U"
|
||||
USE TDN
|
||||
INPUT CODTAB F_TABPR2_TIPODON
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABPR2_TIPODON CODTAB
|
||||
OUTPUT F_TABPR2_DESC_TIPODON S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_TABPR2_DESC_TIPODON 30
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/attbprf.h
Executable file
3
at/attbprf.h
Executable file
@ -0,0 +1,3 @@
|
||||
#define F_TABPRF_CODTAB 100
|
||||
#define F_TABPRF_DESCR 101
|
||||
#define DLG_DEL 105
|
40
at/attbprf.uml
Executable file
40
at/attbprf.uml
Executable file
@ -0,0 +1,40 @@
|
||||
#include "attbprf.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Professioni" -1 -1 78 7
|
||||
|
||||
STRING F_TABPRF_CODTAB 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice della professione"
|
||||
USE PRF
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABPRF_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@40" S0
|
||||
OUTPUT F_TABPRF_CODTAB CODTAB
|
||||
OUTPUT F_TABPRF_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABPRF_DESCR 40
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione della professione"
|
||||
USE PRF KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABPRF_DESCR
|
||||
DISPLAY "Descrizione@40" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABPRF_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/attbscs.h
Executable file
3
at/attbscs.h
Executable file
@ -0,0 +1,3 @@
|
||||
#define F_TABSCS_CODTAB 100
|
||||
#define F_TABSCS_DESCR 101
|
||||
#define DLG_DEL 105
|
40
at/attbscs.uml
Executable file
40
at/attbscs.uml
Executable file
@ -0,0 +1,40 @@
|
||||
#include "attbscs.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Singoli controlli sanitari" -1 -1 78 7
|
||||
|
||||
STRING F_TABSCS_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice del singolo controllo"
|
||||
USE SCS
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABSCS_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABSCS_CODTAB CODTAB
|
||||
OUTPUT F_TABSCS_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABSCS_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione del singolo controllo"
|
||||
USE SCS KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABSCS_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABSCS_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
47
at/attbsez.h
Executable file
47
at/attbsez.h
Executable file
@ -0,0 +1,47 @@
|
||||
// definizione campi della maschera tabella sezioni
|
||||
|
||||
#define F_CODSEZ 101
|
||||
#define F_CODSOT 103
|
||||
#define F_DENSEZ 102
|
||||
#define F_DENSOT 104
|
||||
#define F_INDIRIZZO 105
|
||||
#define F_COM 106
|
||||
#define F_DENCOM 107
|
||||
#define F_LOCALITA 108
|
||||
#define F_DENLOC 109
|
||||
#define F_CAPCOM 110
|
||||
#define F_CAPLOC 111
|
||||
#define F_PROVCOM 112
|
||||
#define F_TELEFONO 113
|
||||
#define F_FAX 114
|
||||
#define F_REFERCED 115
|
||||
#define F_STATO 116
|
||||
#define F_INTMINCONV 117
|
||||
#define F_INTMIN 118
|
||||
#define F_INTMAX 119
|
||||
#define F_TIPOCONV 120
|
||||
#define F_DATAULTCON 121
|
||||
#define F_INTESTAZ1 122
|
||||
#define F_INTESTAZ2 123
|
||||
#define F_INTESTAZ3 124
|
||||
#define F_INTESTAZ4 125
|
||||
#define F_CONVORA 126
|
||||
#define F_CONVSEDE1 127
|
||||
#define F_CONVSEDE2 128
|
||||
#define F_CONVSEDE3 129
|
||||
#define F_CONVSEDE4 130
|
||||
#define F_CONVNOTE 131
|
||||
#define F_DONEMER 132
|
||||
#define F_INTESTI 133
|
||||
#define F_CATEMER 134
|
||||
#define F_DESC_CATEMER 135
|
||||
#define F_CATESTI 136
|
||||
#define F_DESC_CATESTI 137
|
||||
#define F_CATCANC 138
|
||||
#define F_DESC_CATCANC 139
|
||||
#define F_GIOCARSOL 140
|
||||
#define F_GIOSOLSOL 141
|
||||
#define F_GIOULTSOL 142
|
||||
#define F_GIOPERRIT 143
|
||||
#define F_NUMMAXSOL 144
|
||||
#define F_DENOMINAZ 145
|
475
at/attbsez.uml
Executable file
475
at/attbsez.uml
Executable file
@ -0,0 +1,475 @@
|
||||
#include "attbsez.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Sezioni 1" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 4
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODSEZ 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Cod. sezione "
|
||||
FIELD CODSEZ
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_SEZIONI
|
||||
INPUT CODSEZ F_CODSEZ
|
||||
INPUT CODSOT F_CODSOT
|
||||
DISPLAY "Cod.sez. " CODSEZ
|
||||
DISPLAY "Cod.sot. " CODSOT
|
||||
DISPLAY "Sezione@25" DENSEZ
|
||||
DISPLAY "Sottogruppo@25" DENSOT
|
||||
OUTPUT F_CODSEZ CODSEZ
|
||||
OUTPUT F_DENSEZ DENSEZ
|
||||
OUTPUT F_CODSOT CODSOT
|
||||
OUTPUT F_DENSOT DENSOT
|
||||
MESSAGE COPY,1@
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_CODSOT 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. sottogruppo "
|
||||
FIELD CODSOT
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
COPY ALL F_CODSEZ
|
||||
MESSAGE COPY,2@
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Inserire il codice della sezione"
|
||||
END
|
||||
|
||||
STRING F_DENSEZ 25
|
||||
BEGIN
|
||||
PROMPT 29 1 "Denominazione sez. "
|
||||
FIELD DENSEZ
|
||||
KEY 2
|
||||
USE LF_SEZIONI KEY 2
|
||||
INPUT DENSEZ F_DENSEZ
|
||||
INPUT DENSOT F_DENSOT
|
||||
DISPLAY "Sezione@25" DENSEZ
|
||||
DISPLAY "Sottogruppo@25" DENSOT
|
||||
DISPLAY "Cod.sez. " CODSEZ
|
||||
DISPLAY "Cod.sot. " CODSOT
|
||||
COPY OUTPUT F_CODSEZ
|
||||
MESSAGE COPY,3@
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire la denominazione della sezione"
|
||||
END
|
||||
|
||||
STRING F_DENSOT 25
|
||||
BEGIN
|
||||
PROMPT 29 2 "Denominazione sot. "
|
||||
FIELD DENSOT
|
||||
KEY 2
|
||||
COPY ALL F_DENSEZ
|
||||
MESSAGE COPY,4@
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Inserire la denominazione del sottogruppo"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 77 8
|
||||
BEGIN
|
||||
PROMPT 1 4 "Dati anagrafici"
|
||||
END
|
||||
|
||||
STRING F_DENOMINAZ 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Denominazione "
|
||||
FIELD DENOMINAZ
|
||||
END
|
||||
|
||||
STRING F_INDIRIZZO 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Indirizzo "
|
||||
FIELD INDIRIZZO
|
||||
END
|
||||
|
||||
STRING F_COM 4
|
||||
BEGIN
|
||||
PROMPT 2 7 "Comune "
|
||||
FIELD COM
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO ""
|
||||
INPUT COM F_COM
|
||||
#include <comdcod.h>
|
||||
OUTPUT F_COM COM
|
||||
OUTPUT F_DENCOM DENCOM
|
||||
OUTPUT F_PROVCOM PROVCOM
|
||||
OUTPUT F_CAPCOM CAPCOM
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE SHOW,F_CAPCOM|SHOW,F_CAPLOC
|
||||
WARNING "Comune assente"
|
||||
END
|
||||
|
||||
STRING F_DENCOM 48
|
||||
BEGIN
|
||||
PROMPT 19 7 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOM
|
||||
#include <comdden.h>
|
||||
COPY OUTPUT F_COM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_LOCALITA 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "Localita' "
|
||||
FIELD LOCALITA
|
||||
FLAGS "U"
|
||||
USE LCP SELECT S7=#F_COM
|
||||
INPUT CODTAB F_LOCALITA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Localita'@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
OUTPUT F_LOCALITA CODTAB
|
||||
OUTPUT F_DENLOC S0
|
||||
OUTPUT F_CAPLOC S6
|
||||
OUTPUT F_COM S7
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE EMPTY HIDE,F_CAPLOC|SHOW,F_CAPCOM
|
||||
HELP "Codice localit… postale se diversa dal comune"
|
||||
END
|
||||
|
||||
STRING F_DENLOC 30
|
||||
BEGIN
|
||||
PROMPT 19 8 ""
|
||||
USE LCP KEY 2 SELECT S7=#F_COM
|
||||
INPUT S0 F_DENLOC
|
||||
DISPLAY "Località@30" S0
|
||||
DISPLAY "CAP@5" S6
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_LOCALITA
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE EMPTY HIDE,F_CAPLOC|SHOW,F_CAPCOM
|
||||
HELP "Localit… postale se diversa dal comune"
|
||||
END
|
||||
|
||||
|
||||
STRING F_PROVCOM 5
|
||||
BEGIN
|
||||
PROMPT 71 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CAPCOM 5
|
||||
BEGIN
|
||||
PROMPT 67 8 "CAP "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CAPLOC 5
|
||||
BEGIN
|
||||
PROMPT 67 8 "CAP "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TELEFONO 15
|
||||
BEGIN
|
||||
PROMPT 2 9 "Telefono "
|
||||
FIELD TELEFONO
|
||||
END
|
||||
|
||||
STRING F_FAX 15
|
||||
BEGIN
|
||||
PROMPT 32 9 "Fax "
|
||||
FIELD FAX
|
||||
END
|
||||
|
||||
STRING F_REFERCED 50
|
||||
BEGIN
|
||||
PROMPT 2 10 "Referente CED "
|
||||
FIELD REFERCED
|
||||
END
|
||||
|
||||
RADIOBUTTON F_STATO 13
|
||||
BEGIN
|
||||
PROMPT 1 12 "Stato"
|
||||
FIELD STATO
|
||||
ITEM "A|Attiva"
|
||||
ITEM "E|Estinta"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 25 6
|
||||
BEGIN
|
||||
PROMPT 16 12 "Intestazione tessere"
|
||||
END
|
||||
|
||||
STRING F_INTESTAZ1 20
|
||||
BEGIN
|
||||
PROMPT 17 13 ""
|
||||
FIELD INTESTAZ1
|
||||
END
|
||||
|
||||
STRING F_INTESTAZ2 20
|
||||
BEGIN
|
||||
PROMPT 17 14 ""
|
||||
FIELD INTESTAZ2
|
||||
END
|
||||
|
||||
STRING F_INTESTAZ3 20
|
||||
BEGIN
|
||||
PROMPT 17 15 ""
|
||||
FIELD INTESTAZ3
|
||||
END
|
||||
|
||||
STRING F_INTESTAZ4 20
|
||||
BEGIN
|
||||
PROMPT 17 16 ""
|
||||
FIELD INTESTAZ4
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 8
|
||||
BEGIN
|
||||
PROMPT 43 12 "Dati per stampa cartolina"
|
||||
END
|
||||
|
||||
STRING F_CONVORA 20
|
||||
BEGIN
|
||||
PROMPT 44 13 "Orario "
|
||||
FIELD CONVORA
|
||||
END
|
||||
|
||||
STRING F_CONVSEDE1 25
|
||||
BEGIN
|
||||
PROMPT 44 14 "Sede "
|
||||
FIELD CONVSEDE1
|
||||
END
|
||||
|
||||
STRING F_CONVSEDE2 25
|
||||
BEGIN
|
||||
PROMPT 44 15 " "
|
||||
FIELD CONVSEDE2
|
||||
END
|
||||
|
||||
STRING F_CONVSEDE3 25
|
||||
BEGIN
|
||||
PROMPT 44 16 " "
|
||||
FIELD CONVSEDE3
|
||||
END
|
||||
|
||||
STRING F_CONVSEDE4 25
|
||||
BEGIN
|
||||
PROMPT 44 17 " "
|
||||
FIELD CONVSEDE4
|
||||
END
|
||||
|
||||
STRING F_CONVNOTE 25
|
||||
BEGIN
|
||||
PROMPT 44 18 "Note "
|
||||
FIELD CONVNOTE
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Sezioni 2" -1 -1 78 20
|
||||
|
||||
GROUPBOX DLG_NULL 77 4
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING DLG_NULL 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Cod. sezione "
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING DLG_NULL 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. sottogruppo "
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING DLG_NULL 25
|
||||
BEGIN
|
||||
PROMPT 29 1 "Denominazione sez. "
|
||||
FLAGS "D"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING DLG_NULL 25
|
||||
BEGIN
|
||||
PROMPT 29 2 "Denominazione sot. "
|
||||
FLAGS "D"
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Parametri convoc. per sezione"
|
||||
END
|
||||
|
||||
NUMBER F_INTMINCONV 4
|
||||
BEGIN
|
||||
PROMPT 2 5 "Int. min. convoc. "
|
||||
FIELD INTMINCONV
|
||||
HELP "Intervallo minimo di convocazione in giorni (dall'ultima don.)"
|
||||
END
|
||||
|
||||
NUMBER F_INTMIN 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Int. avvisi: min. "
|
||||
FIELD INTMIN
|
||||
END
|
||||
|
||||
NUMBER F_INTMAX 4
|
||||
BEGIN
|
||||
PROMPT 2 7 " max. "
|
||||
FIELD INTMAX
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOCONV 11
|
||||
BEGIN
|
||||
PROMPT 2 8 "Tipo convocazione "
|
||||
FIELD TIPOCONV
|
||||
ITEM "D|Data fissa"
|
||||
ITEM "G|dal Giorno"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 7
|
||||
BEGIN
|
||||
PROMPT 1 10 "Parametri convoc. su punto prelievo"
|
||||
END
|
||||
|
||||
NUMBER F_GIOCARSOL 3
|
||||
BEGIN
|
||||
PROMPT 2 11 "Gio. tra cart. e soll. "
|
||||
FIELD GIOCARSOL
|
||||
HELP "Intervallo in giorni tra cartolina e primo sollecito"
|
||||
END
|
||||
|
||||
NUMBER F_GIOSOLSOL 3
|
||||
BEGIN
|
||||
PROMPT 2 12 "Gio. tra soll. e soll. "
|
||||
FIELD GIOSOLSOL
|
||||
HELP "Intervallo in giorni tra solleciti"
|
||||
END
|
||||
|
||||
NUMBER F_GIOULTSOL 3
|
||||
BEGIN
|
||||
PROMPT 2 13 "Gio. tra penult. e ult. soll. "
|
||||
FIELD GIOULTSOL
|
||||
HELP "Intervallo tra penultimo e ultimo sollecito"
|
||||
END
|
||||
|
||||
NUMBER F_GIOPERRIT 3
|
||||
BEGIN
|
||||
PROMPT 2 14 "Gio. tra chiamate per ritard. "
|
||||
FIELD GIOPERRIT
|
||||
HELP "Giorni tra le chiamate per ritardatari"
|
||||
END
|
||||
|
||||
NUMBER F_NUMMAXSOL 2
|
||||
BEGIN
|
||||
PROMPT 2 15 "Num. max di solleciti "
|
||||
FIELD NUMMAXSOL
|
||||
HELP "Numero massimo di solleciti inviabili per soggetto"
|
||||
END
|
||||
|
||||
DATE F_DATAULTCON
|
||||
BEGIN
|
||||
PROMPT 2 17 "Data ultima conv. "
|
||||
FIELD DATAULTCON
|
||||
//FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 41 8
|
||||
BEGIN
|
||||
PROMPT 37 4 "Parametri per chiusura periodica"
|
||||
END
|
||||
|
||||
NUMBER F_DONEMER 3
|
||||
BEGIN
|
||||
PROMPT 38 5 "Donazioni per passaggio a emeriti "
|
||||
FIELD DONEMER
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER F_INTESTI 2
|
||||
BEGIN
|
||||
PROMPT 38 6 "Intervallo di estinzione in anni "
|
||||
FIELD INTESTI
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 38 7 "Categorie:"
|
||||
END
|
||||
|
||||
STRING F_CATEMER 2
|
||||
BEGIN
|
||||
PROMPT 39 8 "emeriti "
|
||||
FIELD CATEMER
|
||||
FLAGS "U"
|
||||
USE CTD
|
||||
INPUT CODTAB F_CATEMER
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_CATEMER CODTAB
|
||||
OUTPUT F_DESC_CATEMER S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_DESC_CATEMER 30 20
|
||||
BEGIN
|
||||
PROMPT 56 8 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CATESTI 2
|
||||
BEGIN
|
||||
PROMPT 39 9 "estinti "
|
||||
FIELD CATESTI
|
||||
FLAGS "U"
|
||||
USE CTD
|
||||
INPUT CODTAB F_CATESTI
|
||||
COPY DISPLAY F_CATEMER
|
||||
OUTPUT F_CATESTI CODTAB
|
||||
OUTPUT F_DESC_CATESTI S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_DESC_CATESTI 30 20
|
||||
BEGIN
|
||||
PROMPT 56 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CATCANC 2
|
||||
BEGIN
|
||||
PROMPT 39 10 "cancellati "
|
||||
FIELD CATCANC
|
||||
FLAGS "U"
|
||||
USE CTD
|
||||
INPUT CODTAB F_CATCANC
|
||||
COPY DISPLAY F_CATEMER
|
||||
OUTPUT F_CATCANC CODTAB
|
||||
OUTPUT F_DESC_CATCANC S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_DESC_CATCANC 30 20
|
||||
BEGIN
|
||||
PROMPT 56 10 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
8
at/attbtcs.h
Executable file
8
at/attbtcs.h
Executable file
@ -0,0 +1,8 @@
|
||||
// tabella tipi/esiti controlli sanitari
|
||||
#define F_TABTCS_CODTAB 100
|
||||
#define F_TABTCS_DESCR 101
|
||||
#define F_TABTCS_CATCOLL 102
|
||||
#define F_TABTCS_MODSTATO 103
|
||||
#define F_TABTCS_STATO 104
|
||||
#define F_DESCR_CATCOLL 105
|
||||
#define DLG_DEL 106
|
85
at/attbtcs.uml
Executable file
85
at/attbtcs.uml
Executable file
@ -0,0 +1,85 @@
|
||||
#include "attbtcs.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tipi/Esiti controlli sanitari" -1 -1 78 18
|
||||
|
||||
STRING F_TABTCS_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
USE TCS
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABTCS_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABTCS_CODTAB CODTAB
|
||||
OUTPUT F_TABTCS_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
HELP "Inserire il codice del controllo sanitario"
|
||||
END
|
||||
|
||||
STRING F_TABTCS_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
USE TCS KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABTCS_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABTCS_CODTAB
|
||||
KEY 2
|
||||
HELP "Inserire la descrizione del controllo"
|
||||
END
|
||||
|
||||
STRING F_TABTCS_CATCOLL 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Cat.collegata "
|
||||
FIELD S7
|
||||
FLAGS "U"
|
||||
USE CTD
|
||||
INPUT CODTAB F_TABTCS_CATCOLL
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABTCS_CATCOLL CODTAB
|
||||
OUTPUT F_DESCR_CATCOLL S0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice non presente"
|
||||
END
|
||||
|
||||
STRING F_DESCR_CATCOLL 30
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TABTCS_MODSTATO 35
|
||||
BEGIN
|
||||
PROMPT 2 7 "Modifica stato"
|
||||
FIELD S6
|
||||
ITEM "N|Non modifica"
|
||||
MESSAGE CLEAR, F_TABTCS_STATO
|
||||
MESSAGE DISABLE, F_TABTCS_STATO
|
||||
ITEM "I|Idoneita'"
|
||||
MESSAGE ENABLE, F_TABTCS_STATO
|
||||
ITEM "S|Sospensione"
|
||||
MESSAGE ENABLE, F_TABTCS_STATO
|
||||
ITEM "B|Blocco (sosp. senza id. auto)"
|
||||
MESSAGE ENABLE, F_TABTCS_STATO
|
||||
ITEM "F|Fine sospensione"
|
||||
MESSAGE ENABLE, F_TABTCS_STATO
|
||||
HELP "Indicare se il controllo modifica lo stato e in che modo"
|
||||
END
|
||||
|
||||
STRING F_TABTCS_STATO 20
|
||||
BEGIN
|
||||
PROMPT 40 8 "Stato "
|
||||
FIELD S3
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
8
at/attbtdn.h
Executable file
8
at/attbtdn.h
Executable file
@ -0,0 +1,8 @@
|
||||
#define F_TABTDN_CODTAB 100
|
||||
#define F_TABTDN_DESCR 101
|
||||
#define F_TABTDN_PROCDON 102
|
||||
#define F_TABTDN_IDON1 103
|
||||
#define F_DESC_I1 104
|
||||
#define F_TABTDN_IDON2 105
|
||||
#define F_DESC_I2 106
|
||||
#define DLG_DEL 107
|
88
at/attbtdn.uml
Executable file
88
at/attbtdn.uml
Executable file
@ -0,0 +1,88 @@
|
||||
#include "attbtdn.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tipi di donazione" -1 -1 78 7
|
||||
|
||||
STRING F_TABTDN_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FIELD CODTAB
|
||||
HELP "Inserire il codice del tipo di donazione"
|
||||
USE TDN
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB F_TABTDN_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABTDN_CODTAB CODTAB
|
||||
OUTPUT F_TABTDN_DESCR S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_TABTDN_DESCR 30
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descrizione "
|
||||
FIELD S0
|
||||
HELP "Inserire la descrizione del tipo di donazione"
|
||||
USE TDN KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT S0 F_TABTDN_DESCR
|
||||
DISPLAY "Descrizione@30" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_TABTDN_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
LISTBOX F_TABTDN_PROCDON 17
|
||||
BEGIN
|
||||
PROMPT 2 5 "Procedura di donazione "
|
||||
FIELD S6
|
||||
#include "procdon.h"
|
||||
HELP "Indicare la procedura di donazione"
|
||||
END
|
||||
|
||||
STRING F_TABTDN_IDON1 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "Idoneità necessarie: 1 "
|
||||
FIELD S7
|
||||
USE IDO SELECT S6==#F_TABTDN_PROCDON
|
||||
INPUT CODTAB F_TABTDN_IDON1
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABTDN_IDON1 CODTAB
|
||||
OUTPUT F_DESC_I1 S0
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_DESC_I1 30
|
||||
BEGIN
|
||||
PROMPT 31 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TABTDN_IDON2 2
|
||||
BEGIN
|
||||
PROMPT 2 9 " 2 "
|
||||
FIELD S8
|
||||
USE IDO SELECT S6==#F_TABTDN_PROCDON
|
||||
INPUT CODTAB F_TABTDN_IDON2
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT F_TABTDN_IDON2 CODTAB
|
||||
OUTPUT F_DESC_I2 S0
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING F_DESC_I2 30
|
||||
BEGIN
|
||||
PROMPT 31 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
3
at/f97.dir
Executable file
3
at/f97.dir
Executable file
@ -0,0 +1,3 @@
|
||||
97
|
||||
1
|
||||
%medici|0|0|145|0|Medici di base AVIS|||
|
Loading…
x
Reference in New Issue
Block a user