Adeguamento alla versione definitiva dei progetti (parte seconda)
git-svn-id: svn://10.65.10.50/trunk@5715 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bb9c448584
commit
ee67f5aaae
@ -18,6 +18,7 @@
|
|||||||
// nomi dei campi
|
// nomi dei campi
|
||||||
#include "soggetti.h"
|
#include "soggetti.h"
|
||||||
#include "contsan.h"
|
#include "contsan.h"
|
||||||
|
#include "idoneita.h"
|
||||||
#include "sezioni.h"
|
#include "sezioni.h"
|
||||||
|
|
||||||
class TSbloccoSospesi : public TPrintapp
|
class TSbloccoSospesi : public TPrintapp
|
||||||
@ -25,7 +26,9 @@ class TSbloccoSospesi : public TPrintapp
|
|||||||
TMask* _msk;
|
TMask* _msk;
|
||||||
TRelation* _rel;
|
TRelation* _rel;
|
||||||
TLocalisamfile* _contsan;
|
TLocalisamfile* _contsan;
|
||||||
|
TLocalisamfile* _idoneita;
|
||||||
TRecord_array* _scontrolli;
|
TRecord_array* _scontrolli;
|
||||||
|
TRecord_array* _sidoneita;
|
||||||
int _cur;
|
int _cur;
|
||||||
int _contatore, _totale;
|
int _contatore, _totale;
|
||||||
TDate _data_sblocco; // data scadenza sospensione fino a _data_sblocco
|
TDate _data_sblocco; // data scadenza sospensione fino a _data_sblocco
|
||||||
@ -141,22 +144,63 @@ bool TSbloccoSospesi::preprocess_page(int file, int counter)
|
|||||||
_operazione = operazione;
|
_operazione = operazione;
|
||||||
if (_definitiva)
|
if (_definitiva)
|
||||||
{
|
{
|
||||||
TRectype* key = new TRectype(LF_CONTSAN);
|
if (stato == "SO" && datafine.ok() && datafine <= app()._data_sblocco)
|
||||||
long codice = recsog.get_long(SOG_CODICE);
|
{
|
||||||
key->put(CON_CODICE, codice);
|
TRectype* key = new TRectype(LF_CONTSAN);
|
||||||
int err = _scontrolli->read(key);
|
long codice = recsog.get_long(SOG_CODICE);
|
||||||
int progcon = _scontrolli->rows()+1;
|
key->put(CON_CODICE, codice);
|
||||||
TRectype& reccon = _contsan->curr();
|
int err = _scontrolli->read(key);
|
||||||
reccon.zero();
|
int progcon = _scontrolli->rows()+1;
|
||||||
reccon.put(CON_CODICE, codice);
|
TRectype& reccon = _contsan->curr();
|
||||||
reccon.put(CON_PROGCON, progcon);
|
reccon.zero();
|
||||||
reccon.put(CON_DATACON, _data_stampa);
|
reccon.put(CON_CODICE, codice);
|
||||||
reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
|
reccon.put(CON_PROGCON, progcon);
|
||||||
_scontrolli->add_row(reccon);
|
reccon.put(CON_DATACON, _data_stampa);
|
||||||
_scontrolli->rewrite();
|
reccon.put(CON_TIPOCON, FINE_SOSPENSIONE);
|
||||||
con_reord(recsog, _scontrolli);
|
_scontrolli->add_row(reccon);
|
||||||
current_cursor()->file().rewrite();
|
_scontrolli->rewrite();
|
||||||
}
|
con_reord(recsog, _scontrolli);
|
||||||
|
current_cursor()->file().rewrite();
|
||||||
|
}
|
||||||
|
if ((statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco) || (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco))
|
||||||
|
{
|
||||||
|
TRectype* key = new TRectype(LF_IDONEITA);
|
||||||
|
long codice = recsog.get_long(SOG_CODICE);
|
||||||
|
key->put(IDO_CODICE, codice);
|
||||||
|
if (statosi == "SO" && datafinesi.ok() && datafinesi <= app()._data_sblocco)
|
||||||
|
{
|
||||||
|
int err = _sidoneita->read(key);
|
||||||
|
int progido = _sidoneita->rows()+1;
|
||||||
|
TRectype& recido = _idoneita->curr();
|
||||||
|
recido.zero();
|
||||||
|
recido.put(IDO_CODICE, codice);
|
||||||
|
recido.put(IDO_PROGIDO, progido);
|
||||||
|
recido.put(IDO_DATAIDO, _data_stampa);
|
||||||
|
recido.put(IDO_IDO_SOS, "ID");
|
||||||
|
recido.put(IDO_TIPOIDO, "SI");
|
||||||
|
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTSI));
|
||||||
|
_sidoneita->add_row(recido);
|
||||||
|
_sidoneita->rewrite();
|
||||||
|
}
|
||||||
|
if (statoaf == "SO" && datafineaf.ok() && datafineaf <= app()._data_sblocco)
|
||||||
|
{
|
||||||
|
int err = _sidoneita->read(key);
|
||||||
|
int progido = _sidoneita->rows()+1;
|
||||||
|
TRectype& recido = _idoneita->curr();
|
||||||
|
recido.zero();
|
||||||
|
recido.put(IDO_CODICE, codice);
|
||||||
|
recido.put(IDO_PROGIDO, progido);
|
||||||
|
recido.put(IDO_DATAIDO, _data_stampa);
|
||||||
|
recido.put(IDO_IDO_SOS, "ID");
|
||||||
|
recido.put(IDO_TIPOIDO, "AF");
|
||||||
|
recido.put(IDO_INTERVALLO, recsog.get(SOG_INTAF));
|
||||||
|
_sidoneita->add_row(recido);
|
||||||
|
_sidoneita->rewrite();
|
||||||
|
}
|
||||||
|
ido_reord(recsog, _sidoneita);
|
||||||
|
current_cursor()->file().rewrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
// salto pagina se cambio sezione
|
// salto pagina se cambio sezione
|
||||||
const TString16 codsez = recsog.get(SOG_CODSEZ);
|
const TString16 codsez = recsog.get(SOG_CODSEZ);
|
||||||
const TString16 codsot = recsog.get(SOG_CODSOT);
|
const TString16 codsot = recsog.get(SOG_CODSOT);
|
||||||
@ -326,7 +370,9 @@ bool TSbloccoSospesi::user_create()
|
|||||||
//cursore ordinamento per sezione+sottogruppo+cognome+nome
|
//cursore ordinamento per sezione+sottogruppo+cognome+nome
|
||||||
_cur = add_cursor(new TCursor(_rel, "", 3));
|
_cur = add_cursor(new TCursor(_rel, "", 3));
|
||||||
_contsan = new TLocalisamfile(LF_CONTSAN);
|
_contsan = new TLocalisamfile(LF_CONTSAN);
|
||||||
|
_idoneita = new TLocalisamfile(LF_IDONEITA);
|
||||||
_scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON);
|
_scontrolli = new TRecord_array(LF_CONTSAN, CON_PROGCON);
|
||||||
|
_sidoneita = new TRecord_array(LF_IDONEITA, IDO_PROGIDO);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +381,9 @@ bool TSbloccoSospesi::user_destroy()
|
|||||||
delete _rel;
|
delete _rel;
|
||||||
delete _msk;
|
delete _msk;
|
||||||
delete _contsan;
|
delete _contsan;
|
||||||
|
delete _idoneita;
|
||||||
delete _scontrolli;
|
delete _scontrolli;
|
||||||
|
delete _sidoneita;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,4 +6,5 @@ bool is_idon(TString16 id1, TString16 id2, TString16 id3, TString16 id4, const c
|
|||||||
bool is_donaz(TString16 don, const char* tipo);
|
bool is_donaz(TString16 don, const char* tipo);
|
||||||
char modstato_tcs(TString16 tipo);
|
char modstato_tcs(TString16 tipo);
|
||||||
void con_reord(TRectype& soggetto, TRecord_array* controlli);
|
void con_reord(TRectype& soggetto, TRecord_array* controlli);
|
||||||
|
void ido_reord(TRectype& soggetto, TRecord_array* idoneita);
|
||||||
void don_datepross(TRectype& soggetto);
|
void don_datepross(TRectype& soggetto);
|
||||||
|
@ -4,7 +4,13 @@
|
|||||||
|
|
||||||
#include "soggetti.h"
|
#include "soggetti.h"
|
||||||
#include "contsan.h"
|
#include "contsan.h"
|
||||||
|
#include "idoneita.h"
|
||||||
|
|
||||||
|
#define IDON_SI "SI"
|
||||||
|
#define IDON_AF "AF"
|
||||||
|
#define IDONEITA "ID"
|
||||||
|
#define SOSPENSIONE "SO"
|
||||||
|
|
||||||
bool is_idon_one(TString16 idon, const char* tipo)
|
bool is_idon_one(TString16 idon, const char* tipo)
|
||||||
// verifica che l'idoneità "idon" sia del tipo "tipo"
|
// verifica che l'idoneità "idon" sia del tipo "tipo"
|
||||||
// esempio: se passo PL, AF restituisce TRUE
|
// esempio: se passo PL, AF restituisce TRUE
|
||||||
@ -127,8 +133,12 @@ void con_reord(TRectype& soggetto, TRecord_array* controlli)
|
|||||||
soggetto.put(SOG_IDON2,id2);
|
soggetto.put(SOG_IDON2,id2);
|
||||||
soggetto.put(SOG_IDON3,id3);
|
soggetto.put(SOG_IDON3,id3);
|
||||||
soggetto.put(SOG_IDON4,id4);
|
soggetto.put(SOG_IDON4,id4);
|
||||||
soggetto.put(SOG_INTSI,intsi);
|
const int intsisog = soggetto.get_int(SOG_INTSI);
|
||||||
soggetto.put(SOG_INTAF,intaf);
|
if (intsi > 0 || intsisog == 0)
|
||||||
|
soggetto.put(SOG_INTSI,intsi);
|
||||||
|
const int intafsog = soggetto.get_int(SOG_INTAF);
|
||||||
|
if (intaf > 0 || intafsog == 0)
|
||||||
|
soggetto.put(SOG_INTAF,intaf);
|
||||||
|
|
||||||
tipo = ' ';
|
tipo = ' ';
|
||||||
if (r_ultstato != -1)
|
if (r_ultstato != -1)
|
||||||
@ -166,6 +176,80 @@ void con_reord(TRectype& soggetto, TRecord_array* controlli)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ido_reord(TRectype& soggetto, TRecord_array* idoneita)
|
||||||
|
{
|
||||||
|
TDate dataido, finesos;
|
||||||
|
TString16 tipoido, ido_sos;
|
||||||
|
int intervallo;
|
||||||
|
bool fattoSI = FALSE;
|
||||||
|
bool fattoAF = FALSE;
|
||||||
|
TString16 id1 = soggetto.get(SOG_IDON1);
|
||||||
|
TString16 id2 = soggetto.get(SOG_IDON2);
|
||||||
|
TString16 id3 = soggetto.get(SOG_IDON3);
|
||||||
|
TString16 id4 = soggetto.get(SOG_IDON4);
|
||||||
|
const TDate datastato = soggetto.get_date(SOG_DATASTATO);
|
||||||
|
for (int r=idoneita->rows(); r>=1; r--)
|
||||||
|
{
|
||||||
|
const TRectype& row = idoneita->row(r);
|
||||||
|
dataido = row.get_date(IDO_DATAIDO);
|
||||||
|
if (dataido >= datastato)
|
||||||
|
{
|
||||||
|
tipoido = row.get(IDO_TIPOIDO);
|
||||||
|
ido_sos = row.get(IDO_IDO_SOS);
|
||||||
|
intervallo = row.get_int(IDO_INTERVALLO);
|
||||||
|
finesos = row.get_date(IDO_FINESOS);
|
||||||
|
if (tipoido == IDON_SI && !fattoSI)
|
||||||
|
{
|
||||||
|
fattoSI = TRUE;
|
||||||
|
soggetto.put(SOG_DATASI,dataido);
|
||||||
|
soggetto.put(SOG_STATOSI,ido_sos);
|
||||||
|
soggetto.put(SOG_FINESOSSI,finesos);
|
||||||
|
if (intervallo != 0 && ido_sos == IDONEITA)
|
||||||
|
soggetto.put(SOG_INTSI,intervallo);
|
||||||
|
// sistemare le idoneita idon1,2,3,4
|
||||||
|
}
|
||||||
|
if (tipoido == IDON_AF && !fattoAF)
|
||||||
|
{
|
||||||
|
fattoAF = TRUE;
|
||||||
|
soggetto.put(SOG_DATAAF,dataido);
|
||||||
|
soggetto.put(SOG_STATOAF,ido_sos);
|
||||||
|
soggetto.put(SOG_FINESOSAF,finesos);
|
||||||
|
if (intervallo != 0 && ido_sos == IDONEITA)
|
||||||
|
soggetto.put(SOG_INTAF,intervallo);
|
||||||
|
// sistemare le idoneita idon1,2,3,4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fattoSI || fattoAF)
|
||||||
|
{
|
||||||
|
TDate datastato = soggetto.get_date(SOG_DATASTATO);
|
||||||
|
TDate datastatosi = soggetto.get_date(SOG_DATASI);
|
||||||
|
TDate datastatoaf = soggetto.get_date(SOG_DATAAF);
|
||||||
|
if (datastato < datastatosi || datastato < datastatoaf)
|
||||||
|
{
|
||||||
|
TString16 stato = soggetto.get(SOG_STATO);
|
||||||
|
TString16 statosi = soggetto.get(SOG_STATOSI);
|
||||||
|
TString16 statoaf = soggetto.get(SOG_STATOAF);
|
||||||
|
if (statosi == SOSPENSIONE && statoaf == SOSPENSIONE)
|
||||||
|
stato = SOSPENSIONE;
|
||||||
|
else
|
||||||
|
stato = IDONEITA;
|
||||||
|
soggetto.put(SOG_STATO,stato);
|
||||||
|
don_datepross(soggetto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
soggetto.put(SOG_STATOSI," ");
|
||||||
|
soggetto.put(SOG_DATASI,NULLDATE);
|
||||||
|
soggetto.put(SOG_FINESOSSI,NULLDATE);
|
||||||
|
soggetto.put(SOG_STATOAF," ");
|
||||||
|
soggetto.put(SOG_DATAAF,NULLDATE);
|
||||||
|
soggetto.put(SOG_FINESOSAF,NULLDATE);
|
||||||
|
don_datepross(soggetto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void don_datepross(TRectype& soggetto)
|
void don_datepross(TRectype& soggetto)
|
||||||
// calcola le date di prossima donazione in base a: donazioni, stato attuale, idoneità
|
// calcola le date di prossima donazione in base a: donazioni, stato attuale, idoneità
|
||||||
{
|
{
|
||||||
|
14
at/batbmed.h
Executable file
14
at/batbmed.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/batbmed.uml
Executable file
156
at/batbmed.uml
Executable file
@ -0,0 +1,156 @@
|
|||||||
|
#include "batbmed.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 20 0 2
|
||||||
|
#include <toolbar.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
|
46
at/batbsez.h
Executable file
46
at/batbsez.h
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
// 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
|
469
at/batbsez.uml
Executable file
469
at/batbsez.uml
Executable file
@ -0,0 +1,469 @@
|
|||||||
|
#include "batbsez.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 20 0 2
|
||||||
|
#include <toolbar.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 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Dati anagrafici"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INDIRIZZO 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 5 "Indirizzo "
|
||||||
|
FIELD INDIRIZZO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_COM 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 6 "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 6 ""
|
||||||
|
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 7 "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 7 ""
|
||||||
|
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 6 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CAPCOM 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 67 7 "CAP "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CAPLOC 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 67 7 "CAP "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_TELEFONO 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Telefono "
|
||||||
|
FIELD TELEFONO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_FAX 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 32 8 "Fax "
|
||||||
|
FIELD FAX
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_REFERCED 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Referente CED "
|
||||||
|
FIELD REFERCED
|
||||||
|
END
|
||||||
|
|
||||||
|
RADIOBUTTON F_STATO 13
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Stato"
|
||||||
|
FIELD STATO
|
||||||
|
ITEM "A|Attiva"
|
||||||
|
ITEM "E|Estinta"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 25 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 16 11 "Intestazione tessere"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INTESTAZ1 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 12 ""
|
||||||
|
FIELD INTESTAZ1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INTESTAZ2 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 13 ""
|
||||||
|
FIELD INTESTAZ2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INTESTAZ3 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 14 ""
|
||||||
|
FIELD INTESTAZ3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INTESTAZ4 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 17 15 ""
|
||||||
|
FIELD INTESTAZ4
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 35 8
|
||||||
|
BEGIN
|
||||||
|
PROMPT 43 11 "Dati per stampa cartolina"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVORA 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 12 "Orario "
|
||||||
|
FIELD CONVORA
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVSEDE1 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 13 "Sede "
|
||||||
|
FIELD CONVSEDE1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVSEDE2 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 14 " "
|
||||||
|
FIELD CONVSEDE2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVSEDE3 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 15 " "
|
||||||
|
FIELD CONVSEDE3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVSEDE4 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 16 " "
|
||||||
|
FIELD CONVSEDE4
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CONVNOTE 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 17 "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 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Parametri convocazione"
|
||||||
|
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
|
||||||
|
|
||||||
|
DATE F_DATAULTCON
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Data ultima conv. "
|
||||||
|
FIELD DATAULTCON
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 35 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Parametri convocazione BO"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GIOCARSOL 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Gio. tra cart. e soll. "
|
||||||
|
FIELD GIOCARSOL
|
||||||
|
HELP "Intervallo in giorni tra cartolina e primo sollecito"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GIOSOLSOL 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "Gio. tra soll. e soll. "
|
||||||
|
FIELD GIOSOLSOL
|
||||||
|
HELP "Intervallo in giorni tra solleciti"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GIOULTSOL 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 14 "Gio. tra penult. e ult. soll. "
|
||||||
|
FIELD GIOULTSOL
|
||||||
|
HELP "Intervallo tra penultimo e ultimo sollecito"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GIOPERRIT 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 15 "Gio. tra chiamate per ritard. "
|
||||||
|
FIELD GIOPERRIT
|
||||||
|
HELP "Giorni tra le chiamate per ritardatari"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMMAXSOL 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 16 "Num. max di solleciti "
|
||||||
|
FIELD NUMMAXSOL
|
||||||
|
HELP "Numero massimo di solleciti inviabili per soggetto"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 41 8
|
||||||
|
BEGIN
|
||||||
|
PROMPT 37 4 "Parametri per chiusura fine anno"
|
||||||
|
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 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 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 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 56 10 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
11
at/idoneita.h
Executable file
11
at/idoneita.h
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
// definizione campi dell'archivio IDONEITA
|
||||||
|
|
||||||
|
#define IDO_CODICE "CODICE"
|
||||||
|
#define IDO_PROGIDO "PROGIDO"
|
||||||
|
#define IDO_DATAIDO "DATAIDO"
|
||||||
|
#define IDO_TIPOIDO "TIPOIDO"
|
||||||
|
#define IDO_IDO_SOS "IDO_SOS"
|
||||||
|
#define IDO_INTERVALLO "INTERVALLO"
|
||||||
|
#define IDO_FINESOS "FINESOS"
|
||||||
|
#define IDO_MOTIVO "MOTIVO"
|
||||||
|
#define IDO_RESPONSAB "RESPONSAB"
|
Loading…
x
Reference in New Issue
Block a user